Androidアプリのペンテスト
ネイティブまたはハイブリッドのAndroidアプリをテストするためにAikido Pentestをセットアップします。
Aikido Pentestは、Mobile ApplicationアセスメントでネイティブおよびハイブリッドのAndroidアプリを評価します。テストはホワイトボックス方式のため、Androidアプリのソースコードを含むリポジトリを接続してください。
以下のウォークスルー動画を視聴するか、さらに下のステップバイステップガイドに従ってください。
1つのアプリまたは両方をテストする
Scopeステップで、このアセスメントの対象となるモバイルアプリをアップロードし、それらが呼び出すWebアプリまたはAPIを追加します。
| 含めるもの | Aikidoがテストする対象 |
|---|---|
| IPAとWeb URL | iOSアプリと、そのWebアプリまたはAPI。iOSアプリのペネトレーションテストを参照してください。 |
| APKとWeb URL | Androidアプリと、そのWebアプリまたはAPI |
| APK、IPA、Web URL | 両方のアプリと、共有のWebアプリまたはAPI |
アプリにバックエンドがある場合は、Web URLを追加してください。AndroidとiOSの両方がある場合は両方のアプリをアップロードすると、1つのアセスメントで共有のWebアプリまたはAPIを1回だけテストし、両方のクライアントをカバーできます。アセスメントを分けると、その作業が重複します。
モバイルアプリのないWebサイトやAPIは、Web Applicationアセスメントになります。ペネトレーションテストのセットアップ方法を参照してください。
アセスメントは、本番環境にできるだけ近いテスト環境に対して実行してください。本番環境のデータやアカウントは使用しないでください。
前提条件
- Manage Pentestsの権限
- ウォレット内の十分なクレジット
- Aikidoに接続できるリポジトリ内のAndroidアプリのソースコード
- 証明書ピンニング、root検出、エミュレーター検出のないテスト用APK(最大500 MB)
APKを準備する
評価対象アプリのテスト用APKをアップロードします(最大500 MB)。
そのテストビルドでは、次の設定を行ってください:
- 証明書ピンニングを無効にする。
- root検出とエミュレーター検出を無効にする。
Androidアセスメントを作成する
Mobile Applicationを選択する
Pentestsに移動し、Projectを開いて、Create Assessmentをクリックします。Select Pentest Targetステップで、Mobile Applicationを選択します。

テスト範囲を定義する
Scopeステップで、WebアプリまたはAPIのURL(例:
https://api.application.com)を追加し、Aikidoがそれらのエンドポイントをテストできるようにします。Android Applicationで、APK(最大500 MB)をアップロードします。Aikidoはファイルからパッケージ名を読み取ります。APKでは、証明書ピンニング、root検出、エミュレーター検出を使用しないでください。
Androidのみを実行する場合は、APKだけをアップロードします。アセスメントで両方のアプリをカバーする場合は、このステップでIPAもアップロードしてください。iOSアプリのペネトレーションテストを参照してください。
Test entire applicationまたはTest specific parts onlyを選択します。

テストユーザーを追加する
管理者、一般ユーザー、別テナントのユーザーなど、Aikidoにテストさせたい各ロールのテストユーザーを追加します。
アセスメントに両方のアプリが含まれる場合は、AndroidユーザーのPlatformをAndroidに設定します。ユーザー名とパスワードによる認証では、Aikidoはログイン URLの代わりにパッケージ名を使用します。
起動前にログインのプリフライトチェックを実行できます。テストユーザーのセットアップを参照してください。

アクセス、コンテキスト、安全性を設定する
ウィザードの残りのステップを設定します:
- Allowed Domains: テスト中にアプリがアクセスする必要のあるドメインを許可します。
- Code & Documentation: Androidアプリのソースコードを含むリポジトリを接続します。Aikidoはモバイルアプリに対してホワイトボックステストのみをサポートしているため、アセスメントにはそのリポジトリが必要です。バックエンドのリポジトリをリンクしたり、ドキュメントを追加したりすることもできます。コードとドキュメントの活用を参照してください。
- Safety Check: リクエストレートと許可されたテスト時間帯を設定します。安全対策を参照してください。
- Pricing: アセスメントプロファイルを選択し、クレジットコストを確認します。Pentestの料金を参照してください。
確認して起動する
Summaryステップで、Android Appのパッケージ名とその他の設定を確認し、Run Assessmentをクリックします。
結果を確認する
アセスメントを開いて進捗を確認し、Issuesタブを確認します。Androidの検出結果には、機密データの取り扱い、ネットワークセキュリティ、プラットフォームとのやり取り、WebViewのセキュリティ、クライアント側認証、暗号化、ビルド構成などが含まれます。
アセスメントが完了したら、アセスメントからPDFをダウンロードします。Pentestレポートを参照してください。
アプリで検出結果を再テストする前に、アセスメントの概要から新しいAPKをアップロードしてください。Pentestの検出結果を再テストするを参照してください。