
# Androidアプリのペネトレーションテスト

Aikido Pentestは、**Mobile Application**アセスメントでネイティブおよびハイブリッドのAndroidアプリを評価します。テストはホワイトボックス方式のため、Androidアプリのソースコードを含むリポジトリを接続してください。

以下のウォークスルー動画を視聴するか、さらに下のステップバイステップガイドに従ってください。

{% embed url="https://www.youtube.com/watch?v=EGzGZIr2rn4" %}

## 1つのアプリまたは両方をテストする

**Scope**ステップで、このアセスメントの対象となるモバイルアプリをアップロードし、それらが呼び出すWebアプリまたはAPIを追加します。

| 含めるもの | Aikidoがテストする対象 |
| --- | --- |
| IPAとWeb URL | iOSアプリと、そのWebアプリまたはAPI。[iOSアプリのペネトレーションテスト](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/ios-pentesting)を参照してください。 |
| APKとWeb URL | Androidアプリと、そのWebアプリまたはAPI |
| APK、IPA、Web URL | 両方のアプリと、共有のWebアプリまたはAPI |

アプリにバックエンドがある場合は、Web URLを追加してください。AndroidとiOSの両方がある場合は両方のアプリをアップロードすると、1つのアセスメントで共有のWebアプリまたはAPIを1回だけテストし、両方のクライアントをカバーできます。アセスメントを分けると、その作業が重複します。

モバイルアプリのないWebサイトやAPIは、**Web Application**アセスメントになります。[ペネトレーションテストのセットアップ方法](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/starting-an-assessment)を参照してください。

{% hint style="warning" %}
アセスメントは、本番環境にできるだけ近いテスト環境に対して実行してください。本番環境のデータやアカウントは使用しないでください。
{% endhint %}

## 前提条件

* **Manage Pentests**の[権限](https://help.aikidogov.us/docs/docs-ja/getting-started/automated-user-management/setting-roles-and-permissions)
* [ウォレット](https://help.aikidogov.us/docs/docs-ja/miscellaneous-info/wallet-and-credits)内の**十分なクレジット**
* Aikidoに接続できるリポジトリ内の**Androidアプリのソースコード**
* 証明書ピンニング、root検出、エミュレーター検出のない**テスト用APK**(最大500 MB)

## APKを準備する

評価対象アプリのテスト用APKをアップロードします(最大500 MB)。

そのテストビルドでは、次の設定を行ってください:

* 証明書ピンニングを無効にする。
* root検出とエミュレーター検出を無効にする。

## Androidアセスメントを作成する

{% stepper %}
{% step %}
### Mobile Applicationを選択する

**Pentests**に移動し、**Project**を開いて、**Create Assessment**をクリックします。**Select Pentest Target**ステップで、**Mobile Application**を選択します。

<div data-with-frame="true"><figure><img src="https://help.aikidogov.us/_assets/f7b4f1ba7041/Screenshot-2026-07-13-at-18.01.39.png" alt="Mobile Applicationが選択可能なSelect Pentest Targetステップ"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
### テスト範囲を定義する

**Scope**ステップで、WebアプリまたはAPIのURL(例: `https://api.application.com`)を追加し、Aikidoがそれらのエンドポイントをテストできるようにします。

**Android Application**で、APK(最大500 MB)をアップロードします。Aikidoはファイルからパッケージ名を読み取ります。APKでは、証明書ピンニング、root検出、エミュレーター検出を使用しないでください。

Androidのみを実行する場合は、APKだけをアップロードします。アセスメントで両方のアプリをカバーする場合は、このステップでIPAもアップロードしてください。[iOSアプリのペネトレーションテスト](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/ios-pentesting)を参照してください。

**Test entire application**または**Test specific parts only**を選択します。

<div data-with-frame="true"><figure><img src="https://help.aikidogov.us/_assets/3361c406f7c8/Screenshot-2026-07-13-at-18.02.22.png" alt="AndroidアプリのアップロードとアプリケーションスコープがあるScopeステップ"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
### テストユーザーを追加する

管理者、一般ユーザー、別テナントのユーザーなど、Aikidoにテストさせたい各ロールのテストユーザーを追加します。

アセスメントに両方のアプリが含まれる場合は、Androidユーザーの**Platform**を**Android**に設定します。ユーザー名とパスワードによる認証では、Aikidoはログイン URLの代わりにパッケージ名を使用します。

起動前にログインのプリフライトチェックを実行できます。[テストユーザーのセットアップ](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/setting-up-authenticated-testing)を参照してください。

<div data-with-frame="true"><figure><img src="https://help.aikidogov.us/_assets/896e40efa166/Screenshot-2026-07-13-at-18.06.13.png" alt="モバイルアセスメントのテストユーザーステップ"><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}
### アクセス、コンテキスト、安全性を設定する

ウィザードの残りのステップを設定します:

* **Allowed Domains:** テスト中にアプリがアクセスする必要のあるドメインを許可します。
* **Code & Documentation:** Androidアプリのソースコードを含むリポジトリを接続します。Aikidoはモバイルアプリに対してホワイトボックステストのみをサポートしているため、アセスメントにはそのリポジトリが必要です。バックエンドのリポジトリをリンクしたり、ドキュメントを追加したりすることもできます。[コードとドキュメントの活用](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/leveraging-code-and-documentation)を参照してください。
* **Safety Check:** リクエストレートと許可されたテスト時間帯を設定します。[安全対策](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/safety-measures)を参照してください。
* **Pricing:** アセスメントプロファイルを選択し、クレジットコストを確認します。[Pentestの料金](https://help.aikidogov.us/docs/docs-ja/pentests/pentest-pricing)を参照してください。
{% endstep %}

{% step %}
### 確認して起動する

**Summary**ステップで、**Android App**のパッケージ名とその他の設定を確認し、**Run Assessment**をクリックします。
{% endstep %}
{% endstepper %}

## 結果を確認する

アセスメントを開いて進捗を確認し、**Issues**タブを確認します。Androidの検出結果には、機密データの取り扱い、ネットワークセキュリティ、プラットフォームとのやり取り、WebViewのセキュリティ、クライアント側認証、暗号化、ビルド構成などが含まれます。

アセスメントが完了したら、アセスメントからPDFをダウンロードします。[Pentestレポート](https://help.aikidogov.us/docs/docs-ja/pentests/coverage-and-findings/pentest-reports)を参照してください。

アプリで検出結果を再テストする前に、アセスメントの概要から新しいAPKをアップロードしてください。[Pentestの検出結果を再テストする](https://help.aikidogov.us/docs/docs-ja/pentests/coverage-and-findings/retest-pentest-findings)を参照してください。

## 関連情報

{% content-ref url="ios-pentesting.md" %}
[iOSアプリのペネトレーションテスト](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/ios-pentesting)
{% endcontent-ref %}

{% content-ref url="setting-up-authenticated-testing/" %}
[テストユーザーのセットアップ](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/setting-up-authenticated-testing)
{% endcontent-ref %}

{% content-ref url="leveraging-code-and-documentation.md" %}
[コードとドキュメントの活用](https://help.aikidogov.us/docs/docs-ja/pentests/configure-a-pentest/leveraging-code-and-documentation)
{% endcontent-ref %}
