shayr1/shai-hulud-scan

GitHub: shayr1/shai-hulud-scan

一个 Claude Code 技能插件,用于检测工作站是否被 Mini Shai-Hulud 供应链蠕虫感染,通过五阶段诊断扫描排查死人开关、持久化钩子、恶意文件、受污染包版本和 C2 网络连接等危害指标。

Stars: 1 | Forks: 0

# shai-hulud-scan 一个 [Claude Code](https://claude.com/claude-code) 技能,用于扫描机器是否存在 **Mini Shai-Hulud** 供应链蠕虫([CVE-2026-45321](https://nvd.nist.gov/vuln/detail/CVE-2026-45321),CVSS 9.6)的危害指标 (IOCs)。 ## 什么是 Mini Shai-Hulud? 一种自我传播的供应链蠕虫,于 2026 年 5 月 11 日感染了 170 多个 npm/PyPI 包——包括 `@tanstack/*`、`@mistralai/*`、`@uipath/*` 和 `@opensearch-project/*`。它会窃取凭据,通过开发者工具进行持久化,并安装一个“死人开关”,如果你在移除它之前撤销了 token,它就会擦除你的主目录。 威胁行为者:**TeamPCP** ## 此技能的功能 运行 5 次诊断扫描,检查蠕虫痕迹。完全透明——每个命令在执行前都会显示,并且未经你的明确批准不会运行任何内容。 | 阶段 | 检查项 | 原因 | |------|-------|-----| | 1 | 死人开关 (`gh-token-monitor`) | 如果在移除前撤销 token,将擦除 `~/` | | 2 | 持久化钩子 (Claude Code、VS Code、GitHub Actions) | 在 IDE 启动时重新执行蠕虫 | | 3 | 恶意文件 (`router_init.js`、`tanstack_runner.js`) | 包移除后 Payload 仍然存在 | | 4 | Lockfile 中受损的包版本 | 受影响的 @tanstack、@mistralai、@uipath、@opensearch 版本 | | 5 | 网络 IOCs(可选) | 活跃的 C2 连接和 DNS 解析 | ### 每个阶段的工作原理 1. 解释它检查的内容及其重要性 2. 向你展示它将运行的**确切 shell 命令** 3. 在运行任何内容之前征求你的批准 4. 报告结果:CLEAN (安全)、INFECTED (已感染) 或 SKIPPED (已跳过) 5. 如果被感染,将按正确顺序打印修复步骤 ## 跨平台支持 - **macOS** - LaunchAgents、launchctl、lsof、shasum - **Linux** - systemd、ss、sha256sum - **Windows WSL** - Linux 检查 + PowerShell 用于 Windows 侧检查 - **Windows** - PowerShell 原生 (Get-ScheduledTask、Get-FileHash、Resolve-DnsName) ## 安装 ### 作为 Claude Code 插件 ``` /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. ### 阶段 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 ``` ## IOC 参考 ### 文件哈希 (SHA256) - `ab4fcadaec49c03278063dd269ea5eef82d24f2124a8e15d7b90f2fa8601266c` - router_init.js - `2ec78d556d696e208927cc503d48e4b5eb56b31abc2870c2ed2e98d6be27fc96` - tanstack_runner.js - `2258284d65f63829bd67eaba01ef6f1ada2f593f9bbe41678b2df360bd90d3df` - setup.mjs ### C2 基础设施 - `git-tanstack.com` (域名仿冒) - `api.masscan.cloud` (机密数据渗出) - `filev2.getsession.org` (Session 协议数据渗出) - `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.yml` ### Lockfile 标记 - `voicproducoes` (攻击者 npm 账号) - `79ac49eedf` (孤立 commit hash 前缀) ## 来源 - [The Hacker News - Mini Shai-Hulud 蠕虫感染 TanStack、Mistral AI 等](https://thehackernews.com/2026/05/mini-shai-hulud-worm-compromises.html) - [Wiz Blog - Mini Shai-Hulud 再次来袭](https://www.wiz.io/blog/mini-shai-hulud-strikes-again-tanstack-more-npm-packages-compromised) - [Snyk - TanStack npm 包遭 Mini Shai-Hulud 攻击](https://snyk.io/blog/tanstack-npm-packages-compromised/) - [StepSecurity - TeamPCP 的 Mini Shai-Hulud 卷土重来](https://www.stepsecurity.io/blog/mini-shai-hulud-is-back-a-self-spreading-supply-chain-attack-hits-the-npm-ecosystem) ## 许可证 MIT
标签:AI合规, C2通信检测, Claude Code 技能, Claude Code 插件, Cutter, CVE-2026-45321, DNS 解析, GitHub Actions 安全, IOC 扫描, IP 地址批量处理, Mini Shai-Hulud, npm 安全, OpenCanary, PyPI 安全, VS Code 安全, 供应链攻击, 凭据窃取防护, 包管理器安全, 威胁情报, 库, 应急响应, 应用安全, 开发者工具, 恶意软件扫描, 持久化后门检测, 文档安全, 无线安全, 死开关防范, 网络信息收集, 网络安全, 蠕虫病毒检测, 跨平台安全工具, 隐私保护