GoエージェントでAssess CLIを使用する
ContrastのGoエージェントを使用しており、APIまたはエンドツーエンドのテストを実行中にCLIを使用して脆弱性を検出したい場合は、この手順を使用してください。
Goエージェントを使用するアプリケーションの実行は、他の多くのContrastエージェントとは異なります。Goエージェントは、コンパイル時にアプリケーションのソースコードに組み込まれます。
開始する前に
Assess CLIをテストするために、Contrast Go Test Benchアプリケーションを使用できます。このサンプルアプリケーションの使用方法の詳細については、Contrast CodeSecのWebサイトを参照してください。
Goエージェントのサポート対象テクノロジを確認して、お使いのアプリケーションでAssess CLIを利用できるか確認してください。
手順
ターミナルウィンドウを開き、お使いの環境にContrast Goエージェント(バージョン1.19以上)をインストールします。
重要
エージェントの設定ファイル(YAML)は作成しないでください。設定ファイルは、Assess CLIによって自動的に作成されます。
以下のコマンドを使用して、コンパイラがインストールされていることを確認します。
go version go version go1.19.1 darwin/arm6
アプリケーションをインストールし、コンパイルし、実行します。
アプリケーションがContrastを実装せずに実行されていることを確認するために、ブラウザを開いてアプリケーションにアクセスします。
CTRL-C
を入力して、アプリケーションを停止します。例えば、Contrast Go Test Benchアプリケーションを使用している場合は、
localhost:8080
にアクセスして確認します。Assess CLIコマンドを入力します。
contrast assess
このコマンドによって、Assess CLIとContrastエージェントの両方で共有するエージェント設定ファイルが作成されます。Contrast CLIコマンドにて、設定ファイルのパスを含め、このコマンドの各オプションについて説明しています。
以下のような出力が表示されます。
✔Configuration file found at "user_path" ("user_path"で設定ファイルが見つかりました)
⠼ Waiting for the session to be created. (セッションが作成されるのを待っています。)
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
3つ目のターミナルウィンドを開き、アプリケーションを対話的に実行するか、APIやエンドツーエンドのテストを使用して、アプリケーションを疎通します。
例:Contrast Go Test Benchアプリケーションを使用している場合、コマンドは以下のようになります。
go-test-bench on main [!?] via 🐹 v1.19.1 took 4s ❯ go run ./cmd/exercise
最初に開いたターミナルウィンドウで、結果を確認します。