ssolan5/MiniShaiHuludYaraRule
GitHub: ssolan5/MiniShaiHuludYaraRule
针对 npm 生态 Mini Shai Hulud 供应链攻击事件编写的 YARA 检测规则集,用于快速扫描项目依赖中是否存在被 TeamPCP 投毒的受损包。
Stars: 1 | Forks: 0
# Mini Shai Hulud YARA 规则
本仓库用于存放我编写的 `YARA` 规则,用于帮助检测受 **Mini Shai Hulud** 供应链攻击(持续时间为 2026 年 4 月 29 日至 2026 年 5 月 12 日)影响的 `npm` 包,适用于在其 `package.json` 中列出了受损包的 npm 项目,或者开发者的 `npm` 环境。已确认的威胁行为者是 **TeamPCP**。
`npm` 生态系统中受影响的软件包总数为 409 个。
## 仓库结构与实现细节
```
.
├── Images
│ ├── 22-packages-csv-structure.png
│ └── python3_REPL_code.png
├── LICENSE
├── mini_shai_hulud_yara_rule_dependencies.yar
├── python3_REPL_code.png
├── README.md
└── yara_strings_variables.py
```
## 数据来源
此 `CSV` 可在本 README 参考文献部分提供的 socket.dev 链接中找到。
`head -n 5 22-packages.csv | tennis`

## 准备 YARA 规则
npm 生态系统的包详细信息是在 python3 REPL 界面中,从 csv 中解析和提取的,如下图所示。

## 使用 YARA 规则
以下是检测您的 npm 环境中是否存在受影响软件包的步骤。
- 如果在 macOS 上,请使用 brew 安装 yara cli 工具。
`brew install yara`
- 在您的项目目录或安装包所在目录中运行 yara cli 工具。在 macOS 上,该位置是 `/opt/homebrew/lib/node_modules`。
`yara -w mini_shai_hulud_package_dependencies_rule.yar `
# 参考文献
- https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack
标签:GNU通用公共许可证, Node.js, npm, Python, TeamPCP, TLS抓取, YARA, 云资产可视化, 代码分析, 供应链攻击, 凭证管理, 包管理器, 威胁情报, 安全, 安全防护, 库, 应急响应, 开发者工具, 数据展示, 无后门, 暗色界面, 红队, 统一API, 脚本, 规则编写, 超时处理, 软件安全, 逆向工具