RubyエージェントでAssess CLIを使用する
ContrastのRubyエージェントを使用しており、APIまたはエンドツーエンドのテストを実行中にCLIを使用して脆弱性を検出したい場合は、この手順を使用してください。
開始する前に
Rubyエージェントのサポート対象テクノロジを確認して、お使いのアプリケーションでAssess CLIを利用できるか確認してください。
手順
以下のエントリをアプリケーションのgemfileに追加します。
gem 'contrast-agent'
Contrastエージェントをインストールまたはアップデートします。
以下のコマンドでエージェントをインストール:
bundle install
以下のコマンドでエージェントをアップデート:
bundle update contrast-agent
重要
エージェントの設定ファイル(YAML)は作成しないでください。設定ファイルは、Assess CLIによって自動的に作成されます。
ミドルウェア(Grape、Rails、Sinatra)を設定します。
Grape:
Grape::API
を拡張するアプリケーションクラスに直接ミドルウェアを追加するか、クラスが利用できない場合はconfig.ru
ファイルにミドルウェアを追加します。require 'contrast-agent' use Contrast::Agent::Middleware, true
Rails: コードの変更は不要です。
Sinatra:
Sinatra::Base
を拡張するアプリケーションクラスに直接ミドルウェアを追加するか、クラスが利用できない場合はconfig.ru
ファイルにミドルウェアを追加します。require 'contrast-agent' use Contrast::Agent::Middleware, true
エージェントを実行するシステムに
autoconf
がインストールされていることを確認します。ターミナルウィンドウを開き、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つ目のターミナルウィンドウを使用して、アプリケーションを実行します。
アプリケーションを対話的に実行するか、APIやエンドツーエンドのテストを使用して、アプリケーションを疎通します。
Assess CLIコマンドを入力したターミナルウィンドウで、検出結果を確認します。