日本語

REST/GraphQL向け認証済みAPIスキャン

このガイドでは、Aikidoで認証付きドメインスキャンを設定する手順を説明し、徹底的かつ安全な評価を実現します。

APIスキャンはProおよびAdvancedプランでのみ利用可能です

ユースケース

  • ウェブサイトの保護された領域に対する包括的なセキュリティ評価を実現します。
  • APIの認証が必要なセクションにある脆弱性を特定します。

ドメインでの認証の設定

ステップ1: Domains Overviewに移動し、任意のREST/GraphQL APIドメインの三点リーダーをクリックしてアクションメニューを開きます。Authenticate Domainを選択します。

ドメインのスキャン、設定、認証、削除のオプションがあるドメインのアクションメニュー。

ステップ2: 認証に使用する方法を選択します。

複数のログイン方法のオプションと認証情報の入力フィールドがある認証設定画面。

すべての種類のスキャン認証情報は、PKCS1暗号化を使用して安全に保存されます

認証オプション

フォームによるログイン

ドメイン認証用のURLとメールアドレス/パスワードを入力します。Testをクリックすると、Aikidoがその認証情報でドメインにアクセスできるかどうかを確認します。

二要素認証が有効な場合は、ワンタイムパスワードの情報も入力できます。OTP URLとその仕組みの詳細については、ドキュメントを参照してください。

  • Microsoft / Google SSOは現在サポートされていません。回避策として、手動で認証し、カスタムヘッダーのCookieヘッダーを使用して有効なセッションを渡すことができます。
  • お使いのケースがサポートされていませんか?チャットでお知らせいただければ、検討いたします!

フォームベースのログイン認証情報を設定するドメイン認証設定画面。

Aikidoは以下のルールに従ってフォームの送信を試みます:

  1. GoogleやFacebookなどの一般的なOAuthオプションを除外したうえで、type=submitを持つ表示されているボタンまたは入力フィールドを探します
  2. ラベルまたはテキストに基づいてボタンを探します。login、log in、submit、sign inなどと同一または類似のテキストを探します。これは複数の言語で行われます。
  3. HTML IDのセットに基づいてボタンを探します(例:id=form-submit)
  4. ページ上で最初に表示されているボタンを探します

カスタムヘッダー

エンドポイントが、作成後に変更されるべきでない固定のキー、Cookie、またはトークンを受け付ける場合は、このオプションを使用してカスタムヘッダーとして追加できます。

ユースケース:

  • Cookie: Cookie ヘッダーを設定します。

    Cookie: sessionId=38afes7a8
  • JWT Bearer トークン: Authorization ヘッダーを設定します。

    Authorization: Bearer <token>

OAuth Client Credentials

このオプションは、MFAを回避したい場合に使用できます。Aikidoは、Client CredentialsフローのOAuth仕様に従って、指定されたログインURLにリクエストを送信します。具体的には、設定されたログインURLに対してPOSTリクエストを送信し、grant_typeをclient_credentialsに設定するとともに、client_idとclient_secretをそれぞれユーザー名とパスワードとして含むBasic認証ヘッダーを付与します。

OAuth Password Grant

API が OAuth Password Grant フローを使用してユーザーの認証情報(ユーザー名とパスワード)を直接必要とする場合は、このオプションを選択してください。Aikido は、grant_type を password に設定し、指定されたユーザー名とパスワードを含めた POST リクエストをログイン URL に送信します。API によっては、Client ID と Secret も必要になる場合があります。

Basic Auth

API が標準の Basic 認証を使用している場合は、このオプションを選択してください。ユーザー名とパスワードを入力すると、Aikido が API へのすべてのリクエストに必要な Authorization: Basic ... ヘッダーを自動的に付与します。

AI Agent によるログイン(ベータ版)

AI Agent は LLM を使用して実際のブラウザセッションを操作します。人間と同じように、指定された指示に従って認証プロセスを完了します。これは次のような場合に適しています:

  • フォームベースのログイン
  • 静的 OTP またはワンタイムコード
  • 複数ステップの認証フロー
  • カスタムまたは非標準のログイン画面

認証情報や必要な操作を含め、明確なステップごとの指示を記述してください。エージェントは、詳細な設定を必要とせずに、リダイレクト、動的ページ、中間ステップを処理できます。ほとんどの場合、短くシンプルな指示で十分です。