テストユーザーの設定
IDOR、権限昇格、ロジックの不具合といった最も重大な脆弱性の多くは、ログイン画面の背後に潜んでいます。これらを見つけるには、Aikido の Pentest エージェントがアクセス権を持つ必要があります。
複雑な Selenium スクリプトやプロキシの記録が必要な従来型ツールとは異なり、Aikido は LLM 駆動のアプローチを採用しています。人間の QA テスターに説明するのと同じように、自然言語でログイン方法をエージェントに伝えるだけです。
以下は認証セットの設定方法です。
1. テストユーザーを作成する
Section titled “1. テストユーザーを作成する”- **「Add Test User」**をクリックします。
- Name: このセットにわかりやすい名前を付けます(例:
Admin User、Read-Only User、Tenant A - Manager)。

2. ログイン手順を入力する
Section titled “2. ログイン手順を入力する”これが最も重要なステップです。Authentication instructions フィールドに、ログインフローを段階的に説明するテキストを入力します。
AI エージェントはこれを解析して、あなたのアプリ固有の UI の癖を操作します。できるだけ明確に記述してください。
記述例:
Navigate to
staging.app.com/login
Click on "Log in with Username"Enter username:
pentest_adminEnter password:
super_secure_password_123Click the “Sign In” button

3. 設定をテストする
Section titled “3. 設定をテストする”最後に、エージェントが指示を正しく解釈できるか確認します。
- **「Save & Test」**をクリックします。
- エージェントがブラウザセッションを起動し、認証情報とインボックスの指示を使ってログインを試みます。
- 成功すると、エージェントが認証されてログイン後の状態に到達したことを示す確認画面が表示されます。

高度なログインフロー
Section titled “高度なログインフロー”アプリケーションが単純なユーザー名とパスワードだけでなく追加の手順を必要とする場合は、以下の専用ツールを使用してください。
- メール認証とマジックリンク: メール内のリンクをクリックする必要がある場合や、コードを受け取る必要がある場合。
- 2要素認証(TOTP): 認証アプリから6桁のコードを生成する必要がある場合。
- SMS認証: SMSベースの認証コードを処理する必要がある場合。
- エージェントによる新規アカウント作成: 自然言語の指示からエージェントに使い捨てのテストユーザーを生成させます。マルチロールのカバレッジに便利です。
ベンダー固有の認証フロー:
- Google 認証: Google Workspace のログインフローへのネイティブサポートがベータ版で利用可能です。
- Microsoft 認証: 2段階認証を使用する Microsoft アカウントへのサポート。
- Auth0 の設定: 複数のエージェント間でセッションを共有するために必要な OAuth プロバイダーの設定。
OAuth と JWT アプリ
Section titled “OAuth と JWT アプリ”Aikido Pentest は多数のエージェントを並行して実行し、テストユーザーごとに1つの認証済みセッションを共有します。同じリフレッシュトークンがエージェント間で再利用され、アセスメント中そのセッションを維持します。
これが確実に機能するためには、ID プロバイダー(Auth0、Cognito、Azure AD / Entra ID、Keycloak、カスタム OIDC など)を以下のように設定する必要があります。
- リフレッシュトークンを再利用可能にする。 単発利用のリフレッシュトークンや、交換時に以前のトークンを無効化するリフレッシュトークンローテーションを無効にしてください。
- リフレッシュトークンの有効期間をアセスメントの期間より長くする。 典型的なペネトレーションテストは数時間実行されることがあるため、それに応じた有効期間を設定してください(例: 7200秒より長く)。
- 短命なアクセストークン(JWT)は問題ありません。上記のルールに従ってリフレッシュが機能する限り。
Auth0 の場合は、Auth0 の設定 の段階的な設定手順に従ってください。同じチェックリストは他の OIDC プロバイダーにも適用されます。
ベストプラクティス
Section titled “ベストプラクティス”- 本番環境の認証情報を使用しない: ペネトレーションテストは必ずステージング環境または QA 環境で実行してください。スキャナーは侵襲的なテストを実行するため、データが破損する可能性があります。
- 専用のテストアカウントを作成する: 個人の開発者アカウントを使用しないでください。スキャナー専用のアカウントを作成します(例:
[email protected])。 - すべてのテナントをカバーする: アプリがマルチテナントの場合、異なるテナントのユーザーの認証情報を追加してください(例:
User - Tenant A、User - Tenant B)。これにより、AI がテナント間のデータ漏洩をテストできるようになります。
トラブルシューティング
Section titled “トラブルシューティング”認証は、起動直後の プリフライトチェック で検証されます。エージェントの画面をリアルタイムで確認し、成功しているかどうかを確認できます。
エージェントがログインに失敗する場合:
- 失敗内容を確認する: エラーログ内のエージェントのスクリーンショットを確認し、どこで詰まったのかを正確に把握してください。
- 手順を目視で確認する: 提供した指示をシークレットウィンドウで手動で実行してみてください。手順が抜けていたり、ボタンがわかりにくかったりすると、エージェントが操作に苦労する可能性があります。
- 到達可能性を確認する: URL がパブリックインターネットから到達可能か(IP ホワイトリスト設定を確認してください)。
- アカウントの状態: テストユーザーがロックアウトされていないか確認してください。