mcpField
L
ln-625-dependencies-auditor

ln-625-dependencies-auditor

github.com/levnikolaevich测试与质量584324 次安装2 天前更新
代码仓库

关于 ln-625-dependencies-auditor

用于审计依赖管理、代码复用和安全漏洞的工作器技能。可执行完整检查或仅检查 CVE,并报告发现和合规评分,不会修改清单或锁文件。

主要功能

  1. 01检查过时和未使用的依赖
  2. 02审查未用库功能与自定义实现
  3. 03扫描 CVE 漏洞
  4. 04支持完整或仅漏洞模式
  5. 05报告发现和合规评分

适用场景

  1. 01审计代码库中的依赖
  2. 02在安全流程中仅运行漏洞检查
  3. 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.md
audit_scoring.md
audit_summary_contract.md
audit_worker_core_contract.md
ci_integration_guide.md
cleanup_evidence_contract.md
cvss_severity_mapping.md
evaluation_coordinator_runtime_contract.md
evaluation_parallelism_policy.md
evaluation_research_contract.md
evaluation_summary_contract.md
evaluation_worker_runtime_contract.md
loop_health_contract.md
mcp_integration_patterns.md
mcp_tool_preferences.md
refinement_trace_contract.md
references/scripts/coordinator-runtime/lib/
artifacts.mjs
cli-helpers.mjs
core.mjs
loop-health.mjs
runtime-constants.mjs
schemas.mjs
validate.mjs
worker-guards.mjs
worker-runtime.mjs
references/scripts/evaluation-runtime/
cli.mjs
references/scripts/evaluation-runtime/lib/
guards.mjs
store.mjs
references/scripts/evaluation-worker-runtime/
cli.mjs
references/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)

参数

参数值默认值描述
modefull / vulnerabilities_onlyfullfull = 全部 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 了解检测方法。

  1. 解析 context、mode 参数和 output_dir
  2. 运行依赖检查(第 1 层:根据 mode 使用审计工具)
  3. 针对每个候选项分析上下文(第 2 层):
    • 可用功能:读取使用情况——lodash 是用于 1 个(易于替换的)函数,还是已深度集成(难以替换)?
    • 自定义实现:读取代码——这是在真正重新实现一个库,还是特定领域的逻辑?
    • 漏洞:读取代码——项目中是否实际调用了存在漏洞的 API?
  4. 收集发现
  5. 计算评分
  6. **编写报告:**按照 references/templates/audit_worker_report_template.md 在内存中构建完整 Markdown 报告,并通过单次 Write 调用将其写入 {output_dir}/ln-625--global.md
  7. **返回摘要:**向协调器返回最简摘要

审计规则(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.mdCI/CD 集成指南
references/cvss_severity_mapping.mdCVSS 到严重程度级别的映射
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

评论

支持 Markdown