Contrast Gradleプラグイン
Contrast SecurityのGradleプラグインは、次のことを可能にします。
Contrast Javaエージェントのインストール
Contrastへの接続
アプリケーションの新たな脆弱性の検証
開始する前に
Gradle 8.3以降があることを確認
タスク
このプラグインには、公開されているタスクが 2 つあります。
resolveAgent
:ContrastSDKで提供されるエージェントをダウンロードします。エージェントが jarPath設定フィールドで指定されている場合、プラグインはそのファイルが存在するかを確認します。contrastCheck
:エージェントをインストールした状態で、設定されている全てTest
タスクを実行します。その後、Contrast上でアプリケーションに脆弱性が1つでも検出された場合にはビルドを失敗させます。
設定
Gradleプラグインポータルからプラグインをインポートします。
plugins{ id 'com.contrastsecurity.contrastplugin' version '3.0.0' }
このプラグインは、プロジェクトのgradle.build
スクリプトのcontrastConfiguration
ブロックで設定します。username
、apiKey
、serviceKey
、orgUuid
は通常使用する認証情報と同じです。これらの情報は、Contrast Webインターフェイスよりユーザプロファイル > ユーザの設定およびユーザプロファイル > 組織の設定で確認できます。
contrastConfiguration{ username = '<username>' apiKey = '<apiKey>' serviceKey = '<serviceKey>' apiUrl = '<apiUrl>' orgUuid = '<orgUuid>' appName = '<appName>' serverName = '<serverName>' appVersion = '<appVersion>' jarPath = "<path.to.local.agent.jar>" }
設定プロパティ
設定値 | 説明 | 必須 |
---|---|---|
| Contrast Webインターフェイスのユーザの設定にあります。 | はい |
| Contrast Webインターフェイスの組織の設定にあります。 | はい |
| 使用するContrastの組織のURLで、末尾が | はい |
|
| いいえ |
| Contrast上のデータを関連付けるために使用されます。既存のアプリケーションとサーバを指定できますが、それぞれに新しい値を指定することもできます。 | はい |
| Contrast Javaエージェントへのパスです。指定されていない場合、プラグインはSDKからパスをダウンロードします。 | いいえ |
| プラグインによってビルドを失敗させるために必要な、脆弱性の深刻度の最小値を設定します。設定可能な値は、深刻度が低いものから順に以下の通りです:
デフォルトは中です。 | いいえ |
使用方法
プラグインをプロジェクトに追加して設定したら、以下を実行します。
./gradlew contrastCheck
これにより、Contrast Javaエージェントが関連付けられているプロジェクト内のTest
タイプの全てのタスクが実行されます。最小の深刻度を超える脆弱性が検出された場合、ビルドは失敗し、その脆弱性は<buildFolder>/contrast/traceResults_<testTaskName>.txt
に記録されます。