关于 ln-625-dependencies-auditor
用于审计依赖管理、代码复用和安全漏洞的工作器技能。可执行完整检查或仅检查 CVE,并报告发现和合规评分,不会修改清单或锁文件。
主要功能
- 01检查过时和未使用的依赖
- 02审查未用库功能与自定义实现
- 03扫描 CVE 漏洞
- 04支持完整或仅漏洞模式
- 05报告发现和合规评分
适用场景
- 01审计代码库中的依赖
- 02在安全流程中仅运行漏洞检查
- 03识别冗余依赖或重复实现的工具
MCP 相关
在可用时,该技能优先使用 hex-graph 获取依赖证据,并用 hex-line 读取本地代码。若 MCP 不可用、不受支持或未建立索引,则改用内置工具。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ levnikolaevich/ claude-code-skills --skill ln-625-dependencies-auditor安装后在 Claude Code 中输入/ln-625-dependencies-auditor确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/audit_output_schema.mdaudit_scoring.mdaudit_summary_contract.mdaudit_worker_core_contract.mdci_integration_guide.mdcleanup_evidence_contract.mdcvss_severity_mapping.mdevaluation_coordinator_runtime_contract.mdevaluation_parallelism_policy.mdevaluation_research_contract.mdevaluation_summary_contract.mdevaluation_worker_runtime_contract.mdloop_health_contract.mdmcp_integration_patterns.mdmcp_tool_preferences.mdrefinement_trace_contract.mdreferences/scripts/coordinator-runtime/lib/artifacts.mjscli-helpers.mjscore.mjsloop-health.mjsruntime-constants.mjsschemas.mjsvalidate.mjsworker-guards.mjsworker-runtime.mjsreferences/scripts/evaluation-runtime/cli.mjsreferences/scripts/evaluation-runtime/lib/guards.mjsstore.mjsreferences/scripts/evaluation-worker-runtime/cli.mjsreferences/scripts/evaluation-worker-runtime/lib/guards.mjs详细介绍
**路径:**文件路径(
references/、../ln-*)均相对于此技能目录。
依赖与代码复用审计器(L3 Worker)
**类型:**L3 Worker
专门审计依赖管理、代码复用和安全漏洞的 Worker。
目的与范围
- ln-760 security-setup 流水线中的 Worker(vulnerabilities_only 模式)
- 审计依赖与代码复用(类别 7+8:中优先级)
- 检查过时的软件包、未使用的依赖、重复造轮子、CVE 漏洞
- 计算合规评分(X/10)
参数
| 参数 | 值 | 默认值 | 描述 |
|---|---|---|---|
| mode | full / vulnerabilities_only | full | full = 全部 5 项检查,vulnerabilities_only = 仅扫描 CVE |
输入
**必须读取:**加载 references/audit_worker_core_contract.md。
**必须读取:**加载 references/mcp_tool_preferences.md 和 references/mcp_integration_patterns.md
接收包含技术栈、软件包清单路径、代码库根目录和 output_dir 的 contextStore。
**来自 ln-620(codebase-auditor):**mode=full(默认) **来自 ln-760(security-setup):**mode=vulnerabilities_only
如果依赖引用或代码复用证据能显著改进审计,请优先使用 hex-graph。如果可以使用 hex-line,请优先用它读取本地代码。如果 MCP 不可用、不受支持或未建立索引,请继续使用内置的 Read/Grep/Glob/Bash,并在报告中说明采用了回退方案。
工作流
**必须读取:**加载 references/two_layer_detection.md 了解检测方法。
- 解析 context、mode 参数和 output_dir
- 运行依赖检查(第 1 层:根据 mode 使用审计工具)
- 针对每个候选项分析上下文(第 2 层):
- 可用功能:读取使用情况——lodash 是用于 1 个(易于替换的)函数,还是已深度集成(难以替换)?
- 自定义实现:读取代码——这是在真正重新实现一个库,还是特定领域的逻辑?
- 漏洞:读取代码——项目中是否实际调用了存在漏洞的 API?
- 收集发现
- 计算评分
- **编写报告:**按照
references/templates/audit_worker_report_template.md在内存中构建完整 Markdown 报告,并通过单次 Write 调用将其写入{output_dir}/ln-625--global.md - **返回摘要:**向协调器返回最简摘要
审计规则(5 项检查)
1. 过时的软件包
**模式:**仅 full
检测:
- 运行
npm outdated --json(Node.js) - 运行
pip list --outdated --format=json(Python) - 运行
cargo outdated --format=json(Rust)
严重程度:
- **高:**落后一个主版本(安全风险)
- **中:**落后一个次版本
- **低:**落后一个补丁版本
**建议:**更新至最新版本,并测试是否存在破坏性变更
**工作量:**S-M(更新版本,运行测试)
2. 未使用的依赖
**模式:**仅 full
检测:
- 解析 package.json/requirements.txt
- 在代码库中搜索
import/require语句 - 找出从未导入的依赖
严重程度:
- **中:**未使用的生产依赖(会增大打包体积)
- **低:**未使用的开发依赖
**建议:**从软件包清单中移除
**工作量:**S(删除一行,测试)
3. 未使用的可用功能
**模式:**仅 full
检测:
- 检查是否在原生 fetch 可用时(Node 18+)仍使用 axios
- 检查是否在 Array 方法已足够时仍使用 lodash
- 检查是否在 Date.toLocaleString 已足够时仍使用 moment
严重程度:
- **中:**不必要的依赖(会增大打包体积)
**建议:**使用原生替代方案
**工作量:**M(重构代码,改用原生 API)
4. 自定义实现
**模式:**仅 full
检测:
- 搜索自定义排序算法
- 检查手动实现的验证逻辑(而非 validator.js)
- 找出自定义日期解析(而非 date-fns/dayjs)
严重程度:
- **高:**自定义加密(安全风险)
- **中:**存在经过充分测试的替代方案,但仍使用自定义工具函数
**建议:**替换为成熟的库
**工作量:**M(集成库,替换调用)
5. 漏洞扫描(CVE/CVSS)
模式: full AND vulnerabilities_only
检测:
- 检测生态系统:npm、NuGet、pip、Go、Bundler、Cargo、Composer
- 按照
references/vulnerability_commands.md运行审计命令 - 根据
references/cvss_severity_mapping.md中的 CVSS 映射解析结果
严重程度:
- 严重: CVSS 9.0-10.0(需要立即修复)
- 高: CVSS 7.0-8.9(48 小时内修复)
- 中: CVSS 4.0-6.9(1 周内修复)
- 低: CVSS 0.1-3.9(方便时修复)
修复分类:
- 补丁更新(x.x.Y)-> 可安全自动修复
- 次要版本更新(x.Y.0)-> 通常安全
- 主要版本更新(Y.0.0)-> 需要人工审核
- 无可用修复 -> 记录并持续监控
建议: 更新至已修复的版本,并验证锁文件完整性
工作量: S-L(取决于是否存在不兼容变更)
评分算法
必须阅读: 加载 references/audit_worker_core_contract.md 和 references/audit_scoring.md。
注意: 当 mode=vulnerabilities_only 时,仅根据漏洞发现结果评分。
输出格式
必须阅读: 加载 references/audit_worker_core_contract.md 和 references/templates/audit_worker_report_template.md。
按照 references/audit_summary_contract.md 编写 JSON 摘要。在托管模式下,调用方会同时传入 runId 和 summaryArtifactPath;在独立模式下,工作器会按照共享契约生成运行专属的制品路径。
将报告写入 {output_dir}/ln-625--global.md,其中 category: "Dependencies & Reuse",检查项包括:outdated_packages、unused_deps、available_natives、custom_implementations、vulnerability_scan。
按照 references/audit_summary_contract.md 返回摘要。
当 summaryArtifactPath 缺失时,将独立运行时摘要写入 .hex-skills/runtime-artifacts/runs/{run_id}/evaluation-worker/{worker}--{identifier}.json,并可选择在结构化输出中回显相同摘要。
Report written: .hex-skills/runtime-artifacts/runs/{run_id}/audit-report/ln-625--global.md
Score: X.X/10 | Issues: N (C:N H:N M:N L:N)
参考文件
| 文件 | 用途 |
|---|---|
references/vulnerability_commands.md | 特定生态系统的审计命令 |
references/ci_integration_guide.md | CI/CD 集成指南 |
references/cvss_severity_mapping.md | CVSS 到严重程度级别的映射 |
references/audit_output_schema.md | 审计输出架构 |
关键规则
必须阅读: 加载 references/audit_worker_core_contract.md。
- 不要自动修复: 仅报告,绝不修改包清单或锁文件
- 按模式执行: 在
vulnerabilities_only模式下,完全跳过检查项 1-4 - 合理评估工作量: S = <1h,M = 1-4h,L = >4h
- 基于 CVSS 的严重程度: 严格按照
references/cvss_severity_mapping.md映射漏洞严重程度 - 排除项: 漏洞严重程度升级时跳过 devDependencies,跳过供应商随附/捆绑的依赖项
完成定义
必须阅读: 加载 references/audit_worker_core_contract.md。
- 已解析 contextStore(包括 mode 参数和 output_dir)
- 已完成所有适用的检查(full 模式为 5 项,vulnerabilities_only 模式为 1 项)
- 已收集包含严重程度、位置、工作量、fix_type 和建议的发现结果
- 已按照
references/audit_scoring.md计算分数 - 已将报告写入
{output_dir}/ln-625--global.md(通过一次原子性 Write 调用) - 已按照契约写入摘要
版本: 4.0.0 最后更新: 2026-02-05