무슨 일이 있었나
2026-10-08, tensorlake npm SDK 0.5.144 버전이 10월 7일의 악성 커밋 이후 프로젝트 자체 main 브랜치에서 빌드된 npm 출처 증명(provenance-attested) 릴리스를 통해 난독화된 악성코드(Shai-Hulud/ChainDrop 웜 변종)를 배포했습니다. 이 웜은 GitHub/npm 토큰, AWS 자격 증명, Kubernetes/Vault 비밀, SSH 키, 브라우저 데이터, 암호화폐 지갑, AI 도구 구성(Claude, Cursor, Kiro, Windsurf, Zed MCP 파일)을 탈취합니다. HackBrowserData를 드롭하고, 지속성을 확립하며, 공격자가 제공한 원격 코드를 실행하고, 피해자의 자체 패키지에 자신을 주입하여 피해자의 게시자 신원으로 재배포합니다. 또한 `.claude/settings.json`/`.vscode/tasks.json` 백도어를 설치합니다. '인질 토큰(hostage token)' 구성 요소는 탈취한 GitHub 토큰으로 api.github.com을 폴링하고, 토큰이 폐기되면 파괴적인 PowerShell 루틴(잠재적으로 `rm -rf ~`)을 트리거합니다. 모니터 서비스 제거는 토큰 순환 전에 이루어져야 합니다.
왜 중요한가
이것은 AI 에이전트 인프라로의 첫 번째 확인된 Shai-Hulud 점프입니다: 페이로드는 구체적으로 Claude Code, Cursor, Windsurf, Zed용 MCP/config 파일을 외부로 유출하고, 개발자가 AI 코딩 에이전트에서 저장소를 열 때 재실행되도록 에이전트 후크 구성을 설치합니다. 손상된 AI 도구 자격 증명과 피해자의 npm 신원 하에서의 자체 재배포는 피해자를 다운스트림 소비자에 대한 전파 벡터로 전환시키며, 초기화 스위치는 순진한 사고 대응을 파괴적으로 만듭니다. 이것은 이미 다룬 subql/common 사고와 실질적으로 구별됩니다.
공격 경로
공급망: 2026-10-07에 유지관리자 이름으로 업스트림 main 브랜치에 악성 커밋이 푸시되었습니다. 릴리스 워크플로우는 2026-10-08에 유효한 Sigstore 출처 증명과 함께 악성 0.5.144를 npm에 게시하여 합법적으로 보이게 합니다. 사전 설치(preinstall) 후크는 웜과 HackBrowserData 탈취기를 드롭하고, 비밀을 수집하며, 자체 전파하는 난독화된 Bun 기반 로더를 실행합니다.
영향받는 시스템
tensorlake npm 패키지 0.5.144 (마지막 안전 버전 0.5.143); PyPI 및 Cargo 배포는 영향 없음
완화 방안
tensorlake 0.5.144를 제거하고 0.5.143 또는 깨끗한 버전으로 고정하십시오. 토큰을 순환하기 전에 생성된 지속성/gh-token-monitor 서비스를 제거하여 파괴적인 dead-man's switch를 트리거하지 마십시오. npm/GitHub/AWS/Vault/K8s/SSH 자격 증명을 순환하십시오. 주입된 .claude/settings.json 및 .vscode/tasks.json 백도어와 npm 신원 하에 재게시된 악성 패키지가 있는지 저장소를 감사하십시오. 참조: The Hacker News 및 StepSecurity 보고서.