コンテンツにスキップ

テストユーザーの設定

IDOR、権限昇格、ロジックの不具合といった最も重大な脆弱性の多くは、ログイン画面の背後に潜んでいます。これらを見つけるには、Aikido の Pentest エージェントがアクセス権を持つ必要があります。

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

以下は認証セットの設定方法です。

  1. **「Add Test User」**をクリックします。
  2. Name: このセットにわかりやすい名前を付けます(例: Admin UserRead-Only UserTenant A - Manager)。

これが最も重要なステップです。Authentication instructions フィールドに、ログインフローを段階的に説明するテキストを入力します。

AI エージェントはこれを解析して、あなたのアプリ固有の UI の癖を操作します。できるだけ明確に記述してください。

記述例:

Navigate to staging.app.com/login

Click on "Log in with Username"

Enter username: pentest_admin

Enter password: super_secure_password_123

Click the “Sign In” button

最後に、エージェントが指示を正しく解釈できるか確認します。

  1. **「Save & Test」**をクリックします。
  2. エージェントがブラウザセッションを起動し、認証情報とインボックスの指示を使ってログインを試みます。
  3. 成功すると、エージェントが認証されてログイン後の状態に到達したことを示す確認画面が表示されます。

アプリケーションが単純なユーザー名とパスワードだけでなく追加の手順を必要とする場合は、以下の専用ツールを使用してください。

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

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

Aikido Pentest は多数のエージェントを並行して実行し、テストユーザーごとに1つの認証済みセッションを共有します。同じリフレッシュトークンがエージェント間で再利用され、アセスメント中そのセッションを維持します。

これが確実に機能するためには、ID プロバイダー(Auth0、Cognito、Azure AD / Entra ID、Keycloak、カスタム OIDC など)を以下のように設定する必要があります。

  • リフレッシュトークンを再利用可能にする。 単発利用のリフレッシュトークンや、交換時に以前のトークンを無効化するリフレッシュトークンローテーションを無効にしてください。
  • リフレッシュトークンの有効期間をアセスメントの期間より長くする。 典型的なペネトレーションテストは数時間実行されることがあるため、それに応じた有効期間を設定してください(例: 7200秒より長く)。
  • 短命なアクセストークン(JWT)は問題ありません。上記のルールに従ってリフレッシュが機能する限り。

Auth0 の場合は、Auth0 の設定 の段階的な設定手順に従ってください。同じチェックリストは他の OIDC プロバイダーにも適用されます。

  • 本番環境の認証情報を使用しない: ペネトレーションテストは必ずステージング環境または QA 環境で実行してください。スキャナーは侵襲的なテストを実行するため、データが破損する可能性があります。
  • 専用のテストアカウントを作成する: 個人の開発者アカウントを使用しないでください。スキャナー専用のアカウントを作成します(例: [email protected])。
  • すべてのテナントをカバーする: アプリがマルチテナントの場合、異なるテナントのユーザーの認証情報を追加してください(例: User - Tenant AUser - Tenant B)。これにより、AI がテナント間のデータ漏洩をテストできるようになります。

認証は、起動直後の プリフライトチェック で検証されます。エージェントの画面をリアルタイムで確認し、成功しているかどうかを確認できます。

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

  • 失敗内容を確認する: エラーログ内のエージェントのスクリーンショットを確認し、どこで詰まったのかを正確に把握してください。
  • 手順を目視で確認する: 提供した指示をシークレットウィンドウで手動で実行してみてください。手順が抜けていたり、ボタンがわかりにくかったりすると、エージェントが操作に苦労する可能性があります。
  • 到達可能性を確認する: URL がパブリックインターネットから到達可能か(IP ホワイトリスト設定を確認してください)。
  • アカウントの状態: テストユーザーがロックアウトされていないか確認してください。