
머신에서 Mini Shai-Hulud (CVE-2026-45321) 공급망 웜 IOCs를 스캔하는 Claude Code 스킬
Claude Code 스킬로, Mini Shai-Hulud 공급망 웜(CVE-2026-45321, CVSS 9.6)의 침해 지표(IOC)를 머신에서 스캔합니다.
2026년 5월 11일에 @tanstack/*, @mistralai/*, @uipath/*, @opensearch-project/* 등 170개 이상의 npm/PyPI 패키지를 손상시킨 자가 전파형 공급망 웜입니다. 자격 증명을 탈취하고, 개발자 도구를 통해 지속되며, 제거 전에 토큰을 해지하면 홈 디렉터리를 초기화하는 데드맨 스위치를 설치합니다.
위협 행위자: TeamPCP
웜 아티팩트를 확인하는 5가지 진단 패스를 실행합니다. 완전히 투명하게 실행되며, 모든 명령이 실행 전에 표시되고 명시적 승인 없이는 아무것도 실행되지 않습니다.
| 패스 | 검사 항목 | 이유 |
|---|---|---|
| 1 | 데드맨 스위치 (gh-token-monitor) | 제거 전 토큰이 해지되면 ~/ 초기화 |
| 2 | 지속성 후크 (Claude Code, VS Code, GitHub Actions) | IDE 실행 시 웜 재실행 |
| 3 | 악성 파일 (router_init.js, tanstack_runner.js) | 패키지 제거 후에도 페이로드 지속 |
| 4 | Lockfile 내 손상된 패키지 버전 | 영향을 받은 @tanstack, @mistralai, @uipath, @opensearch 버전 |
| 5 | 네트워크 IOC (옵트인) | 활성 C2 연결 및 DNS 해석 |
/plugin marketplace add shayr1/shai-hulud-scan
/plugin install shai-hulud-scan
그런 다음 다음 명령으로 실행: /shai-hulud-scan
git clone https://github.com/shayr1/shai-hulud-scan.git /tmp/shai-hulud-scan
mkdir -p ~/.claude/skills/shai-hulud-scan
cp /tmp/shai-hulud-scan/SKILL.md ~/.claude/skills/shai-hulud-scan/SKILL.md
그런 다음 다음 명령으로 실행: /shai-hulud-scan
Detected platform: macOS. All commands below are tailored for this environment.
### Pass 1: Dead-Man's Switch
The worm installs a daemon called `gh-token-monitor` that polls GitHub every
60 seconds. If it detects that your GitHub token has been revoked, it executes
`rm -rf ~/` - wiping your entire home directory.
Commands that will run:
test -f ~/Library/LaunchAgents/com.user.gh-token-monitor.plist && echo "FOUND" || echo "NOT FOUND"
launchctl list 2>/dev/null | grep gh-token-monitor || echo "NOT FOUND"
test -f ~/.local/bin/gh-token-monitor.sh && echo "FOUND" || echo "NOT FOUND"
> Approve running these commands? [Approve / Skip]
Pass 1 - Dead-man's switch: CLEAN
## Scan Complete - Results
| Pass | Check | Result |
|------|-----------------------|---------|
| 1 | Dead-man's switch | CLEAN |
| 2 | Persistence hooks | CLEAN |
| 3 | Malicious files | CLEAN |
| 4 | Compromised packages | CLEAN |
| 5 | Network IOCs | SKIPPED |
CVE: CVE-2026-45321 | CVSS: 9.6 | Threat Actor: TeamPCP
ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c - router_init.js2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96 - tanstack_runner.js2258284d65f63829bd67eaba01ef6f1ada2f593f9bbe41678b2df360bd90d3df - setup.mjsgit-tanstack.com (타이포스쿼팅 도메인)api.masscan.cloud (데이터 유출)filev2.getsession.org (Session Protocol 유출)83.142.209.194 (mistralai 자격 증명 탈취)~/Library/LaunchAgents/com.user.gh-token-monitor.plist (macOS)~/.config/systemd/user/gh-token-monitor.service (Linux)~/.local/bin/gh-token-monitor.sh (macOS/Linux)~/.claude/router_runtime.js, ~/.claude/setup.mjs.vscode/setup.mjs, .github/workflows/codeql_analysis.ymlvoicproducoes (공격자 npm 계정)79ac49eedf (고아 커밋 해시 접두사)MIT