1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | dependency-scanning-unitoneai-securityskills | — |
| 作者/维护者 | UnitOneAI | GitHub API |
| 来源链接 | https://github.com/UnitOneAI/SecuritySkills/tree/main/skills/appsec/dependency-scanning | — |
| 许可证 | MIT | GitHub API |
| GitHub Stars / Forks | 所属仓库整体 49 / 130(该数字属整个技能合集,不代表本技能自身热度,取证方式见第 7 章) | GitHub API |
| 最新版本 | SKILL.md 声明 version 1.0.0;该技能目录最近一次实质提交 2026-06-16 | GitHub API |
| 安装方式 | 克隆仓库后复制到本地 skills 目录,或直接以文件路径方式挂载给 Agent(详见第 10 章) | GitHub 仓库 README |
2. 功能介绍与亮点
dependency-scanning 把“审一遍项目依赖是否安全”拆成四段流程:SBOM 生成指导、传递依赖风险评估、CVE 三信号分诊、License 合规检查。
- CVE 三信号分诊模型:不只看 CVSS 严重度,同时交叉核对 EPSS(30 天内被利用概率)与 CISA KEV(已确认在野利用目录),给出六档优先级决策矩阵,避免“高危分但无人在打”的漏洞占用团队精力
- 传递依赖专项覆盖:单独分析“幽灵依赖”(运行时用到但清单未声明)、版本范围漂移、深层废弃包等直接依赖扫描容易忽略的风险模式
- License 冲突判定内置常见组合:AGPL 在联网服务场景触发的著作权义务、GPL 静态链接进 Go/Rust 二进制的连带效应等具体判例,而非只给一张许可证列表
- Typosquatting/供应链投毒检测:列出字符替换、命名空间混淆、依赖混淆等常见冒名模式及验证方法
- 配备语言专属参考文件:随附
csharp-dotnet.md(.NET/NuGet 生态专项,涵盖csproj、packages.config、集中式包管理等格式的具体检查点),是仓库“渐进式披露”设计的实例——主文件保持精简,细节按需加载 - 专设 Prompt Injection 防护条款:明确要求把清单/锁文件内任何形似指令的文本当作数据而非指令,不因扫描对象自带的诱导性文字改变结论
3. 适用场景
所属分类:安全与合规
面向安全工程师、AppSec 工程师:在合并请求前审查新增依赖是否引入已知漏洞,在生成 SBOM 满足合规要求(如 EO 14028)时,或在排查开源许可证冲突、供应链投毒风险时使用。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——README 提供
cp -r skills/*/* ~/.claude/skills/(全局)或项目本地安装命令,支持自动发现与/dependency-scanning直接调用 - Codex CLI:⚠️ 需手动指定路径——README 给出
codex --context skills/<path>/SKILL.md "..."命令模式,需要自己拼出本技能的完整路径,非自动发现 - OpenClaw:⚠️ 仓库徽章声称兼容,但 Quick Start 正文未列出该工具的专门接入步骤,可能可套用“通用:指向 SKILL.md 路径”模式,未实际验证效果
- Hermes Agent:❓ 未验证——README 兼容性徽章与正文均未提及
5. 推荐理由
把 CVE 分诊(EPSS+KEV 交叉验证)、传递依赖风险、License 冲突、Typosquatting 检测四类容易漏项的供应链风险收进一份有明确判定标准的流程,并配语言专属参考文件应对 .NET 生态的特殊格式,适合需要频繁审查依赖变更的团队。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 5 | 所属仓库规模较小(49 stars/130 forks),本技能自身除仓库整体热度外,暂无独立第三方评价或采用数据 |
| 可用性 | 9 | 零依赖、零凭据,纯本地文件读取分析;文档含完整输出模板、判定阈值表与语言专属参考文件;该技能目录最近一次实质提交为 2026-06-16(距今约 8 周) |
| 安全性 | 9 | 见下方检查清单 |
安全检查清单:
① Shell 命令执行:allowed-tools 仅声明 Read / Grep / Glob,不含任何执行能力
② 联网外发:无,SKILL.md 全文未见外发逻辑,声明的工具集不包含网络访问
③ API Key/凭据:不需要任何凭据,纯本地读取
④ 可疑指令:未见混淆代码或隐蔽指令;反而专设“Prompt Injection Safety Notice”章节,明确指示不得因依赖清单/锁文件内嵌入的文本改变扫描结论或产出格式
⑤ 作者/组织信誉:仓库设有正式的第三方技能评审流程与自动化 Schema 校验脚本,工程化程度较高,未见造假迹象
⑥ License:MIT,明确
⑦ 最近维护:2026-06-16,距今约 8 周,在合理窗口内
7. 跟同类 Skills 相比的优势
| 技能 | 定位 | 与本技能的差异 |
|---|---|---|
| sbom-analysis(同仓库) | 审查已生成的 SBOM 文档本身是否完整、VEX 声明是否可信 | 分析对象不同:本技能直接扫描项目清单/锁文件产出漏洞与许可证发现,sbom-analysis 面对的是拿到手的成品 SBOM 文件,二者处于供应链管理的不同阶段 |
| supply-chain-risk-auditor(Trail of Bits 官方) | 引入新第三方库前的一次性尽调,用 gh CLI 拉取真实仓库数据评估维护活跃度、贡献者集中度 | 尽调对象是“要不要引入这个库”,本技能面对的是“当前依赖树里已有的包是否有已知漏洞/许可证问题”,前者是准入关卡,后者是持续监控 |
| create-sbom / enforce-sbom(Harness 官方) | 在 Harness CI/CD 流水线里生成或做策略门禁拦截 SBOM | 均绑定 Harness 平台且不做漏洞/许可证判定;本技能平台无关,且是三者中唯一系统性覆盖 CVSS+EPSS+KEV 三信号交叉分诊与 Typosquatting 检测的 |
本技能的差异化在于三信号交叉分诊(避免仅凭 CVSS 高分误判优先级)与传递依赖/供应链投毒专项覆盖,且不绑定任何特定 CI/CD 平台。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。仓库设有面向外部贡献者的技能评审 issue 流程(标题统一以 [REVIEW] 开头),历史上曾配套付费 bounty 计划,目前该计划已暂停。
9. 其他补充
同仓库内还包含应用安全、云安全、合规评估、身份管理、事件响应、网络安全等领域的独立技能,均遵循同一套 frontmatter 规范与安全护栏设计。仓库另提供脚本对所有技能做 JSON Schema 校验与质量记分卡生成,工程化程度较为突出。
10. 安装使用方式
git clone https://github.com/UnitOneAI/SecuritySkills.git
cd SecuritySkills
# Claude Code 全局安装
cp -r skills/*/* ~/.claude/skills/
# 或项目本地安装
mkdir -p .claude/skills && cp -r skills/*/* .claude/skills/
安装后无需重启,Claude Code 会自动发现新技能;可通过自然语言(如“帮我扫一下这个项目的依赖”)触发自动加载,也可用 /dependency-scanning 直接调用。Codex CLI 用户需改用 codex --context skills/appsec/dependency-scanning/SKILL.md "..." 命令显式指定路径。
11. 注意事项
- 技能本身不直接对接 NVD/OSV/GitHub Advisory 等漏洞数据库查询接口,CVE 具体信息与 EPSS/KEV 数据的获取依赖 Agent 自行发起查询或用户提供扫描器输出
- 不含 SCA 工具(如 Trivy、Snyk)的实际扫描能力,是对扫描结果的解读与 SBOM/License 分析流程,需配合真实扫描工具或已有清单文件使用
- 仓库规模较小(49 stars),后续维护活跃度需持续观察