> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing.md).

# テストユーザーの設定

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

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

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

{% stepper %}
{% step %}
**テストユーザーを作成**

1. クリック **テストユーザーを追加**.
2. **名前：** このセットに説明的な名前を付けます（例： `管理者ユーザー`, `読み取り専用ユーザー`, `テナントA - マネージャー`).

{% hint style="info" %}
異なる権限レベル間でのアクセス制御の不備（BAC）をテストするために、複数のペルソナを設定することを推奨します。
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/f68aea6d35808bf9c9032719877c0274f3bf2a65" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**ログイン手順を提供**

これは最も重要なステップです。 **認証手順** フィールドに、ログインフローの手順を段階的なテキストで記述してください。

AIエージェントはこれを解析し、特定のUIの癖に対応して操作します。具体的に記述してください。

**形式の例：**

> 次へ移動: `staging.app.com/login`
>
> 「ユーザー名でログイン」をクリック
>
> ユーザー名を入力： `pentest_admin`
>
> パスワードを入力： `super_secure_password_123`
>
> 「サインイン」ボタンをクリック

{% hint style="info" %}
AIエージェントには、標準的なCaptchaを自動的に解く機能が備わっています。スキャンのためにこれを無効化したり、個別の手順を与えたりする必要はありません。
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/1260502aa1c39ff254725637ab955445e789c9b4" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
**設定をテスト**

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

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

<div data-with-frame="true"><figure><img src="/files/726ecb94de086b9f6e89ac02a9b6f7c822bf8512" alt=""><figcaption></figcaption></figure></div>
{% endstep %}
{% endstepper %}

### 高度なログインフロー

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

* [**メール認証とマジックリンク：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/handling-email-verification-and-magic-links.md) メール内のリンクをクリックする必要がある場合や、コードを受け取る必要がある場合。
* [**二要素認証（TOTP）：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/handling-two-factor-authentication-totp.md) 認証アプリから6桁のコードを生成する必要がある場合。
* [**SMS認証：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/handling-sms-verification.md) SMSベースの認証コードを扱う必要がある場合。
* [**エージェントが新規アカウントを作成：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/agent-creates-new-account.md) 自然言語の指示から使い捨てのテストユーザーをエージェントに生成させます。複数ロールのカバレッジに便利です。

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

* [**Google認証：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/google-auth.md) Google Workspaceのログインフローに対するネイティブサポートがベータ版で利用できます。
* [**Microsoft認証：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/microsoft-auth.md) 2段階認証付きのMicrosoftアカウントをサポートします。
* [**Auth0の設定：**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/oauth0-configuration.md) 複数のエージェント間でセッション共有をサポートするために必要なOAuthプロバイダー設定。

### OAuthおよびJWTアプリ

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

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

* **リフレッシュトークンを再利用可能にする。** 1回のみ使用のリフレッシュトークンと、交換時に前のトークンを無効化するリフレッシュトークンのローテーションを無効にします。
* **リフレッシュトークンの有効期間が評価期間を上回る。** 一般的なペネトストは数時間実行されることがあります。したがって、有効期間もそれに合わせて設定してください（例：7200秒より長く）。
* **短命なアクセストークン（JWT）は問題ありません** 上記の条件でリフレッシュが機能する限りは。

{% hint style="warning" %}
**よくある失敗パターン：** 1回のみ使用またはローテーションするリフレッシュトークンでは、最初のエージェントの更新がトークンを消費してしまいます。ほかのエージェントは、保存されたセッションをすでに無効なトークンで再読み込みし、 **403** で失敗し、アクセストークンの期限切れ後に行き詰まります。

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

Auth0については、 [**Auth0の設定**](/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing/oauth0-configuration.md)の手順どおりに設定してください。同じチェックリストは他のOIDCプロバイダーにも適用できます。

### ベストプラクティス

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

### トラブルシューティング

認証は **事前チェック** で起動直後に確認されます。成功するかどうかをエージェントの画面でリアルタイムに確認できます。

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

* **失敗を調べる：** エラーログ内のエージェントのスクリーンショットを確認し、どこで止まったのかを正確に把握してください。
* **整合性チェックの手順：** 提供した手順をシークレットウィンドウで手動でたどってください。手順を飛ばしたり、ボタンが分かりにくかったりすると、エージェントはうまく進めない可能性があります。
* **アクセシビリティを確認：** URLは公開インターネットから到達可能ですか？（IPホワイトリストを確認してください）。
* **アカウントの状態：** テストユーザーがロックアウトされていないことを確認してください。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/penetorshontesuto/configure-a-pentest/setting-up-authenticated-testing.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
