# REST APIとWebアプリのスキャン

{% hint style="warning" %}
**Agentic Scan は、REST API と Web アプリをテストするための推奨オプションです。** REST スキャナーと同じ OWASP リスク（SQL インジェクション、パストラバーサル、シェルインジェクション）に加え、ファジングでは見つけられないビジネスロジックの欠陥、IDOR、テナント間データ漏えいも対象にします。参照 [Aikido Pentest](https://help.aikido.dev/docs/docs-ja/pentests/aikido-pentest).
{% endhint %}

Aikido は、REST API と Web アプリのエンドポイントをスキャンして、SQL インジェクションやパストラバーサルなどの重大なエンドポイント脆弱性を発見できます。Aikido は API ファジングを使用しており、基本的には API の各フィールドに危険なペイロードを大量に送信します。

{% hint style="danger" %}
本番環境では絶対に実行せず、停止の可能性を避けるため常にステージング環境で実行してください
{% endhint %}

### 主なユースケース <a href="#main-use-cases" id="main-use-cases"></a>

**重大な脆弱性の検出**:

* SQL インジェクション
* NoSQL インジェクション
* パストラバーサル
* シェルインジェクション

すべてのチェックは次で確認できます： [Aikido アプリはこちら](https://app.aikido.dev/domains/checks?scanner=rest).

### REST API スキャンの設定 <a href="#setting-up-rest-api-scanning" id="setting-up-rest-api-scanning"></a>

**ステップ 1:** クリックします **ドメインを追加** を [ドメイン概要](https://app.aikido.dev/domains)、展開 **Advanced** スキャンタイプ選択画面で **REST API**

![詳細セクションが展開され、REST API と GraphQL のオプションが表示されているスキャンタイプ選択モーダル。](https://help.aikido.dev/_assets/7bcef72c2b99/Screenshot-2026-06-26-at-11.20.03.png)

**手順 2.** 次のドメイン名を入力してください： **ステージング環境**. これが REST API のベース URL であることを確認してください（例： `https://example.io/api`)

![アプリケーション設定用の API ドメイン名入力欄。](https://help.aikido.dev/_assets/3d6c8c7e2e8d/ucarecdn-ba74a958-2462-4a6c-88b5-40f2fe05d53d.png)

**ステップ 3:** 次のいずれかの方法で OpenAPI 仕様を追加してください：

* [**Zen App に接続（推奨）**](https://help.aikido.dev/docs/docs-ja/zen-firewall/getting-started-with-zen-firewall)：Zen と統合して API エンドポイントを自動的に検出・更新し、継続的にスキャンします。Zen の詳細 [はこちらで確認できます](https://help.aikido.dev/section/zen-by-aikido/sgIt4HRxlrFr)。手作業や保守は不要です！
* [**Aikido AI で生成（ベータ版）**](https://help.aikido.dev/docs/docs-ja/dast-surface-monitoring/api-scanning/autogenerate-openapi-via-aikido-ai-code2swagger)**:** コードベースを使用して、Aikido が OpenAPI 仕様を生成します。手作業は不要です。定期的な再スキャンで常に最新の状態を保ちます。
* **URL から取得：** OpenAPI 仕様の最新バージョンがある URL を指定してください。Aikido は各スキャンの前にその仕様を取得します。
* **手動アップロード**：OpenAPI ファイルをアップロードして API エンドポイントを定義します。新しい API エンドポイントが追加または変更されるたびに、仕様を手動で更新してアップロードする必要があります。

![セキュリティリスクをスキャンするために OpenAPI 仕様を追加またはアップロードしてください。ステージング環境での使用のみ。](https://help.aikido.dev/_assets/64b39df48419/Screenshot-2025-07-02-at-16.22.50.png)

**ステップ 4:** Aikido がログインを必要とするエンドポイントにアクセスできるよう、API に認証情報を追加してください。これを行うには、ドメインの三点メニューをクリックし、その後 '**ドメインを認証**'

![ドメイン操作メニューのオプション：スキャンを開始、編集、認証、ドメインを削除。](https://help.aikido.dev/_assets/e5ee7225452f/ucarecdn-93e28303-bdd8-43f4-ad11-ed62a73d5cc7.png)

これにより、認証情報を入力できるモーダルが表示されます。対応している認証方法の一覧は、次を参照してください： [REST/GraphQL向け認証済みAPIスキャン](https://help.aikido.dev/docs/docs-ja/dast-surface-monitoring/api-scanning/authenticated-api-scanning-for-rest-graphql).

![API URL、メールアドレス、パスワードの入力欄があるドメイン認証設定フォーム。](https://help.aikido.dev/_assets/3c5ab0eba214/ucarecdn-42a1f3d3-08d5-4a6b-a142-aeaaeda72705.png)

### Aikido のトラフィックを識別する

Aikido の REST および GraphQL スキャンから送信されるすべてのリクエストには、次が含まれます：

* その `User-Agent` が `aikido-scan-agent/1.0`
* 次のヘッダー `aikido-api-test` に設定された値 `1` リクエスト内で
* [は、ここに記載されている IP から送信されます](https://help.aikido.dev/docs/docs-ja/dast-surface-monitoring/miscellaneous/allowing-ip-addresses-for-dast-surface-monitoring)
