Skip to main content

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

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

開始する前に

手順

  1. 以下のエントリをアプリケーションのgemfileに追加します。

    gem 'contrast-agent'
  2. Contrastエージェントをインストールまたはアップデートします。

    • 以下のコマンドでエージェントをインストール:

      bundle install
    • 以下のコマンドでエージェントをアップデート:

      bundle update contrast-agent

    重要

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

  3. ミドルウェア(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
  4. エージェントを実行するシステムにautoconfがインストールされていることを確認します。

  5. ターミナルウィンドウを開き、Assess CLIコマンドを入力します。

    contrast assess
    

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

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

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

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

  6. IDEまたは2つ目のターミナルウィンドウを使用して、アプリケーションを実行します。

  7. アプリケーションを対話的に実行するか、APIやエンドツーエンドのテストを使用して、アプリケーションを疎通します。

  8. Assess CLIコマンドを入力したターミナルウィンドウで、検出結果を確認します。