mcpField
P
pentest-supply-chain

pentest-supply-chain

github.com/jd-opensource安全31550 次安装28 周前更新
代码仓库

关于 pentest-supply-chain

用于评估依赖、CI/CD 流水线和构建产物中供应链风险的安全测试技能,提供授权审查流程及相关扫描分析工具。

主要功能

  1. 01依赖与软件包风险审查
  2. 02公共仓库依赖混淆检查
  3. 03CI/CD 流水线安全审查
  4. 04产物与锁文件完整性检查
  5. 05安装钩子与仿冒包分析
  6. 06生成 SBOM 并关联 CVE

适用场景

  1. 01发布前审计依赖
  2. 02检查 CI/CD 工作流中的注入与机密泄露
  3. 03核查软件包和容器产物完整性

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jd-opensource/joysafeter --skill pentest-supply-chain

安装后在 Claude Code 中输入/pentest-supply-chain确认已加载。

附带文件references/tools.mdreferences/workflows.md

详细介绍

渗透测试供应链

目的

供应链攻击(SolarWinds、Log4Shell、xz-utils)是增长最快的威胁类别。Shannon 明确排除了“存在漏洞的第三方库”。现有技能中,MITRE ATT&CK T1195 的覆盖率为零。

前提条件

授权要求
  • 书面授权,明确供应链测试范围
  • 仓库访问权限,用于依赖项和 CI/CD 分析
  • 了解所用注册表——确认正在使用哪些私有注册表
  • 构建系统访问权限,用于审查流水线(白盒测试时)
环境设置
  • 用于扫描依赖项漏洞的 Snyk CLI
  • 用于生态系统专项检查的 npm audit / pip-audit
  • 用于扫描容器和文件系统的 Trivy
  • 用于分析依赖项风险的 socket.dev

核心工作流

  1. 依赖项审计:分析 package.json/requirements.txt/go.mod,查找已知存在漏洞的版本、无人维护的软件包和可疑依赖项。
  2. 依赖项混淆:检查是否可以在公共注册表(npm、PyPI)中注册内部软件包名称。测试命名空间抢注。
  3. CI/CD 流水线安全:审查 GitHub Actions/GitLab CI,检查是否存在通过 PR 标题/分支名称注入、日志中泄露机密、未固定版本的 action,以及运行器逃逸等问题。
  4. 构建产物完整性:验证容器/软件包签名,检查是否存在未签名的产物,测试镜像标签是否可变。
  5. 锁定文件完整性:检测锁定文件注入(被篡改的 resolved URL),验证锁定文件与清单的一致性。
  6. 安装脚本滥用:识别包含可执行任意代码的安装钩子的软件包,测试可能遭遇拼写仿冒的软件包。
  7. SBOM 生成:生成软件物料清单,并结合 CVE 关联分析传递依赖项风险。

工具类别

类别工具用途
依赖项扫描Snyk、npm audit、pip-audit检测已知 CVE
容器扫描Trivy、Grype分析镜像漏洞
依赖项风险socket.dev、Semgrep行为风险分析
CI/CD 审查自定义脚本、actionlint流水线安全审计
SBOMsyft、cyclonedx-cli生成物料清单

参考资料

  • references/tools.md - 工具函数签名和参数
  • references/workflows.md - 攻击模式定义和测试向量

评论

支持 Markdown