
Apkx-Hunter v2.6.0
CベースのAndroid静的解析フレームワーク。逆コンパイル、シークレット検出、エンドポイント発見、権限解析、ネイティブライブラリスキャンに加え、ML支援によるシークレット分類を提供します。
APKX-Hunter v2.7.0 — Debianパッケージリリース

APKX-Hunter は、C言語だけで書かれたオープンソースのAndroid静的解析フレームワークであり、Androidセキュリティ評価、リバースエンジニアリング、マルウェア解析、OWASP MASVS コンプライアンススキャン、バグバウンティハンティング、ペネトレーションテスト向けに設計されています。
このフレームワークは、APK、APKS、APKM、XAPK、ZIP アーカイブを含む対応Androidパッケージ形式を自動的に抽出・解析することで、単一アプリケーションと大規模Androidアプリケーション解析の両方をサポートします。再帰的マルチAPKスキャンとサイレントバッチモードにより、APKX-Hunterは大規模なAndroidアプリケーションコレクションを効率的に処理し、クリーンで整理された実用的な結果を生成するように設計されています。
APKX-Hunterは、逆コンパイル、AndroidManifest解析、権限解析、エクスポート済みコンポーネント検出、エンドポイント発見、ハードコードされたシークレット検出、クラウド設定の発見、ネイティブライブラリ検出、OWASP MASVS セキュリティチェックなど、複数の静的解析手法を組み合わせて、Androidアプリケーション内のセキュリティ関連情報を明らかにします。
APKX-Hunterには、C言語だけで書かれた軽量な機械学習ベースのシークレット分類エンジンも統合されており、検出されたシークレットを信頼度と重大度に基づいて自動分類することで、セキュリティ研究者が価値の高い発見を優先し、誤検知を減らし、脆弱性トリアージを迅速化するのに役立ちます。
APKX-Hunterは、各スキャンの最後に、スキャンしたAPK数、解析したファイル数、検出したシークレット数、検出したパターン数、MASVS検出結果などの詳細なスキャン統計を生成し、研究者にセキュリティ評価全体の包括的な概要を提供します。
- GitHub: https://github.com/SyscallX-18113/Apkx-Hunter
- 開発者: SyscallX-18113
- バージョン: v2.7.0

OWASP MASVS スキャンサポート
Apkx-Hunter には、15カテゴリと166の検出パターンによる OWASP MASVS セキュリティスキャンが含まれるようになりました:
| # | カテゴリ | パターン数 |
|---|---|---|
| 1 | 脆弱な暗号化 | 28 |
| 2 | 証明書ピンニング | 13 |
| 3 | ルート検出 | 20 |
| 4 | アンチデバッグ | 9 |
| 5 | 改ざん防止 | 3 |
| 6 | SharedPreferences | 8 |
| 7 | SQLite | 9 |
| 8 | 外部ストレージ | 11 |
| 9 | 動的コード読み込み | 10 |
| 10 | リフレクション | 9 |
| 11 | ランタイムコマンド実行 | 9 |
| 12 | WebViewセキュリティ | 13 |
| 13 | ネットワークセキュリティ | 10 |
| 14 | SSL検証 | 10 |
| 15 | ネイティブライブラリ読み込み | 9 |
| 合計 | 166 |
OWASP検証
APKXHunterは、OWASP UnCrackable Level 4 アプリケーションに対してテストされています。スキャンは複数のセキュリティ検出結果を正常に特定し、そのOWASP MASVSスキャンエンジンとAndroid静的解析機能の有効性を示しています。

機能
- Linux & Debian統合 — ネイティブDebianパッケージ(.deb)、システム全体へのインストール、デスクトップアプリケーションランチャー、アプリケーションメニュー統合、カスタムアプリケーションアイコン、フレームワークアセットの自動インストール、組み込み依存関係マネージャー(--install-dependencies)
- OWASP MASVSサポート — Apkx-Hunter には、14以上のカテゴリと160以上の検出パターンによる包括的な OWASP MASVS セキュリティスキャンが含まれています:
- JADX逆コンパイル — 高速および詳細逆コンパイルモード
- APKTool逆コンパイル — APKToolベースの完全な逆コンパイルとスキャン
- アーカイブ抽出 — APK、APKM、APKS、XAPK、ZIP形式のサポート
- 逆コンパイル済みフォルダスキャン — 逆コンパイル済みのJADXソースディレクトリをスキャン
- APKToolフォルダスキャン — 逆コンパイル済みのAPKToolディレクトリをスキャン
- シークレット検出 — APIキー、トークン、パスワード、埋め込みシークレットを発見
- エンドポイント発見 — URL、エンドポイント、セキュリティ関連パターンを特定
- Android権限解析 — 権限とエクスポートされたアクティビティを解析
- ネイティブ(.so)ライブラリ検出 — アプリにバンドルされているネイティブライブラリを検出
- ファイルインベントリ生成 — 完全なファイルインベントリレポートを生成
- 機械学習ベースのシークレット分類 (注目機能) — 検出されたシークレットに対するML支援の信頼度スコアリングにより、トリアージを迅速化し、シークレット検出の誤検知を削減
- 再帰的マルチAPKスキャン — 大規模Androidアプリケーション解析のため、複数のAPKを再帰的に自動スキャン
- 自動パッケージ抽出 — APKS、APKM、XAPK、ZIP パッケージ形式からAPKを自動的に抽出・解析
- サイレントバッチモード — 解析結果を保持しながら、大規模スキャン時のターミナル出力をクリーンに
- スキャン終了時統計 — スキャンしたAPK数、解析したファイル数、検出したシークレット数、検出したパターン数、MASVS検出結果を含む詳細なスキャンサマリーを表示
- 強化されたコマンドラインインターフェース — 改良された引数解析、入力検証、ユーザーフレンドリーなエラー報告
- フレームワークの安定性向上 — 強化されたエラー処理、メモリ管理、フレームワーク全体の信頼性
機械学習モデル
APKXHunterはオフラインの機械学習分類器を使用します。model.bin には、検出されたシークレットの信頼度スコアを計算するために使用される学習済みの数値重みのみが含まれています。
これは実行可能ファイルではありません。
コードは含まれていません。
バイナリデータとしてのみ読み込まれます。
- オフラインML推論 — すべてのモデル推論はローカルで実行され、クラウドAPIやインターネット接続は不要です
- 信頼度確率スコアリング — 検出された各シークレットは、学習済みモデルから信頼度確率を受け取ります
プロジェクト統計
- 言語:C
- コードベース:5,800行以上
- アーキテクチャ:モジュール式
- プラットフォーム:Linux
プラットフォームサポート
- Linux(サポート対象)
- Windows(サポート対象外)
- macOS(サポート対象外)
パフォーマンス
以下の結果は、開発中に実施されたテストに基づいています。
| 指標 | テスト値 |
|---|---|
| オペレーティングシステム | Kali Linux |
| テストで使用したRAM | 8 GB |
| CPU | Intel Core i3-2120 |
| 逆コンパイルまたはスキャンに成功した最大APK | 85 MB |
| 平均逆コンパイル時間 | 約50〜60秒 |
システム要件
最小要件:
- Linux
- 4 GB RAM
- JADX
- APKTool
- unzip
推奨要件:
- Linux
- 8 GB以上のRAM
- クアッドコアCPU
- SSDストレージ
MLシークレット分類
APKXHunterは、シークレット検出ワークフローの一部として、完全にC言語で書かれた軽量な機械学習ベースのシークレット分類エンジンを統合しています。これは統計的機械学習モデルであり、大規模言語モデル、ChatGPT、生成AI、ディープラーニングシステムではありません。
- APKXHunterによって検出されたシークレットは、統合された機械学習分類エンジンによって解析されます。
- モデルは、検出されたシークレットが有効またはセキュリティ上重要である確率を推定します。
- 検出結果は、信頼度ベースの重大度スコアリングを使用して優先順位付けされます。
- MLエンジンは、研究者が検出結果をより迅速にトリアージするのを支援します。
- MLエンジンは、手動検証を置き換えるのではなく、人間の解析を支援するように設計されています。
仕組み
- 潜在的なシークレットを検出します。
- 統計的特徴(エントロピー、文字分布、長さ、大文字/小文字の比率、数字、記号、その他の統計的トークン特性)を抽出します。
- 学習済みモデル(
model.bin)を読み込みます。 - ML推論を実行します。
- 信頼度確率を生成します。
- 手動検証のために結果をユーザーに提示します。
セキュリティに関する注意
すべての機械学習推論は、学習済みのmodel.binファイル上でローカルに実行されます。APKXHunterは、スキャンデータ、検出されたシークレット、その他の解析出力を外部に送信しません。クラウドAPIは使用されず、ML推論にインターネット接続は不要です。
インストール
Debian / Kali / Ubuntu
Debianパッケージをインストールします:
sudo dpkg -i apkx-hunter_2.7-1_amd64.deb
依存関係の管理: JADX、Apktool、Java、およびその他の必要なツールを自動的にチェックしてインストールします。
--install-dependencies
使用方法
USAGE
apkxhunter <package/folder> [options] [options]
一般オプション
| フラグ | 説明 |
|---|---|
--help | ヘルプメッセージを表示します。 |
スキャンモード
JADXのスキャンモード
| フラグ | 説明 |
|---|---|
--fast | 高速なjadx逆コンパイルを実行し、抽出されたフォルダをスキャンします。 |
--deep | 完全な詳細jadx逆コンパイルを実行し、抽出されたフォルダをスキャンします。 |
注: これらのフラグはAPKファイル名を指定した後にのみ使用してください
例:
apkxhunter app.apk --fast
apkxhunter app.apk --deep
APKToolのスキャンモード
| フラグ | 説明 |
|---|---|
--apktool | apktool逆コンパイルを実行し、抽出されたフォルダをスキャンします。 |
注: これらのフラグはAPKファイル名を指定した後にのみ使用してください
例:
apkxhunter app.apk --apktool
フォルダからのマルチAPKスキャンモード
| フラグ | 説明 |
|---|---|
--multi-apk | マルチAPK逆コンパイルを実行し、抽出されたフォルダをスキャンします。 |
注: これらのフラグはAPKファイルフォルダ名を指定した後にのみ使用してください
例:
apkxhunter Apks --multi-apk
APKパッケージスキャンモード:
| フラグ | 説明 |
|---|---|
--extract-multi-apk | パッケージ(APKS/APKM/XAPK/ZIP)を抽出し、抽出されたすべてのAPKを自動的に解析します。 |
注: これらのフラグはAPKパッケージファイル名を指定した後にのみ使用してください
例:
apkxhunter test.apkm --extract-multi-apk
フォルダスキャン
| フラグ | 説明 |
|---|---|
--folder-scan | 逆コンパイル済みのJADXソースディレクトリまたは任意のディレクトリをスキャンします |
--apktool-folder-scan | 逆コンパイル済みのApktoolディレクトリをスキャンします — このフラグはAPKTOOLによって逆コンパイルされたAPKフォルダのスキャンにのみ使用してください。 |
注: これらのフラグはスキャン対象のフォルダ名の後にのみ使用してください
例:
apkxhunter <folder_name> --folder-scan
apkxhunter <folder_name_decompiled_by_apktool> --apktool-folder-scan
apkxhunter <folder_name> --folder-scan --secrets
apkxhunter <folder_name> --folder-scan --masvs
apkxhunter <folder_name> --folder-scan --permissions
apkxhunter <folder_name_decompiled_by_apktool> --apktool-folder-scan --secrets
apkxhunter <folder_name_decompiled_by_apktool> --apktool-folder-scan --files
個別スキャナー
| フラグ | 説明 |
|---|---|
--secrets | APIキー、トークン、パスワード、その他の埋め込みシークレットをスキャンします。 |
--permissions | Androidの権限またはエクスポートされたアクティビティを解析します。 |
--endpoints | URL、エンドポイント、パターンを発見します。 |
--files | .so名前ファイル抽出を含むファイルインベントリレポートを生成します。 |
--masvs | OWASP MASVSスキャン。 |
注: これらのフラグはスキャンモードのフラグまたはフォルダ解析フラグの後にのみ使用してください
例:
apkxhunter app.apk --deep --secrets
apkxhunter Apks_folder --deep --multi-apk --secrets
apkxhunter test.apkm --extract-multi-apk --secrets
apkxhunter app.apk --deep --masvs
apkxhunter <folder_name> --folder-scan --secrets
apkxhunter <folder_name> --folder-scan --permissions
apkxhunter <folder_name_decompiled_by_apktool> --apktool-folder-scan --endpoints
apkxhunter app.apk --deep --files
逆コンパイルのみ
| フラグ | 説明 |
|---|---|
--decompile | JADXまたはAPKTOOLを使用してAPKを逆コンパイルします — 逆コンパイル後にフォルダスキャンは実行しません |
注: これらのフラグはスキャンモードのフラグの後にのみ使用してください
例:
apkxhunter app.apk --deep --decompile
apkxhunter app.apk --fast --decompile
apkxhunter app.apk --apktool --decompile
アーカイブ抽出
| フラグ | 説明 |
|---|---|
--extract | 解析前にサポートされているAndroidパッケージを抽出し、抽出されたAPKを extracted_output_<apk_name> フォルダに保存します。 |
対応形式: APK、APKM、APKS、XAPK、ZIP
例:
apkxhunter app.apkm --extract
出力ディレクトリ
JADX解析
Jadx_output_<apk_name>/
検出レポート:
Result_Jadx_output_<apk_name>/
|- secrets_findings.txt -> Embedded API keys, tokens, secrets
|- permissions.txt -> Android permission analysis
|- pattern_findings.txt -> URLs, endpoints and security patterns
|- files.txt -> File inventory report
|- native_library_files.txt -> Detected native (.so) libraries
|- masvs_findings.txt -> OWASP MASVS Scann Result
フォルダスキャン結果
検出レポート:
Folder-scan_Result_<folder_name>/
|- secrets_findings.txt
|- permissions.txt
|- pattern_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
APKTool解析
Apktool_output_<apk_name>/
検出レポート:
Apktool_Result_<apk_name>/
|- secrets_findings.txt
|- permissions.txt
|- endpoint_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
APKTOOLフォルダスキャン結果
検出レポート:
Apktool-folder-scan_Result_<folder_name>/
|- secrets_findings.txt
|- permissions.txt
|- endpoint_findings.txt
|- files.txt
|- native_library_files.txt
|- masvs_findings.txt
アーカイブ抽出
extracted_output_<package_name>/
|- Extracted APK files
レポートファイル
| ファイル | 説明 |
|---|---|
secrets_findings.txt | 埋め込まれたAPIキー、トークン、シークレット |
permissions.txt | Android権限解析 |
pattern_findings.txt | URL、エンドポイント、セキュリティパターン(JADX / フォルダスキャン出力) |
endpoint_findings.txt | URL、エンドポイント、セキュリティパターン(APKTool出力) |
files.txt | ファイルインベントリレポート |
native_library_files.txt | 検出されたネイティブ(.so)ライブラリ |
masvs_findings.txt | OWASP MASVSスキャン結果 |
対応形式
APK、APKM、APKS、XAPK、ZIP
次のアップデート
APKX-Hunterは活発に開発が進められています。将来のリリースで見たい機能、改善点、解析機能などがあれば、ご提案をお待ちしています。以下のサポートチャネルを通じてアイデアをご提出ください。コミュニティからのフィードバックは、APKX-Hunterの将来の開発を形作るのに役立ちます。
フィードバック&サポート
APKXHunterは積極的にメンテナンスされているオープンソースプロジェクトです。
以下のような場合:
- バグを発見した場合
- 機能リクエストがある場合
- 改善点を提案したい場合
- セキュリティ上の問題を発見した場合
- ドキュメントに関する提案がある場合
GitHub Issueを開くか、直接お問い合わせください:
あなたのフィードバックは、APKXHunterをすべての人のために改善するのに役立ちます。
免責事項
APKXHunterは以下の目的にのみ使用を意図しています:
- 教育目的
- 許可を得たペネトレーションテスト
- 防御的なセキュリティ研究
ユーザーは、アプリケーションを解析する前に適切な許可を得ていることを確認する責任を負います。所有していない、またはテストする明示的な許可を得ていないアプリケーションやシステムに対してこのツールを不正に使用することは、違法となる可能性があります。
ライセンス
APKXHunterはApache License 2.0の下でライセンスされています。
Copyright © 2026 Devesh Kachhawaha (SyscallX-18113).