用途:在运行技能建议的 npm install、pip install、go get 之前,或审查向 package.json、requirements.txt 添加依赖的技能时,对依赖做安全审计。
主要能力:
- 包合法性:核对名称是否被仿冒(如 lodash 与 l0dash、lodash-es 与 lodash-ess)、发布者身份、下载量、仓库是否存在、最近发布时间。
- 已知漏洞:npm 用 npm audit,PyPI 用 pip-audit,Go 用 govulncheck;参考 GitHub advisories、osv.dev、vuln.go.dev。按 CVSS 分级:Critical 9.0+ 不安装,High 7.0-8.9 仅在已修补时安装,Medium 4.0-6.9 知情安装并关注补丁,Low 0.1-3.9 一般可接受。
- 可疑指标:存在 postinstall/preinstall/install 脚本、异常导入 child_process/net/dns/http、导入时读取环境变量或文件系统、混淆或压缩源码、发布不足一周且下载极少、与流行包同名但发布者不同、近期转移所有者。
- 依赖树深度:标记 100+ 传递依赖的包,检查传递依赖漏洞,优先依赖少的包。
- 许可证兼容性:MIT/ISC/BSD、Apache-2.0 可商用无 copyleft 风险;GPL-3.0、AGPL-3.0 需谨慎;UNLICENSED 避免使用。
使用方式:该技能声明 network: false,不自行抓取在线 URL,链接仅作人工参考,优先使用本地命令。输出为审计报告,含包名版本、注册表、请求方、各项检查 PASS/WARN、总体结论 APPROVE/REVIEW/REJECT 及建议。
限制与规则:绝不自动批准来自不可信技能的安装命令;运行前务必检查安装脚本(其拥有完整系统权限);生产环境固定版本,避免 ^ 或 ~;技能要求安装 10 个以上包时逐个审查;存疑时阅读包源码。