mcpField
D
dependency-auditor

dependency-auditor

github.com/alirezarezvani安全28.9k696 次安装2 天前更新
代码仓库

关于 dependency-auditor

面向工程团队的离线依赖审计 Skill,用于检查漏洞、许可证和升级风险。其确定性脚本解析 8 种包生态的清单与锁定文件;内置漏洞模式不能替代实时公告工具。

主要功能

  1. 01离线漏洞模式扫描
  2. 02解析 8 种生态的清单与锁定文件
  3. 03解析传递依赖
  4. 04许可证分类与冲突检测
  5. 05按风险排序升级计划并附回滚说明

适用场景

  1. 01在 CI 中扫描依赖
  2. 02发布前检查许可证兼容性
  3. 03安排安全和维护升级优先级
  4. 04验证升级是否消除高危发现

安装

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

$npx skills add https://github.com/alirezarezvani/claude-skills --skill dependency-auditor

安装后在 Claude Code 中输入/dependency-auditor确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
test-inventory.json
assets/
sample_go.mod
sample_package.json
sample_requirements.txt
expected_outputs/
sample_license_report.txt
sample_upgrade_plan.txt
sample_vulnerability_report.json
references/
dependency_management_best_practices.md
license_compatibility_matrix.md
vulnerability_assessment_guide.md
scripts/
dep_scanner.py
license_checker.py
upgrade_planner.py
test-project/
package.json

详细介绍

Dependency Auditor

Skill 类型: POWERFUL · 分类: Engineering · 领域: Dependency Management & Security

离线、确定性的依赖审计,覆盖 8 个以上包生态。三个脚本是基于模式匹配的工具,作用于清单文件和锁文件,不会调用实时漏洞公告 API;如需当前 CVE 覆盖,请将其结果与 npm audit / pip-audit / cargo audit 搭配使用。

快速开始

# 1. Scan for vulnerabilities (built-in offline CVE pattern set; exit non-zero on high severity)
python3 scripts/dep_scanner.py /path/to/project --format json --fail-on-high -o scan.json

# 2. Check license compliance and conflicts
python3 scripts/license_checker.py /path/to/project --policy strict --format json -o licenses.json

# 3. Plan upgrades from the scanner's inventory
python3 scripts/upgrade_planner.py scan.json --risk-threshold medium --timeline 90 --format json -o plan.json

使用输出结果:scan.json 中的发现项决定当前需要固定版本或打补丁的包;licenses.json 中的冲突应作为法律风险清单交给用户;plan.json 按风险对升级进行排序,并附带回滚说明。--quick-scan 会跳过传递依赖;--security-only 会将计划限制为安全修复。

验证循环: 应用升级后,重新运行第 1 步,并确认高危发现项为 0,之后再结束审计。

支持的生态

语言解析的清单
JavaScript/Nodepackage.json, package-lock.json, yarn.lock
Pythonrequirements.txt, pyproject.toml, Pipfile.lock, poetry.lock
Gogo.mod, go.sum
RustCargo.toml, Cargo.lock
RubyGemfile, Gemfile.lock
Javapom.xml, gradle.lockfile
PHPcomposer.json, composer.lock
C#/.NETpackages.config, project.assets.json

许可证分类

  • 宽松型(Permissive):MIT、Apache 2.0、BSD(2/3 条款)、ISC
  • 强 Copyleft:GPL v2/v3、AGPL v3 —— 在宽松型项目中会标记污染风险
  • 弱 Copyleft:LGPL v2.1/v3、MPL 2.0
  • 专有 / 双重许可 / 未知 —— 未知许可证会被提出,供人工审查

检查器会沿依赖链分析许可证继承关系,并输出带有修复建议的冲突对。

升级风险矩阵

风险更新类型处理方式
低补丁、安全修复立即应用
中带新功能的次版本合并到定期更新中
高主版本、API 变更专门的迁移任务 + 测试
严重已知破坏性变更制定带回滚流程的迁移计划

优先级:安全补丁 > 缺陷修复 > 功能更新 > 大规模重写;已弃用的功能需要立即关注。

脚本(准确的能力说明)

  • scripts/dep_scanner.py —— 多格式解析器;内置离线漏洞模式集(约 16 个 CVE 模式,属于冒烟级检测层,不能替代实时漏洞公告);从锁文件进行传递依赖解析;输出 JSON 和文本格式。
  • scripts/license_checker.py —— 从包元数据中检测许可证;覆盖 20 种以上许可证类型的兼容性矩阵;--policy permissive|strict;冲突检测及修复建议。
  • scripts/upgrade_planner.py —— 基于语义化版本的破坏性变更预测;按风险排序的迁移计划,包含测试清单和工期估算。

示例夹具:本目录下的 test-project/ 和 test-inventory.json;预期输出格式见 expected_outputs/。

CI 集成

# Security gate in CI
python3 scripts/dep_scanner.py . --format json --fail-on-high
python3 scripts/license_checker.py . --policy strict --format json

最佳实践

  1. 优先处理安全问题:立即处理高危和严重发现项;许可证合规优先于功能需求。
  2. 循序渐进地更新:增量升级并进行充分测试;对高风险版本升级使用功能开关。
  3. 节奏:每次提交进行安全扫描;每月进行许可证审计;每季度进行一次完整审计。
  4. 误报:通过有文档记录的白名单处理;对许可证含义不明确的情况,联系维护者确认。

详细用法请参阅 README.md,漏洞和许可证知识库请参阅 references/。

评论

支持 Markdown