Skip to main content

Contrast Scanの対象からファイルやフォルダを除外する

指定したファイルやフォルダをスキャンの対象から除外するオプションがあります。この機能は、大量のノイズを生成するアーティファクトや、スキャンに関係のないアーティファクトを除外する場合に便利です。

開始する前に

  • この機能は、ローカルスキャンエンジンを使用した多言語ソースコードのスキャンでのみ使用できます。

  • 以前にスキャンしたプロジェクトからファイルを除外すると、除外の影響を受ける脆弱性のステータスが修復済に変更されます。例えば、ファイルを除外した後、スキャン結果の脆弱性の数が元の検出結果より減少し、修復済の脆弱性の数が増加する可能性があります。

手順

  1. スキャンするソースコードのルートフォルダに、.contrast-scan.jsonという名前のファイルを作成します。

  2. JSONファイルで、次の形式を使用して除外するファイルとフォルダを指定します。

    {
      "excludes": [
        "**/MavenWrapperDownloader.java",
        "**/*.js"
      ]
    }

    上記例のMavenWrapperDownloader.java*.js の箇所を除外したいファイル名やフォルダ名に置き換えてください。

パターン例

以下の例は、除外するファイルやフォルダを指定する方法を示しています。

パターンは相対パスと見なされます。

パターン例

除外されるもの

*.java

.java拡張子の前に0文字以上の文字があるファイル。例:.javax.javaFooBar.java

除外されない:ファイル名に.javaの拡張子があってもスキャン対象のルートディレクトリにないファイル。

?.java

.java拡張子の前に1文字があるファイル。例:x.javaA.java

除外されない:.javaxyz.javaなどのファイル。.java拡張子の前が1文字ではないため。

**/*.java

拡張子が.javaの全てのフォルダと全てのファイル。

**/CVS/*

ディレクトリツリー内の任意の場所に存在するCVSディレクトリにある全てのファイル。

org/apache/jakarta/**

org/apache/jakartaディレクトリツリーにある全てのファイル。

除外されない: org/apache/xyz.javaというファイル。jakartaはパスに含まれていないため。

org/apache/**/CVS/*

org/apache以下のディレクトリツリーの任意の場所にあるCVSディレクトリの全てのファイル。

除外されない:org/apache/CVS/foo/bar/Entriesという名前のファイル。 foo/bar/がパターンに一致しないため。

**/test/**

パスにtestが含まれる全てのファイル(ファイル名の一部としてのtestを含む)。

関連項目

ディレクトリベースのタスクにて、 ファイルとフォルダを指定するためのパターンに関する追加の情報を参照できます。