wrongwrongな開発日記

しんまいさんの忘備録

【Maven】OWASP Dependency CheckでsuppressionFileを指定した際に「要素'suppressions'の宣言が見つかりません。」とエラーになる問題への対処

問題

以下のようにSuppressionFileとpomを用意して抑制設定を行いました。

<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd">
  <!-- 省略 -->
</suppressions>
<!-- 省略 -->

<plugin>
    <groupId>org.owasp</groupId>
    <artifactId>dependency-check-maven</artifactId>
    <version>5.0.0</version>
    <configuration>
        <failBuildOnCVSS>8</failBuildOnCVSS>
        <suppressionFiles>
            <suppressionFile>owasp-dependency-check-suppressions.xml</suppressionFile>
        </suppressionFiles>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
</plugin>

<!-- 省略 -->

すると以下のようなエラーになりました。

  • エラー内容(抜粋)
[WARNING] Unable to parse suppression xml file 'owasp-dependency-check-suppressions.xml'
[WARNING] org.owasp.dependencycheck.xml.suppression.SuppressionParseException: org.xml.sax.SAXException: Line=2, Column=99: cvc-elt.1.a: 要素'suppressions'の宣言が見つかりません。
[ERROR] Exception occurred initializing Vulnerability Suppression Analyzer.

対処

xmlnsに指定しているdependency-suppressionのバージョンを1.2に落とせば通りました。
原因は一旦調べていません。

<?xml version="1.0" encoding="UTF-8"?>
<suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.2.xsd">
  <!-- 省略 -->
</suppressions>