Gradleプラグイン
Contrast Gradleプラグインは、Contrast.jarとビルドを統合するのに使用されます。Contrastで認証を行い、最新のJavaエージェントをダウンロードしてビルドを検証することができます。
注記
Gradleは、
build.gradle
ファイルを活用してアプリケーションを設定するビルドツールです。さまざまな種類のアプリケーションをビルド、パッケージ化、テストするのに使用されます。
サンプルWebアプリケーションの複製
プロジェクトを設定する最も簡単な方法は、GradleベースのWebアプリケーションのサンプルを複製することです。このアプリケーションはMavenからGradleへと移行され、MongoDBに依存します。
インストールしてデータベースパスを設定します。
git clone https://github.com/Contrast-Security-OSS/Contrast-Sample-Gradle-Application brew install mongodb sudo mkdir -p /data/db brew services start mongodb
アプリケーションの実行準備が整います。Contrast-Sample-Gradle-Application/build.gradleファイルを開きます。スクロールして
contrastConfiguration
拡張機能を見つけます。appName
とserverName
以外の値は、全て個人のキーにあります。contrastConfiguration { username = "username" apiKey = "apiKey" serviceKey = "serviceKey" apiUrl = "apiUrl" orgUuid = "orgUuid" appName = "editLATER" serverName = "editLATER" }
contrastInstall
タスクを呼び出して、Contrast JARファイルをインストールします。これにより、プロジェクトのビルドディレクトリにContrast JARがインストールされます。cd path/to/Contrast-Sample-Gradle-Application gradle build -x test contrastInstall
Javaエージェントでアプリケーションを実行します。サーバが起動します。
cd path/to/Contrast-Sample-Gradle-Application/build java -Dcontrast.agent.java.standalone_app_name=mytestapp -Dcontrast.server=mytestserver -jar libs/Contrast-Sample-Gradle-Application-0.0.1-SNAPSHOT.jar
localhost:8080でアプリケーションが実行されていることと、Contrastにアプリケーションが表示されることを確認します。
Contrast内で、前述のコマンドで指定された
appname
のアプリケーションが表示されていることを検証します。Contrast-Sample-Gradle-Applicationプロジェクトのbuild.gradleで
contrastConfiguration
を編集して、前のステップでJavaエージェントのオプションとして指定したappName
とserverName
を指定します。contrastConfiguration { username = "alreadySetup" apiKey = "alreadySetup" serviceKey = "alreadySetup" apiUrl = "alreadySetup" orgUuid = "alreadySetup" appName = "mytestapp" serverName = "mytestserver" }
いつでも検証タスクを実行して脆弱性を確認できます。
gradle build contrastVerify -x test
プラグインの使用
プラグインのコードはGitHubリポジトリで参照できます。プラグインによって追加される2つのタスク(contrastInstall
およびcontrastVerify
)とその仕組みを確認できます。
プラグインの最新バージョンは、GradleプラグインのWebページにあります。
タスク | 説明 |
---|---|
| ローカルプロジェクトにContrast Javaエージェントをインストールします。ContrastエージェントでJVMが起動するよう、プラグインによってgradle.propertiesファイルの
|
| Webアプリケーションで新規の脆弱性をチェックします。 |