Security Scan 是一个用于修复由 Snyk.io 安全扫描检测出的 npm 依赖漏洞的技能。它主要面向需要处理 npm 依赖安全问题的开发场景,帮助用户根据漏洞报告完成从评估到验证的修复流程。
用途
该技能用于解决 npm 依赖中被安全扫描检测出的漏洞。当用户分享 Snyk 漏洞报告、提及 CVE/CWE,或要求修复 npm 依赖中的安全问题时,该技能会被激活。
主要能力
技能提供针对不同类型依赖的修复规则:修复直接依赖可参考 vuln-direct-deps.md,修复传递依赖可参考 vuln-transitive-deps.md。技能涵盖评估、探查、修复、验证四个环节。
使用方式
工作流分为四个步骤。
第一步是评估:解析漏洞报告,提取包、版本、CVE/CWE、严重级别和修复版本,并将其归类为直接依赖(位于 package.json 中)或传递依赖(由其他包引入)。
第二步是探查:检查 package.json 中的当前版本和已有 overrides,检查锁文件中的实际解析版本,在源代码中搜索对漏洞包的直接使用,并通过命令 npm view <package> versions --json 查询 npm registry 中可用的修复版本。
第三步是修复:参见规则文件中的具体修复模式。
第四步是验证:依次运行 bun i --yarn、bun run type:check、bun run lint、bun run build、bun run test,要求全部通过。
此外,技能提供若干提示:安全修复使用精确版本号(不加 ^ 前缀);优先修复 Critical/High 严重级别的漏洞;对于不再维护的包,优先替换而非打补丁;用注释记录变通方案并说明原因。
适用场景
适用于需要响应 Snyk 漏洞报告、处理 npm 依赖安全问题的开发工作流,尤其是存在直接依赖或传递依赖漏洞需要修复的情形。
限制
资料未提供该技能的具体安装方式、支持的平台范围、是否收费及价格、修复效果的量化数据。其验证步骤依赖 bun 命令及相关脚本(type:check、lint、build、test)在目标项目中已配置。