본문으로 건너뛰기
피드

Vercel 해킹 사고 — 서드파티 AI OAuth 앱 탈취로 내부 침투, 환경변수 평문 노출

security 약 8분
vote
0
댓글
북마크

Vercel이 내부 시스템 침해를 공식 확인했다. 서드파티 AI 플랫폼 Context.ai 해킹으로 직원 Google Workspace 계정이 탈취됐고, 공격자는 'non-sensitive'로 표시돼 암호화되지 않은 환경변수를 enumerate 해 추가 접근 권한을 얻었다. 공격자는 ShinyHunters를 자처하며 직원 정보·API 키·NPM/GitHub 토큰 판매를 시도 중이다.

  • 1

    최초 침투는 Vercel 외부의 서드파티 AI 도구 Context.ai 해킹에서 시작

  • 2

    탈취된 Google Workspace OAuth 앱을 통해 직원 계정 → 내부 환경으로 권한 에스컬레이션

  • 3

    Vercel의 'non-sensitive' 플래그 환경변수는 at-rest 암호화가 안 돼 평문 노출

  • 4

    직원 580명 정보, API 키, NPM·GitHub 토큰이 판매 대상으로 공개됨

  • 5

    Next.js·Turbopack 등 오픈소스 프로젝트와 서비스 자체는 영향 없음

  • Vercel이 내부 시스템 침해 사고를 공식 확인함 — 공격자가 "ShinyHunters"를 자처하며 해킹 포럼에서 탈취 데이터를 판매 중
    • 포럼 글에는 employee accounts, 내부 deployment 접근 키, API 키(NPM 토큰·GitHub 토큰 포함) 판매 문구가 올라옴
    • 증빙으로 직원 580명의 이름/Vercel 이메일/계정 상태/활동 타임스탬프가 담긴 텍스트 파일과 내부 Enterprise 대시보드 스크린샷이 공개됨
    • 텔레그램에서는 공격자가 200만 달러 몸값 협상 중이라고 주장 (Vercel은 미확인)
  • 자칭 ShinyHunters라지만, 최근 ShinyHunters 공격에 연루된 다른 행위자들은 이번 건과 무관하다고 BleepingComputer에 부인함
    • 즉, 같은 브랜드를 쓰는 서로 다른 팀일 가능성 — 커뮤니티 내 credit 다툼 느낌
  • Vercel 서비스 자체는 영향 없음 — Next.js, Turbopack 등 오픈소스 프로젝트도 안전하다고 못박음

침투 경로 — 서드파티 AI 도구의 OAuth 앱이 첫 단추

  • CEO Guillermo Rauch가 X에서 공개한 상세: 최초 침투는 Context.ai라는 AI 플랫폼의 보안사고 경유
    • Context.ai가 뚫리면서 Vercel 직원의 Google Workspace 계정이 compromise 됨
    • 공격자는 이 계정을 발판으로 Vercel 내부 환경까지 권한을 확장함
  • 문제의 OAuth 앱 ID까지 공개됨 — 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com
    • Google Workspace 관리자라면 지금 당장 이 OAuth 앱이 승인돼 있는지 확인해보는 걸 권장
sequenceDiagram
    participant 공격자
    participant ContextAI as Context.ai(OAuth 앱)
    participant 직원계정 as Vercel 직원 Workspace 계정
    participant Vercel as Vercel 내부 환경
    공격자->>ContextAI: Context.ai 시스템 침해
    ContextAI->>직원계정: OAuth 권한 탈취
    공격자->>직원계정: Google Workspace 계정 접근
    직원계정->>Vercel: 내부 환경으로 권한 에스컬레이션
    공격자->>Vercel: non-sensitive 환경변수 enumerate
    Vercel-->>공격자: 평문 저장된 변수값 노출

핵심 실책 — "non-sensitive" 플래그 환경변수의 평문 저장

  • Rauch의 설명: 모든 고객 환경변수는 기본적으로 at-rest 암호화 되지만, 예외적으로 "non-sensitive"로 지정한 변수는 암호화되지 않음
    • 원래 의도는 "민감하지 않은 정보만 담는 칸"이라는 개발자 편의용 옵션
    • 공격자가 이 변수들을 enumerate 하면서 추가 접근 경로를 확보함
  • 즉, 개발자가 "이건 안 민감하니까" 하고 넣은 값들 중에 실제로는 민감했던 것들이 있었다는 얘기
    • 토큰 prefix, 내부 URL, API endpoint 같은 게 이런 식으로 새는 전형적인 경로
  • Vercel은 대시보드에 환경변수 오버뷰 페이지와 민감 변수 관리 UI를 업데이트해서 롤아웃함

⚠️주의

> Vercel 사용 중이라면 지금 바로 환경변수를 훑어보고, 민감할 수 있는 값은 전부 "sensitive" 플래그로 전환 + secret rotation 하는 게 안전함. "별로 안 민감한데?" 싶은 값도 다시 한 번 체크.

Vercel이 고객에게 권고한 조치

  • 환경변수 전체 감사 — 민감 정보가 non-sensitive로 섞여 있는지 점검
  • sensitive environment variable 기능 활성화로 at-rest 암호화 강제
  • 필요 시 secret rotation
  • Google Workspace 관리자는 문제의 OAuth 앱 승인 여부 확인

기술 맥락

이번 사고의 기술적 뿌리는 OAuth 기반 서드파티 통합의 확산이에요. Google Workspace에 붙이는 AI 도구들이 수십 개씩 있고, 각각이 Workspace 계정 권한 일부를 위임받아 쓰거든요. Context.ai 같은 AI 플랫폼 하나가 뚫리면, 그 OAuth 토큰으로 연결된 모든 조직의 Workspace가 도미노처럼 영향을 받는 구조예요. 그래서 이번 건의 교훈은 "내부 보안 잘 챙기는 걸로는 부족하다"는 거예요 — 써드파티 앱 카탈로그를 주기적으로 정리하고, 불필요한 OAuth 승인은 즉시 회수해야 해요.

두 번째 포인트는 at-rest encryption 디폴트의 중요성이에요. Vercel은 환경변수를 기본적으로 암호화하지만, 개발자 편의를 위해 "이건 민감하지 않음" 옵션을 뒀거든요. 이런 opt-out 형태의 보안 옵션은 늘 위험해요. 개발자는 급할 때 "뭐 이건 괜찮겠지" 하면서 체크하는데, 실제로 공격자 관점에서는 URL·endpoint·토큰 prefix 조각조각이 다 유용한 정찰 정보예요. 그래서 요즘은 "secret은 무조건 암호화, 비밀 아닌 것만 명시적으로 public으로 표시" 하는 allow-list 방식이 권장돼요.

마지막으로 권한 에스컬레이션 방지가 핵심이에요. Workspace 계정 하나가 뚫린 것만으로 프로덕션 환경까지 들어갔다는 건, 내부 접근 권한이 수평적으로 너무 넓게 퍼져 있었다는 뜻이거든요. zero-trust 관점에서는 개별 엔지니어 계정이 프로덕션 secret을 직접 볼 수 있으면 안 되고, 꼭 필요할 때만 just-in-time으로 임시 권한을 부여해야 해요. 이번 사고처럼 하나 뚫리면 전체가 위험해지는 걸 막으려면요.

OAuth로 연결된 서드파티 AI 도구 하나가 뚫리면 연결된 모든 조직이 도미노로 당한다는 걸 보여준 사례. '별로 민감하지 않다'고 표시한 환경변수도 공격자 관점에서는 훌륭한 정찰 자료라는 점이 핵심 교훈.

댓글

댓글

댓글을 불러오는 중...

security

엘에이 경찰, 사생활 침해 논란 끝에 플록 번호판 감시 계약 종료

엘에이 경찰이 번호판 인식 카메라 업체 플록 세이프티와의 3년 계약을 연장하지 않기로 했어. 시민권, 프라이버시, 데이터 보관과 공유 문제를 해결하지 못했다는 게 핵심 이유야. 플록은 미국 전역에 최소 8만 대 카메라망을 깔아 경찰과 연방기관이 차량을 추적할 수 있게 해왔고, 오탐·보안 사고·이민 단속 악용 의혹까지 겹치며 압박이 커졌어.

security

크로미움 148부터 Math.tanh 한 번으로 운영체제 지문이 새는 문제

크로미움 148 이후 V8이 Math.tanh 계산을 자체 구현 대신 운영체제의 수학 라이브러리에 맡기면서, 같은 입력값도 리눅스·맥·윈도우에서 마지막 비트가 달라지는 지문 신호가 생겼다. 이 차이는 User-Agent로 맥이라고 주장하면서 리눅스 수학 결과를 내는 식의 위장을 바로 들키게 만든다. CSS 삼각함수와 웹 오디오까지 보면 브라우저 수학 경로가 꽤 복잡하게 갈라지고, 제대로 흉내 내려면 실제 운영체제 라이브러리의 비트 단위 동작까지 맞춰야 한다.

security

출입통제도 클라우드 구독제로 간다…제로트러스트·AI 분석이 승부처

기업 출입보안이 사업장별 서버를 두는 방식에서 클라우드 기반 서비스형 출입통제(ACaaS)로 옮겨가고 있다. 시장은 2026년 17억8000만 달러에서 2030년 31억9000만 달러로 커질 전망이고, 제로트러스트·모바일 인증·AI 출입 분석·스마트빌딩 통합이 핵심 경쟁 포인트로 꼽힌다.

security

AWS·구글 클라우드, 양자컴퓨터 대비해 암호 체계 갈아엎는 중

AWS와 구글 클라우드가 양자컴퓨터 시대를 대비해 기존 공개키 암호와 양자내성암호를 함께 쓰는 하이브리드 전환을 시작했다. 핵심 배경은 지금 훔친 암호문을 나중에 양자컴퓨터로 푸는 ‘선수집·후해독’ 공격이고, 국내도 통신·금융·국방 등 5개 분야에 45억원을 투입해 실증에 들어간다.

security

보안 점검 맡긴 AI 에이전트가 악성코드를 직접 실행할 수 있다는 경고

AI 보안 에이전트가 저장소를 검사하다가 README 같은 문서에 숨은 프롬프트 인젝션에 속아 악성 바이너리를 실행할 수 있다는 연구가 나왔다. 클로드 코드와 코덱스의 자동 모드처럼 승인 없이 명령을 수행하는 구성에서 문제가 재현됐고, 여러 모델과 공급업체를 가로질러 같은 패턴이 통했다는 점이 핵심이다.