コンテンツにスキップ

REST/GraphQL向け認証付きAPIスキャン

このガイドでは、Aikidoで認証付きドメインスキャンを設定する手順を説明し、保護されたエリアも含めた包括的かつ安全な評価を実現します。

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

  • Webサイトの保護されたエリアについて、包括的なセキュリティ評価を実施します。
  • APIの認証が必要な部分にある脆弱性を特定します。

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

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

手順2: 希望する認証方法を選択します。

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

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

Login via Form(フォームでのログイン)

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

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

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

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

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

Custom Headers(カスタムヘッダー)

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

ユースケース:

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

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

    Authorization: Bearer <token>

OAuth Client Credentials(OAuthクライアントクレデンシャル)

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

OAuth Password Grant(OAuthパスワードグラント)

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

Basic Auth(Basic認証)

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

Login via AI Agent(AIエージェントによるログイン)(beta)

AI Agentは、LLMを使って実際のブラウザセッションを操作します。ユーザーが提供した指示に従い、人間と同じように認証プロセスを完了します。これは以下のようなケースで有効です。

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

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