OWASP Dependency Check配置swagger-ui依赖抑制规则报错求助
解决OWASP Dependency Check抑制配置的XML验证错误
错误原因
你遇到的XML验证错误是因为在1.3版本的Dependency Check抑制规则schema中,<packageUrl>元素不能直接作为<suppress>的子元素,必须嵌套在<package>标签内部。错误提示里提到的期望元素(cpe, cve, vulnerabilityName, cwe, cvssBelow)都是<suppress>的直接子元素,而<packageUrl>属于<package>的子元素范畴。
正确的抑制配置示例
针对你需要抑制的两个依赖,编写符合schema要求的dependency-check-suppressions.xml:
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd"> <!-- 抑制swagger-ui-5.32.0.jar中两个JS文件的DOMPurify@3.2.6依赖漏洞 --> <suppress> <package> <packageUrl>pkg:javascript/DOMPurify@3.2.6</packageUrl> </package> <filePath>swagger-ui-5.32.0.jar</filePath> <or> <filePath>swagger-ui-bundle.js</filePath> <filePath>swagger-ui-es-bundle.js</filePath> </or> </suppress> </suppressions>
关键说明
- 标签嵌套要求:必须将
<packageUrl>放在<package>内部,这是1.3版本schema的强制规则,否则会触发XML结构验证失败。 - 精准定位:通过
<filePath>指定jar包和内部JS文件路径,避免误抑制项目中其他地方引入的DOMPurify依赖。 - 合并规则:使用
<or>标签可以将两个相似的抑制规则合并,简化配置文件。
额外检查项
- 确认XML文件没有语法错误,所有标签都正确闭合。
- 确保配置文件的xmlns属性与错误提示中的schema地址完全一致(
https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd)。
内容的提问来源于stack exchange,提问作者Europa
相关产品推荐
相关产品推荐

