[ PROMPT_NODE_27684 ]
supply-chain-guard
[ SKILL_DOCUMENTATION ]
# 供应链卫士 (Supply Chain Guard)
针对 npm、PyPI、crates.io、GitHub Actions 和 CI/CD 流水线的软件供应链攻击的自动化检测与修复。基于截至 2026 年 3 月 31 日收集的真实攻击情报构建。
## 何时使用此技能
在以下情况使用此技能:
- 用户要求审计项目的依赖项以查找安全问题时
- 在将代码部署到生产环境之前
- 调查潜在的供应链入侵时
- 当用户提到最近的供应链攻击并希望检查其项目时
- 作为开发工作流中的常规安全检查
- 设置 CI/CD 流水线并希望对其进行加固时
- 当有新的供应链攻击报告,用户希望验证其暴露风险时
## 指令
### 第一步:了解项目
识别用户项目所使用的技术栈:
- **Node.js/npm**: 查找 `package.json`, `package-lock.json`, `yarn.lock`, `pnpm-lock.yaml`
- **Python/PyPI**: 查找 `requirements.txt`, `Pipfile`, `pyproject.toml`, `poetry.lock`
- **Rust/crates.io**: 查找 `Cargo.toml`, `Cargo.lock`
- **CI/CD**: 查找 `.github/workflows/`, `Dockerfile`, `docker-compose.yml`
### 第二步:运行相应的扫描器
该技能包含三个专用扫描器以及一个统一运行器。所有脚本均位于 `scripts/` 目录中。
**全量审计(推荐):**
bash
bash /path/to/supply-chain-guard/scripts/scan-all.sh /path/to/project
**独立扫描器:**
bash
# npm/Node.js 项目
bash /path/to/supply-chain-guard/scripts/scan-npm.sh /path/to/project
# Python/PyPI 项目
bash /path/to/supply-chain-guard/scripts/scan-python.sh /path/to/project
# CI/CD 流水线审计
bash /path/to/supply-chain-guard/scripts/scan-ci.sh /path/to/project
每个扫描器都会检查:
1. **已知受损软件包** — 与 IOC 数据库进行精确匹配
2. **恶意版本** — 已知包含恶意软件的特定版本号
3. **文件系统 IOC** — 攻击者留下的持久化机制
4. **网络 IOC** — 源代码中的 C2 域名和 IP
5. **CI/CD 配置错误** — 未锁定的 Actions、危险的触发器、暴露的密钥
6. **凭据泄露** — npm 令牌、PyPI 凭据、.env 文件
### 第三步:解读结果
扫描器退出时会返回发现的问题数量(0 = 清洁)。问题分类如下:
- **[CRITICAL]** — 检测到已知的恶意软件包或活跃的 IOC。需要立即采取行动。
- **[WARNING]** — 需要调查的安全隐患。可能不是活跃的入侵。