コンテンツにスキップ

認証済みスキャン

Ostorlabは、モバイルアプリケーション、Webアプリケーション、およびバックエンドサーバーの両方で認証済みスキャン(Authenticated scans)を実行するためのサポートを提供します。 資格情報は、「Add Test Credentials」メニューを使用してスキャン(Scan)作成時に設定できます。

開始する前に何が必要ですか?

ターゲット上のテストアカウント、その認証情報、ログイン時にコードを求められる場合は2FAの詳細、そしてスキャナーからターゲットへのネットワークアクセスが必要です。

  • ターゲット上のテストアカウント。 ログインに失敗してもロックアウトされない、専用のテストアカウントを推奨します。
  • そのアカウントの認証情報。 たとえば、ログインとパスワード、または複数のステップからなるログインフロー用の Puppeteerスクリプトです。どの種類の認証情報を追加できますか? を参照してください。
  • ログインで必要な場合は、2FAの方式。 方式によっては、SMS用の専用テスト電話番号など、事前の準備が必要です。OTPとMFAはどのように扱いますか? を参照してください。
  • ターゲットへのネットワークアクセス。 スキャナーにはどのようなネットワークアクセスが必要ですか? を参照してください。
  • モバイルスキャンの場合は、アプリケーション。 AndroidではAPKまたはAABファイル、iOSでは暗号化されていないIPAファイルをアップロードするか、ストアからアプリケーションをスキャンします。

どの種類の認証情報を追加できますか?

Login & Password、Basic Authentication、Email、Credit card、Phone Number、Address、Certificates、Script、Custom、HTTP Header の各認証情報に加え、4種類の2FA(SMS、Email、TOTP、Manual)を追加できます。各種類の説明は下の表のとおりです。

スキャンを作成するとき、set scan Credentials ステップで、Add Test Credentials をクリックします。

Add Test Credentials Button Location

メニューが表示され、ユーザー名/パスワード、クレジットカードデータ、住所、電話番号などの複数のテスト資格情報とパラメーターを追加して、支払い(Payment)やチェックアウト(Checkouts)などの複数のテストとシナリオを実行できるようになります。

Test Credentials Configuration Menu

Test Credentials メニューから認証情報を管理し、スキャン作成時に選択することもできます。次の種類の認証情報を利用できます:

種類 用途
Login & Password ユーザー名とパスワードを必要とするシンプルな認証フロー。
Basic Authentication HTTP Basic Authentication方式を使用するターゲット。
Email テスト中に使用する電子メールアドレス。
Credit card 支払いやチェックアウトなどのシナリオ用のカードデータ。
Phone Number テスト中に使用する電話番号。
Address テスト中に使用する住所。
Certificates 相互TLS用のTLS/SSLクライアント証明書。モバイルアプリケーションの場合、証明書はPEM形式である必要があります。
Script 複雑な認証フローやチェックアウトなどの操作のための Puppeteerスクリプト。
Custom ユーザー名、パスワード、ドメイン名などのカスタムフォームフィールド用のキーと値のペア。
HTTP Header APIでよく使用される Authorization や User-Agent などのヘッダー。
2FA SMS, 2FA Email, 2FA TOTP, 2FA Manual ワンタイムコードを求めるログイン。OTPとMFAはどのように扱いますか? を参照してください。

Login and Password Input Fields

Webの詳しい手順については、認証済みWebスキャン を参照してください。Web Agentic Deep Scan、モバイル Agentic Deep Scan、マルチアセットスキャンの実行 の各ガイドにも同じ認証情報のステップがあります。

puppeteerスクリプト / Chrome RecorderによるWebアプリ認証

より複雑な認証フローを必要とするWebアプリケーションがある場合は、スキャン中に実行されるPuppeteerスクリプトをアップロードできます。これらのスクリプトは、the Chrome Devtool Recorderを使用して生成できます。

Puppeteer Script Upload Interface

証明書を使用した認証を必要とするモバイルアプリケーションの場合は、証明書をアップロードできます。証明書はPEM形式である必要があります。

Certificate Authentication Option

証明書をアップロードします

Certificate Upload Dialog

OTPとMFAはどのように扱いますか?

ログインの認証情報に加えて、2FAの認証情報 (SMS、Email、TOTP、Manual) を追加します。

それぞれ Scan > Test Credentials > New から作成します。アプリケーションがコードを送信する方法に合った方式を選択してください:

方式 提供するもの 主な条件
2FA SMS アプリケーションがOTPメッセージを送信する Sender Phone Number。 専用のテスト電話番号については Ostorlab Support に連絡し、その番号をテストアカウントに設定します。
2FA Email Email Sender アドレス、およびテスト用メールボックスの電子メールアドレスとパスワード。 メールボックスでIMAP/SMTPアクセスが有効になっている必要があります。メールプロバイダーが2FAを強制している場合は、通常のパスワードではなくアプリパスワード (App Password) を使用してください。
2FA TOTP Base32でエンコードされた TOTP Secret (シード)。 テストアカウントでTOTPを有効にし、認証アプリの設定時に表示されたシードを保管しておきます。
2FA Manual Sender の参照ラベル。 スキャンは2FAのステップで一時停止します。スキャンの詳細からコードを入力するまで、スキャンは一時停止したままになります。

手順の詳細については、自動スキャンにおける二要素認証 (2FA) を参照してください。

モバイルアプリケーションの複雑な認証スキーム

OTPやランダムテンキーなどの複雑な認証スキームは、Appiumスクリプトを使用して自動化されるか、Ostorlabサポートメンバーによって1回限り手動で実行されます。アプリケーションにカスタム認証スキームが必要な場合は、メールでお問い合わせください:アドバイスについては support@ostorlab.dev までご連絡ください。

複数のユーザーロールでテストできますか?

1つのスキャンに複数のテスト認証情報を追加できます。ログインとパスワードの認証情報には任意の role の値も指定できますが、これはUIではなく、APIまたはCI連携で設定します。

  • UIでは、1つのスキャンに複数のテスト認証情報を追加できます。
  • APIでは、スキャンは認証情報IDのリスト (credentialIds) を受け取り、ロールは LoginPasswordTestCredentials 型の role フィールドで設定します。API を参照してください。
  • CI連携では、ログインとパスワードとともにロールを渡すことができます:
    • GitLab: OSTORLAB_CREDENTIALS は login,password,role,url 形式のセミコロン区切りのリストを受け取ります。モバイルスキャンでは、ロールとURLは任意です。
    • Bitrise: --test-credentials-role は任意のロールフィールドで、--test-credentials-login および --test-credentials-password と一緒に使用します。

スキャナーにはどのようなネットワークアクセスが必要ですか?

WAFやファイアウォールがスキャンに干渉しないように、スキャナーのIPアドレス を許可リストに追加してください。ターゲットがインターネットに公開されていない場合は、リバースプロキシまたはオンプレミススキャナーを使用してください。内部Webアプリケーションのスキャン を参照してください。

ログインが成功したことはどのように確認しますか?

スキャンの Call Coverage を開き、リクエストと画面を確認して、スキャナーがログインし、保護された領域に到達したことを確認します。

スキャナーが複数ステップのフローを通過できない場合は、UI Prompts でガイドできます。UI Promptsは、アカウント作成などの複数ステップの操作に対する自然言語の指示です。スキャンのCall Coverageには、使用されたUI Promptsが表示されます。

ログインに失敗した場合はどうすればよいですか?

ログインの失敗のほとんどは、次の4つの原因のいずれかによるものです:スキャナーがターゲットに到達できない、SMSまたは電子メールのコードが取得されない、スキャンが2FA Manualのステップで一時停止している、またはフローがログインとパスワードでは対応できないほど複雑である。該当するケースを以下で確認してください。

スキャナーがターゲットに到達できない

SMSのコードが取得されない

  • テストアカウントでSMS 2FAが有効になっていることを確認してください。
  • アプリケーションのスパム対策やレート制限のポリシーが、ゲートウェイからの受信メッセージを許可していることを確認してください。
  • Sender Phone Number が、OTP受信時にデバイスに表示される番号と完全に一致していることを確認してください。

電子メールのコードが取得されない

  • メール本文に、コードが明確で読みやすい形式で表示されていることを確認してください。
  • メールボックスでIMAP/SMTPアクセスが有効になっていること、および認証情報 (特にアプリパスワード (App Password)) が正しいことを確認してください。
  • メールボックスが、スキャナーのログインを妨げる追加の2FAで保護されていないことを確認してください。

スキャンが一時停止している

  • 2FA Manualの認証情報は、コードを入力するまでスキャンを一時停止します。スキャンの詳細を開き、トークンの入力 の説明に従ってトークンを送信してください。

ログインフローがログインとパスワードでは複雑すぎる

  • Webアプリケーションの場合は、フローを Puppeteerスクリプト として記録してください。
  • 複数ステップのフローの場合は、UI Prompts を追加してください。

アプリケーションがカスタム認証スキームを使用している場合や、それでもログインに失敗する場合は、support@ostorlab.dev までお問い合わせください。