
Mini Shai-Hulud npm 공급망 웜(CVE-2026-45321)을 위한 원커맨드 스캐너. 토큰을 교체하기 전에 탐지하세요.
Mini Shai-Hulud npm 공급망 공격(CVE-2026-45321, CVSS 9.6)을 위한 원커맨드 스캐너입니다.
이 웜은 자격 증명이 철회되는 것을 감지하면 rm -rf ~를 실행하는 지속성 데몬(gh-token-monitor)을 설치합니다. 데몬이 제거되었는지 확인하기 전에는 GitHub PAT나 npm 토큰을 교체하지 마세요. 탐지 → 데몬 제거 → 그다음에 교체하세요.
curl -fsSL https://raw.githubusercontent.com/prashanthnataraj/mini-shai-hulud-detector/main/shai-hulud-detector.sh | bash
또는 먼저 다운로드하여 검토하세요(셸로 파이프하는 모든 스크립트에 권장):
curl -fsSL https://raw.githubusercontent.com/prashanthnataraj/mini-shai-hulud-detector/main/shai-hulud-detector.sh -o shai-hulud-detector.sh
# Read it. Then:
bash shai-hulud-detector.sh
| 코드 | 판정 |
|---|---|
0 | CLEAN — 발견된 지표 없음 |
1 | SUSPICIOUS — 수동 검토 필요 |
2 | INFECTED — 복구 순서를 정확히 따르세요(스크립트 출력 참조) |
package-lock.json이 없으면 설계상 SUSPICIOUS를 반환합니다 —npm install후 스캔을 실행하세요.
npm install, npm uninstall, git push를 실행하지 마세요.rm -rf node_modules && npm install --ignore-scripts..npmrc에 추가하세요:
ignore-scripts=true
minimum-release-age=4320
모든 GitHub Actions를 버전 태그가 아닌 전체 커밋 SHA로 고정하세요.
Lume AI 팀이 2026년 5월에 실제 CVE-2026-45321 공격을 경험한 후 작성되었습니다. 이 스크립트는 읽기 전용입니다 — 다운로드 후 네트워크 호출이 없으며, 디스크에 기록하지 않습니다. 실행하기 전에 소스를 검토하세요.
MIT — LICENSE 참조.
| 단계 | 검사 내용 |
|---|
| 1 | package-lock.json 내 @tanstack/setup 유령 패키지 |
| 2 | 알려진 악성 페이로드 파일(router_init.js, tanstack_runner.js) |
| 3 | 알려진 악성 목록과 대조한 페이로드 SHA-256 해시 |
| 4 | gh-token-monitor 지속성 데몬(LaunchAgent / systemd / pgrep) |
| 5 | ~/.claude/settings.json 내 예상치 못한 PreToolUse / PostToolUse 훅 |
| 6 | .github/workflows 내 pull_request_target 트리거 및 고정되지 않은 액션 참조 |