如何忽略Snyk Code针对特定文件上报的指定漏洞
问题原因
默认执行snyk ignore --id=java/DisablesCSRFProtection生成的忽略规则,仅对Snyk开源依赖扫描(SCA)生效,不会自动作用于Snyk Code静态代码扫描结果,因此配置后仍会上报对应漏洞。
正确操作方法
根据实际需求二选一即可:
方法1:单行精准忽略(推荐)
该方法仅忽略指定代码行的漏洞,不会误屏蔽项目其他位置的同类型风险,可追溯性更强。
打开漏洞提示对应的文件src/com/xxx/ConfigSecurity.java,在触发漏洞的第22行代码上方添加如下注释:
// snyk-ignore-next-line java/DisablesCSRFProtection: 已完成风险评估,当前场景无CSRF攻击面
保存文件后重新执行snyk code test,该条漏洞就不会再上报。
方法2:全局忽略项目内所有同类型漏洞
如果需要忽略整个项目下所有java/DisablesCSRFProtection类型的漏洞,按如下步骤操作:
- 先将本地Snyk CLI升级到1.1000.0及以上版本,老版本不支持Snyk Code的策略配置,npm安装方式的升级命令如下,其他安装方式对应替换升级操作即可:
npm update -g snyk - 修改项目根目录下的
.snyk策略文件,新增Snyk Code专属的规则排除配置,完整参考内容如下:# Snyk策略文件 version: v1.25.0 ignore: java/DisablesCSRFProtection: - '*': reason: 已完成风险评估,当前项目无CSRF攻击场景 expires: 2025-12-31T00:00:00.000Z created: 2022-06-24T11:41:53.791Z patch: {} # Snyk Code静态扫描专属配置 code: exclude: rules: - java/DisablesCSRFProtection - 保存文件后重新执行
snyk code test即可验证效果。
注意:如果需要让Snyk网页端控制台的扫描结果也同步忽略规则,需要将修改后的
.snyk文件提交到代码仓库,等待Snyk触发重新扫描后生效。
内容的提问来源于stack exchange,提问作者SERGIO STATERI JUNIOR
相关产品推荐
相关产品推荐

