Gradleプラグイン

Contrast Gradleプラグインは、Contrast.jarとビルドを統合するのに使用されます。Contrastで認証を行い、最新のJavaエージェントをダウンロードしてビルドを検証することができます。

注記

Gradleは、build.gradleファイルを活用してアプリケーションを設定するビルドツールです。さまざまな種類のアプリケーションをビルド、パッケージ化、テストするのに使用されます。

サンプルWebアプリケーションの複製

プロジェクトを設定する最も簡単な方法は、GradleベースのWebアプリケーションのサンプルを複製することです。このアプリケーションはMavenからGradleへと移行され、MongoDBに依存します。

  1. インストールしてデータベースパスを設定します。

    git clone https://github.com/Contrast-Security-OSS/Contrast-Sample-Gradle-Application
    brew install mongodb
    sudo mkdir -p /data/db
    brew services start mongodb
  2. アプリケーションの実行準備が整います。Contrast-Sample-Gradle-Application/build.gradleファイルを開きます。スクロールしてcontrastConfiguration拡張機能を見つけます。appNameserverName以外の値は、全て個人のキーにあります。

    contrastConfiguration {
        username = "username"
        apiKey = "apiKey"
        serviceKey = "serviceKey"
        apiUrl = "apiUrl"
        orgUuid = "orgUuid"
        appName = "editLATER"
        serverName = "editLATER"
    }
  3. contrastInstallタスクを呼び出して、Contrast JARファイルをインストールします。これにより、プロジェクトのビルドディレクトリにContrast JARがインストールされます。

    cd path/to/Contrast-Sample-Gradle-Application
    gradle build -x test contrastInstall
  4. 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
    
  5. localhost:8080でアプリケーションが実行されていることと、Contrastにアプリケーションが表示されることを確認します。

  6. Contrast内で、前述のコマンドで指定されたappnameのアプリケーションが表示されていることを検証します。

  7. Contrast-Sample-Gradle-Applicationプロジェクトのbuild.gradlecontrastConfigurationを編集して、前のステップでJavaエージェントのオプションとして指定したappNameserverNameを指定します。

    contrastConfiguration {
        username = "alreadySetup"
        apiKey = "alreadySetup"
        serviceKey = "alreadySetup"
        apiUrl = "alreadySetup"
        orgUuid = "alreadySetup"
        appName = "mytestapp"
        serverName = "mytestserver"
    }
  8. いつでも検証タスクを実行して脆弱性を確認できます。

    gradle build contrastVerify -x test

プラグインの使用

プラグインのコードはGitHubリポジトリで参照できます。プラグインによって追加される2つのタスク(contrastInstallおよびcontrastVerify)とその仕組みを確認できます。

プラグインの最新バージョンは、GradleプラグインのWebページにあります。

タスク

説明

contrastInstall

ローカルプロジェクトにContrast Javaエージェントをインストールします。ContrastエージェントでJVMが起動するよう、プラグインによってgradle.propertiesファイルのorg.gradle.jvmargsプロパティが編集されます。contrastVerifyタスクで脆弱性を絞り込むためのアプリケーションバージョンは、このタスク中に生成されます。プラグインでは、以下の順番でアプリケーションバージョンが生成されます。

  • TravisCIでビルドが実行されている場合、ContrastはappName-$TRAVIS_BUILD_NUMBERを使用します。

  • CircleCIでビルドが実行されている場合、ContrastはappName-$CIRCLE_BUILD_NUMを使用します。

  • TravisCIとCircleCI以外でビルドが実行されている場合、ContrastはappName-yyyyMMddHHmm形式でアプリケーションバージョンを生成します(yyyyMMddHHmm は、ビルドの生成時刻です)。

contrastVerify

Webアプリケーションで新規の脆弱性をチェックします。