Vercel + Lovable 침해 사고: AI 도구가 어떻게 Web3의 새로운 공급망 리스크가 되었나
2026년 4월의 단 한 주 동안, 겉보기에 서로 관련 없어 보이는 두 건의 SaaS 보안 사고가 발생하여 모든 Web3 팀의 위협 모델을 재설정해야 하는 상황이 벌어졌습니다. 수천 개의 지갑 UI와 dApp 프론트엔드가 실행되는 배포 플랫폼인 Vercel은, 공격자가 Context.ai라는 침해된 AI 생산성 도구를 통해 자사 환경으로 침투했다고 밝혔습니다. 며칠 후, 바이브 코딩(vibe-coding) 플랫폼인 Lovable은 수정되지 않은 권한 부여 버그를 통해 2025년 11월 이전의 수천 개 프로젝트에서 소스 코드, 데이터베이스 자격 증명, AI 채팅 내역을 유출한 사실이 드러났습니다. 두 사례는 인프라를 공유하지 않지만, 더 심각한 공통점이 있습니다. 바로 동일한 확산 패턴입니다. AI 도구가 개발자 툴체인 내에서 조용히 특권 계정(privileged identities)이 되었고, Web3는 그 위험을 제대로 평가하지 못한 채 고스란히 떠안게 되었습니다.
스마트 컨트랙트 감사, 멀티시그 거버넌스, 하드웨어 지갑 서명 등 그 어떤 방어책 도 공격자가 사용자 트랜잭션 승인 UI를 배포하는 빌드 파이프라인을 침해할 때 사용하는 경로를 막아주지 못합니다. 2026년 4월의 사건들은 이러한 공백을 극명하게 보여주었습니다. 업계가 이를 경종으로 받아들일지, 아니면 또 다른 어쩔 수 없는 손실로 치부할지는 다음 분기의 행보에 달려 있습니다.
Vercel-Context 체인: 단 한 번의 OAuth 클릭으로 수백 개의 프론트엔드가 뚫리다
Vercel의 2026년 4월 19일 사고 보고서는 OAuth 오남용의 전형적인 사례를 보여줍니다. 공격은 Vercel에서 시작되지 않았습니다. 수개월 전인 2026년 2월, 한 Context.ai 직원이 Lumma Stealer가 포함된 Roblox 치트를 설치하여 Google Workspace 자격 증명과 Supabase, Datadog, Authkit의 시크릿을 분실하면서 시작되었습니다.
이것만으로는 흔한 자격 증명 탈취 사례에 불과합니다. 하지만 이를 다수 조직에 걸친 공급망 공격으로 만든 것은 OAuth의 권한 범위(scope)였습니다. 최소 한 명 이상의 Vercel 직원이 이전에 Vercel 기업용 Google 계정을 사용하여 Context.ai의 "AI 오피스 스위트"에 가입하면서 "모두 허용(Allow All)"을 클릭했습니다. 이로 인해 Context.ai는 Vercel의 Google Workspace에 대해 지속적이고 광범위한 권한을 부여받았습니다. 공격자가 Context.ai의 OAuth 앱을 장악했을 때, 그 신뢰 관계는 자동으로 상속되었습니다. 거기서부터 공격자는 해당 직원의 Vercel 워크스페이스 계정으로 침투한 뒤, Vercel 환경 내부에서 민감하지 않은 환경 변수들을 열거하고 복호화했습니다.
ShinyHunters라는 이름의 위협 행위자는 탈취한 데이터베이스를 BreachForums에 200만 달러에 판매한다고 게시했습니다. Vercel은 "민감함(sensitive)"으로 표시된 변수들은 암호화된 상태로 유지되었으며 읽히지 않았다고 주장합니다. 하지만 이 차이점보다 더 중요한 질문은 이것입니다. Vercel에 배포하는 Web3 프로젝트 중 얼마나 많은 곳이 실제로 RPC 키, API 토큰, 인덱서 시크릿을 민감함으로 표시했을까요? 자격 증명을 서둘러 교체하려는 움직임으로 미루어 볼 때, 정답은 "모두는 아니다"였습니다.
Solana DEX인 Orca는 자사 프론트엔드가 Vercel에서 실행됨을 확인하고 예방 차 원에서 모든 배포 자격 증명을 교체했습니다. Cork Protocol의 CTO는 프로젝트들이 자격 증명을 교체할 시간을 가질 때까지 Vercel에서 호스팅되는 DeFi 앱과의 상호작용을 중단할 것을 사용자들에게 공개적으로 촉구했습니다. 온체인 프로토콜과 사용자 자산은 직접적인 영향을 받지 않았지만, 침해된 Vercel 배포 환경에서 연결된 지갑으로 전달되는 악성 "무제한 승인(approve unlimited)" 트랜잭션으로 이어지는 경로는 스마트 컨트랙트 감사를 통과하지 않습니다. 이는 Web3가 구축한 모든 방어 체계를 우회합니다.
왜 "프론트엔드 보안"은 Web3가 감사를 잊은 계층인가?
지난 5년 동안 암호화폐 보안의 지배적인 내러티브는 "스마트 컨트랙트가 자금을 보유하므로 스마트 컨트랙트를 감사하라"는 것이었습니다. 이는 DeFi 규모가 작고 프론트엔드가 IPFS의 단순한 정적 페이지였을 때는 타당했습니다. 하지만 오늘날의 업계 상황은 다릅니다. 지갑 UI는 Vercel, Netlify, Cloudflare Pages, AWS Amplify에서 배포되며, 서명 페이로드는 CDN을 통해 전달되는 JavaScript로 구성됩니다. 단 하나의 악성 번들만으로도 TLS 보안을 깨지 않고 사용자의 자산을 갈취할 수 있습니다.
Web3 프론트엔드 침해의 역사는 짧지만, 그 피해액은 시사하는 바가 큽니다.
- 2022년 8월, Slope Wallet: 잘못 설정된 Sentry 통합으로 인해 Slope 모바일 지갑 사용자의 개인키 정보가 애플리케이션 모니터링 서비스로 조용히 전송되었습니다. 공격자는 약 4시간 만에 9,231개의 지갑에서 410만 달러를 탈취했습니다. "취약점"은 과도한 권한을 가진 일상적인 텔레메트리 도구였습니다. 이는 정확히 OAuth 오남용 패턴과 일치합니다.
- 2023년 12월, Ledger Connect Kit: 전직 Ledger 직원이 NPM 세션 토큰을 피싱당하여 2FA(2단계 인증)가 우회되었습니다. 공격자는 @ledgerhq/connect-kit 1.1.5~1.1.7 버전에 악성 지갑 탈취 페이로드를 삽입하여 배포했습니다. 이 패키지는 5시간 동안 노출되었고 2시간 동안 활발히 자금을 탈취했으며, 100개 이상의 dApp 프론트엔드에 영향을 미쳤습니다. 약 60만 달러가 도난당했으며, 누군가 빠르게 발견했기에 망정이지 피해는 더 커질 수 있었습니다.
- 2024년 July, Squarespace DNS 하이재킹: Squarespace의 도메인 계정 생성 마이그레이션 결함으로 인해 공격자가 이메일 인증 없이 Google 도메인에서 이전된 도메인의 관리자 이메일을 등록할 수 있었습니다. Compound와 Celer Network 프론트엔드가 지갑 탈취 사이트로 리다이렉트되었습니다. Decrypt의 보도