TanStack npm 공급망 공격 전말 — 자격증명 교체 필수

공격 개요

2026년 5월 11일 19:20~19:26 UTC, 약 6분 만에 공격자가 42개의 @tanstack/* npm 패키지에 악성 버전 84개를 게시했다. npm 토큰은 탈취되지 않았고, 공격 경로는 GitHub Actions였다. 외부 보안 연구자 ashishkurmi가 20분 만에 탐지했으며, 영향받은 버전은 모두 deprecated 처리됐다.

세 가지 취약점의 연계

Pwn Request 패턴: pull_request_target 이벤트를 악용해 포크 PR에서 베이스 저장소의 시크릿에 접근했다.

캐시 포이즈닝: 포크와 베이스 저장소 간 신뢰 경계를 넘어 GitHub Actions 캐시를 오염시켰다.

OIDC 토큰 추출: Actions 러너 프로세스 메모리에서 실행 중인 OIDC 토큰을 런타임에 추출했다.

악성 코드 동작

npm install 또는 pnpm install 실행 시 악성 패키지의 prepare 라이프사이클 스크립트가 약 2.3MB 난독화 파일을 실행한다. AWS IMDS/Secrets Manager, GCP 메타데이터, Kubernetes, Vault, GitHub 토큰, SSH 개인키 등을 수집한 뒤 Session/Oxen 메신저 네트워크를 통해 E2E 암호화로 유출한다.

안전한 패키지

@tanstack/query*, @tanstack/table*, @tanstack/form*, @tanstack/virtual*, @tanstack/store, @tanstack/start는 영향받지 않았다.

즉시 조치 사항

2026년 5월 11일 영향받은 버전을 설치했다면 AWS, GCP, Kubernetes, Vault, GitHub, npm, SSH 자격증명을 즉시 교체해야 한다. GitHub Security Advisory: GHSA-g7cv-rxg3-hmpx.