Skip to main content

GoエージェントでAssess CLIを使用する

ContrastのGoエージェントを使用しており、APIまたはエンドツーエンドのテストを実行中にCLIを使用して脆弱性を検出したい場合は、この手順を使用してください。

Goエージェントを使用するアプリケーションの実行は、他の多くのContrastエージェントとは異なります。Goエージェントは、コンパイル時にアプリケーションのソースコードに組み込まれます。

開始する前に

手順

  1. ターミナルウィンドウを開き、お使いの環境にContrast Goエージェント(バージョン1.19以上)をインストールします。

    重要

    エージェントの設定ファイル(YAML)は作成しないでください。設定ファイルは、Assess CLIによって自動的に作成されます。

  2. 以下のコマンドを使用して、コンパイラがインストールされていることを確認します。

    go version
    go version go1.19.1 darwin/arm6
  3. アプリケーションをインストールし、コンパイルし、実行します。

    アプリケーションがContrastを実装せずに実行されていることを確認するために、ブラウザを開いてアプリケーションにアクセスします。CTRL-Cを入力して、アプリケーションを停止します。

    例えば、Contrast Go Test Benchアプリケーションを使用している場合は、localhost:8080にアクセスして確認します。

  4. Assess CLIコマンドを入力します。

    contrast assess
    

    このコマンドによって、Assess CLIとContrastエージェントの両方で共有するエージェント設定ファイルが作成されます。Contrast CLIコマンドにて、設定ファイルのパスを含め、このコマンドの各オプションについて説明しています。

    以下のような出力が表示されます。

    ✔Configuration file found at "user_path" ("user_path"で設定ファイルが見つかりました)

    ⠼ Waiting for the session to be created. (セッションが作成されるのを待っています。)

  5. IDEまたは2つ目のターミナルウィンドウで、アプリケーションをコンパイルして実行すると、アプリケーションにContrast Goエージェントが組み込まれます。

    例:Contrast Go Test Benchアプリケーションを使用している場合、コマンドは以下のようになります。

    go-test-bench on  main [!?] via 🐹 v1.19.1 took 1h52m1s
    ❯ contrast-go run ./cmd/gin/app.go
  6. 3つ目のターミナルウィンドを開き、アプリケーションを対話的に実行するか、APIやエンドツーエンドのテストを使用して、アプリケーションを疎通します。

    例:Contrast Go Test Benchアプリケーションを使用している場合、コマンドは以下のようになります。

    go-test-bench on  main [!?] via 🐹 v1.19.1 took 4s
    ❯ go run ./cmd/exercise
  7. 最初に開いたターミナルウィンドウで、結果を確認します。