日本語

テストユーザーの設定

IDOR、権限昇格、ロジックバグを含む最重要の脆弱性は、ログイン画面の向こう側にあります。それらを見つけるには、Aikido の Pentest エージェントがアクセスできる必要があります。

複雑な Selenium スクリプトやプロキシ記録を必要とする従来のツールとは異なり、Aikido は LLM 駆動のアプローチを採用しています。人間の QA テスターに説明するのと同じように、自然言語でログイン方法をエージェントに伝えるだけです。

認証セットの設定方法は次のとおりです。

  1. テストユーザーを作成

    1. クリックします テストユーザーを追加.
    2. 名前: このセットには説明的な名前を付けてください(例: 管理者ユーザー, 読み取り専用ユーザー, テナントA - マネージャー).

    異なる権限レベル間での Broken Access Control (BAC) をテストするために、複数のペルソナを設定することを推奨します。

  2. ログイン手順を入力

    これは最も重要なステップです。 認証手順 フィールドに、ログインフローの手順を一つずつ文章で記述してください。

    AI エージェントはこれを解析して、あなた固有の UI の癖に対応します。具体的に記述してください。

    記入例:

    次へ移動します: staging.app.com/login

    「ユーザー名でログイン」をクリック

    ユーザー名を入力: pentest_admin

    パスワードを入力: super_secure_password_123

    「サインイン」ボタンをクリック

    AI エージェントは標準的な CAPTCHA を自動的に解決できるようになっています。スキャンのためにこれらを無効にする必要も、個別の手順を指定する必要もありません。

  3. 設定をテスト

    最後に、エージェントがあなたの指示を解釈できることを確認してください:

    1. クリックします 保存してテスト.
    2. エージェントはブラウザセッションを起動し、資格情報と受信トレイの指示を使ってログインを試みます。
    3. 成功すると、エージェントが認証され、ログイン後の状態に到達したことを示す確認メッセージが表示されます。

高度なログインフロー

アプリケーションが単純なユーザー名とパスワード以上を必要とする場合は、専用ツールをご利用ください:

ベンダー固有の認証フロー:

  • Google 認証: Google Workspace のログインフローのネイティブサポートはベータ版で利用できます。
  • Microsoft 認証: 二段階認証付きの Microsoft アカウントをサポートします。
  • Auth0 の設定: 複数エージェント間でのセッション共有をサポートするために必要な OAuth プロバイダー設定。

OAuth と JWT アプリ

Aikido Pentest は、多数のエージェントを並列に実行し、テストユーザーごとに 1 つの認証済みセッションを共有します。セッションを評価全体を通して維持するため、同じリフレッシュトークンが各エージェントで再利用されます。

これを安定して動作させるには、ID プロバイダー(Auth0、Cognito、Azure AD / Entra ID、Keycloak、カスタム OIDC など)を次のように設定する必要があります:

  • リフレッシュトークンを再利用可能にする。 単回使用のリフレッシュトークンと、交換時に前のトークンを無効化するリフレッシュトークンローテーションを無効にします。
  • リフレッシュトークンの有効期限が、評価期間を超えていること。 一般的なペンテストは数時間かかることがあるため、有効期限はそれに合わせて設定してください(例:7200 秒超)。
  • 短命のアクセストークン(JWT)でも問題ありません。 ただし、上記の条件下でリフレッシュが機能することが前提です。

よくある失敗パターン: 単回使用またはローテーションするリフレッシュトークンでは、最初のエージェントのリフレッシュがそのトークンを消費します。ほかのエージェントは保存済みセッションを、すでに無効になったトークンで再読み込みし、 403 リフレッシュ時に失敗し、アクセストークンが期限切れになるとそこで行き詰まります。

症状としては、事前チェックは成功するものの、評価の途中でエージェント全体にわたって大量の認証失敗が発生します。

Auth0 については、次の手順どおりに設定してください: Auth0の設定。同じチェックリストは他の OIDC プロバイダーにも適用できます。

IDプロバイダーを変更できない場合は、 認証情報の共有を無効にする 代わりにこれを有効にします。そうすると、各エージェントはそれぞれ専用のテストユーザーを使用するため、更新トークンは共有されません。

ベストプラクティス

  • 本番用の認証情報は使用しないでください: ペンテストは必ずステージングまたは QA 環境で実施してください。スキャナーはデータを破損させる可能性のある侵襲的なテストを実行します。
  • 専用のテストアカウントを作成してください: 個人の開発者アカウントは使用しないでください。スキャナー専用のアカウントを作成してください(例: aikido-scanner@yourdomain.com).
  • すべてのテナントを網羅する: アプリがマルチテナントの場合は、異なるテナントのユーザー用の認証情報を追加してください(例: ユーザー - テナントA, ユーザー - テナントB)。これにより、AI がテナント間のデータ漏えいをテストできます。

トラブルシューティング

認証は次のタイミングで検証されます: 事前チェック 起動直後です。エージェントの画面をリアルタイムで確認し、成功するかどうかを見られます。

エージェントがログインに失敗した場合:

  • 失敗箇所を確認してください: エラーログ内のエージェントのスクリーンショットを確認し、どこで止まったのかを正確に把握してください。
  • 基本確認の手順: シークレットウィンドウで、提供した手順を手動で一通り実行してください。手順を飛ばしていたり、ボタンが分かりにくかったりすると、エージェントがうまく進めないことがあります。
  • アクセシビリティを確認: URL はパブリックインターネットから到達可能ですか?(IP ホワイトリストを確認してください)。
  • アカウントの状態: テストユーザーがロックアウトされていないことを確認してください。