Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vercel-april2026-incident-response — 이것은 Vercel April 2026 compromise 사건을 위해 우리가 만든 사고 대응 플레이북입니다. | Kitploit
도구/GitHubGitHub/opensourcemalware/vercel-april2026-incident-response
Indicator of Compromise (IOC) ManagementDigital ForensicsCloud SecurityThreat IntelligenceSupply Chain SecurityIncident Response
GitHubopensourcemalware/vercel-april2026-incident-response

vercel-april2026-incident-response

이것은 Vercel April 2026 compromise 사건을 위해 우리가 만든 사고 대응 플레이북입니다.

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기
323145개월 전Kitploit 검토 완료

Vercel 2026년 4월 보안 사고 대응 가이드

최종 업데이트: 2026년 4월 20일 오후 12:07 AEST/브리즈번 - (v2 — Vercel CEO 4월 20일 업데이트 반영)

중요: 이 문서는 법적 또는 공식적인 조언이 아닙니다. 침해를 당했다고 생각되면 사고 대응 파트너에게 연락하시기 바랍니다. 이 정보는 OpenSourceMalware 팀이 선의로 제공하는 것입니다. 사고 대응 회사에 대한 소개가 필요하시면 저희가 함께 일해본 몇 곳을 추천해 드릴 수 있습니다.


무슨 일이 일어났나?

Vercel은 2026년 4월 19일, 공격자가 내부 시스템에 무단 접근했다고 공개했습니다. 공식 발표는 다음과 같습니다:

Vercel 보안 발표

4월 20일, Vercel CEO Guillermo Rauch는 초기 침입 경로를 확인하는 상세 업데이트를 발표했습니다: Vercel 직원이 Context.ai라는 AI 플랫폼을 사용했고, 이 플랫폼 자체가 침해되었습니다. 공격자는 그곳에서 직원의 Google Workspace 계정으로 이동하여 Vercel 환경으로 확대되었습니다. 환경 변수는 저장 시 암호화되어 있지만, 공격자는 "민감"으로 표시되지 않은 변수를 열거할 수 있었습니다. Vercel은 공격자를 고도로 정교하고 AI가 크게 가속화된 것으로 특징지었습니다. Google Mandiant가 대응에 참여하고 있습니다. Vercel은 Next.js, Turbopack 및 오픈 소스 프로젝트는 안전하다고 밝혔습니다.

다음은 해당 보안 권고에서 중요한 침해 지표 섹션입니다:

Vercel IOC 정보

세부 사항이 거의 없습니다. 그 하나뿐인 Google IOC를 어디서 확인해야 하는지조차 알려주지 않습니다. Vercel 고객으로서 저는 이 수준의 세부 정보에 상당히 실망했습니다. 무엇을 찾아야 하는지 이해할 수 있도록 도와주세요! 침해를 당했는지 여부를 알기 위해 어디로 가야 하는지 알려주세요!

Vercel의 세부 정보 부족으로 인해 이 문서를 만들었습니다

Vercel에서 워크로드를 실행 중이라면, 반증이 있을 때까지 다음을 가정하십시오:

  1. 노출 기간 내에 Vercel 프로젝트에서 "민감"으로 표시되지 않은 환경 변수는 읽을 수 있었을 수 있습니다.
  2. 대시보드 또는 vercel env CLI를 통해 Vercel에 푸시된 자격 증명 중 교체되지 않은 것은 지속적인 위험입니다.
  3. Vercel ↔ GitHub 및 Vercel ↔ Linear 통합 경로 내의 토큰에 접근할 수 있었을 수 있습니다.
  4. "영향을 받았습니다 / 받지 않았습니다"라는 깔끔한 신호를 빨리 받지 못할 것입니다. 먼저 교체한 후 조사하십시오.

알려진 사실 vs. 주장된 사실: 브리핑에서 이를 분리하십시오

이 구분은 경영진 커뮤니케이션과 과잉 대응(또는 과소 대응)을 피하기 위해 중요합니다.

Vercel이 확인한 사항 (게시판 + 4월 20일 CEO 업데이트)

  • 특정 Vercel 내부 시스템에 대한 무단 접근.
  • 초기 침입 경로: Context.ai — Vercel 직원이 사용한 AI 플랫폼이 침해되었습니다. 공격자는 이 발판을 이용하여 직원의 Vercel Google Workspace 계정을 손상시킨 후 Vercel 환경으로 확대되었습니다.
  • 고객 환경 변수는 저장 시 암호화됩니다. "비민감"으로 지정된 변수는 공격자가 내부에 진입한 후에도 열거할 수 있었습니다.
  • 고객 영향은 "상당히 제한적"이라고 특징지어졌습니다. Vercel은 우려되는 고객에게 직접 연락했습니다.
  • Next.js, Turbopack 및 Vercel의 오픈 소스 프로젝트는 분석되었으며 안전한 것으로 믿어집니다 (즉, Vercel의 4월 20일 성명 기준으로 해당 프로젝트의 릴리스 경로에 악성 아티팩트가 없음).
  • 공격자는 고도로 정교하고 AI가 크게 가속화된 것으로 특징지어졌습니다.
  • 대응 파트너: Google Mandiant가 적극적으로 참여하고 있습니다. 외부 IR 회사, 업계 동료 및 법 집행 기관도 관련되어 있습니다.
  • Vercel은 전체 범위를 이해하기 위해 Context.ai에 연락했습니다.
  • Vercel은 UI 개선 사항을 출시했습니다: 환경 변수 개요 페이지, 향상된 민감 환경 변수 관리.

제3자 및 공격자가 보고/주장한 사항 (Vercel이 확인하지 않음)

  • Linear 및 GitHub 통합이 불균형적으로 영향을 받음 (커뮤니티 보고, 특히 X의 Theo Browne).
  • BreachForums에 판매 목록으로 게시된 데이터: 내부 DB, 직원 계정, GitHub 토큰, npm 토큰, 소스 코드 조각, 활동 타임스탬프 — 약 $2M에 제안.
  • 행위자는 자신을 ShinyHunters라고 밝힘; 역사적으로 그 별명과 관련된 다른 행위자들은 관여를 부인함.
  • Vercel이 고객과 직접 확인한 것 이상의 특정 고객 데이터 클래스 유출.

확인되지 않은 보고는 자체 분류를 위해 그럴듯하고 실행 가능한 것으로 취급하되, Vercel이 확인하거나 독립적인 증거를 확보할 때까지 고객 또는 규제 기관 커뮤니케이션에서 사실로 인용하지 마십시오. "열거 가능한 환경 변수"(Rauch 확인)와 "BreachForums에서 판매 중인 npm + GitHub 토큰"(공격자 주장) 사이의 격차가 공급망 위험에 가장 중요한 격차입니다. 교체 목적으로는 최악을 가정하고, 커뮤니케이션을 위해서는 확인된 버전을 고수하십시오.


범위 지정: 이 플레이북을 실행해야 하는 사람

최고 시급 — Vercel로부터 직접 연락을 받았거나, 다음 중 하나라도 해당되는 경우:

  • Vercel ↔ GitHub 통합이 있고 리포지토리 쓰기 범위가 있는 경우.
  • Vercel ↔ Linear 통합이 있거나 있었던 경우.
  • 암호화되지 않은 비밀(민감으로 표시되지 않음)을 Vercel 환경 변수로 저장하는 경우.
  • Vercel 인프라를 통해 또는 통해 실행되는 CI/CD에서 npm 패키지를 게시하는 경우.

표준 시급 — 마케팅 사이트라도 활성 Vercel 프로젝트가 있는 모든 팀. 마케팅 사이트에는 종종 더 민감한 시스템으로 피벗할 수 있는 CMS API 키, 분석 토큰 및 양식 처리 웹훅이 포함됩니다.

그래도 수행 — 사고 이전에 프로젝트가 삭제된 경우에도 마찬가지입니다. 중요한 것은 비밀이 읽을 수 있는 형태로 Vercel에 존재했는지 여부이지, 프로젝트가 여전히 있는지 여부가 아닙니다.

병렬 질문: 귀사 조직이 Context.ai에 직접 노출되었습니까?

4월 20일 업데이트는 Context.ai를 침해된 업스트림 공급업체로 지목합니다. 귀사 조직의 누군가가 Vercel 사고와 별개로 Context.ai를 독립적으로 사용하는 경우 — 회의 인텔리전스, 지식 관리, CRM 강화 또는 기타 워크플로우 — Vercel 사고와는 별개의 직접적인 노출 기간이 있을 수 있습니다.

다음 확인을 병렬로 수행하십시오:

  • SSO / IdP(Okta, Entra, Google Workspace)에서 Context.ai 또는 Context 관련 OAuth 앱에 인증한 사용자가 있는지 쿼리합니다.
  • Google Workspace 관리 콘솔 → 보안 → OAuth 앱 액세스 로그에서 context.ai 또는 관련 앱 ID를 검색합니다.
  • 기업 비용 / SaaS 지출 관리 도구에서 Context.ai 구독을 확인합니다.
  • 부여된 OAuth 범위를 검토합니다 — Gmail 읽기, 캘린더, 드라이브 및 Workspace 디렉터리 범위는 영향이 큽니다.

환경에서 Context.ai 사용을 발견한 경우 OAuth 권한을 취소하고, Context.ai 워크플로우를 통과한 모든 자격 증명을 교체하며, Vercel이 직원 계정에서 본 것과 동일한 침해 지표에 대해 영향을 받은 사용자의 Google Workspace 계정을 모니터링합니다. 자체 사고 세부 정보를 위해 Context.ai에 직접 연락하십시오. Vercel은 다른 영향을 받은 조직을 돕기 위해 Context와 조정 중이라고 공개적으로 밝혔습니다.


0단계: 피해 확산 중지 (처음 60분)

두 가지 목표: 새로운 피해 방지, 증거 보존.

  1. 배포 중단. 프로덕션 브랜치에서 자동 배포를 일시 중지합니다. 공격자가 수정한 빌드가 배포되는 것을 방지하고 감사 로그가 변동하는 것을 중지하려는 것입니다.

  2. Vercel의 GitHub App 비활성화. Vercel GitHub App이 설치되어 있는 경우입니다. GitHub에 새 코드를 푸시할 때 Vercel에 자동 배포를 하는 경우에 해당합니다. 설치된 GitHub 앱은 https://github.com/organizations/<GitHub-Organization>/settings/installations에서 찾을 수 있습니다.

    Vercel GitHub App 비활성화

  3. GitHub App이 가진 액세스 권한 식별. 위의 구성 버튼을 클릭하고 Vercel 앱이 액세스 권한이 있는 리포지토리를 감사합니다. 이는 지금 집중해야 할 대상을 알려줍니다. GitHub → 조직 → 설정 → GitHub Apps → Vercel로 이동합니다. 다음을 검토하십시오:

    • 리포지토리 액세스 (모든 리포 vs. 선택된 리포)
    • 부여된 권한
    • 설치 날짜 및 설치한 사람

GitHub 리포지토리 액세스

  1. Vercel 감사 로그 스냅샷을 팀에 대해 생성합니다. 즉시 내보내거나 화면 캡처합니다. 보존 기간이 제한되어 있고 UI가 모든 것을 노출하지는 않습니다. 로그를 오염시킬 변경을 시작하기 전에 수행하십시오. https://vercel.com/activity-log에서 찾을 수 있습니다.
  2. "Observability Plus" 활성화. 이는 Vercel의 추가 유료 기능이며, 활성화하고 비용을 지불하라고 제안해야 한다는 점이 안타깝지만, 사고 대응 중에는 최선의 방법이라고 생각합니다. 물론 기분 좋은 일은 아니지만, 기본값보다 훨씬 긴 감사 로그를 저장하기 때문에 활성화했습니다. 기본값은 매우 짧습니다.
  3. 노출 범위 인벤토리 작성. 제어하는 모든 Vercel 팀/계정에 대해 다음을 나열합니다:
    • 프로젝트 및 연결된 Git 리포
    • 연결된 통합 (GitHub App, Linear, Slack, 마켓플레이스 통합)
    • 팀 구성원 및 해당 역할
    • 팀에서 발급한 개인 액세스 토큰 / API 토큰
    • 배포 훅
  4. GitHub 조직 감사 로그 검토. 노출 기간(보수적으로 2026년 4월 1일~15일부터 현재까지)을 찾습니다. 다음을 필터링합니다:
    • repo.add_member, repo.add_topic
    • org.invite_member, org.add_member
    • integration_installation, integration_installation.repositories_added
    • protected_branch.destroy, protected_branch.update
    • git.ref.force_push 또는 푸시 이벤트의 강제 푸시 플래그
    • 새로운 배포 키, 새로운 웹훅, 새로운 Actions 시크릿 또는 변수
    • 조직 구성원이 생성한 새로운 PAT, 새로운 세분화된 토큰
    • oauth_access.create, oauth_authorization.create
  5. "크라운 주얼" 환경 변수 식별. 공격자가 피벗할 수 있게 하는 모든 것을 표시합니다: 결제 처리기 키, DB URL, 인증 비밀, 클라우드 제공업체 키(AWS/GCP/Azure), 타사 SaaS에 대한 관리자 API 키.
  6. 추적 티켓 / 인시던트 채널 열기. 결국 영향을 받지 않은 것으로 밝혀지더라도 플레이북을 실행했다는 증거를 갖는 것은 가치가 있습니다.

아직 발표를 하거나 비밀을 교체하지 마십시오. 먼저 스냅샷이 필요합니다.


1단계: 침해 지표(IOC) 확인

Vercel 발표의 세부 정보는 상당히 부족합니다:

Vercel IOC 목록

최선의 추측으로는 Google Workspace 관리 콘솔로 이동하여 이 googleusercontent.com 앱을 찾으라는 의미입니다. 콘솔에서 찾는 방법은 다음과 같습니다:

  1. Workspace 관리 콘솔에서 보안 > 액세스 및 데이터 제어 > API 제어로 이동하여 액세스된 앱 및 보류 중인 앱을 찾습니다.

    Vercel Google 권한

  2. 그런 다음 다른 목록에서 IOC로 보이는 oauth 앱을 찾습니다: 110671459871-30f1spbu0hptbs60cb4vsmv79i7bbvqj.apps.googleusercontent.com

    Google 나쁜 앱 목록

  3. 찾으면 즉시 제거하고 사고 대응 파트너에게 문의하십시오. 이는 제 역량을 벗어납니다.


2단계: 자격 증명 교체

교체는 단일 최고 가치 조치입니다. 우선 순위에 따라 수행하여 중단되더라도 가장 위험한 부분이 처리되도록 하십시오.

교체해야 할 항목은 GitHub 및 Vercel 환경에 노출된 내용에 따라 다릅니다. GitHub PAT 등부터 시작하여 이 가이드를 사용하여 외부로 작업하십시오.

우선 순위 계층

계층 0 — 오늘, 다른 모든 것보다 먼저 교체:

도구 다운로드