Repolode
dwisiswant0

dwisiswant0/apkleaks

jadxでAndroid APKを逆コンパイルし、URLやエンドポイント、ハードコードされたシークレットを検出するPython製CLIツール。

スター
6,356
フォーク
599
未解決の Issue
26
最終コミット
昨年

これは何?

APKLeaksは、Androidアプリパッケージ向けの静的解析ツールです。APKファイルを入力すると、jadxで逆コンパイルし、生成されたソースコードからURI、APIエンドポイント、アクセスキーやトークンなどの機密情報となり得る値を検索します。結果はテキストまたはJSONファイルに出力されます。

検索には正規表現ルールを使用します。デフォルトのルールはJSONファイルに保存されており、patternオプションで独自のルールファイルを指定すれば、特定のシークレットやエンドポイント形式を対象にできます。難読化解除やスレッド数の指定など、追加の引数をjadxに渡すこともできます。

このツールはPyPIからインストールする方法、ソースから実行する方法、Dockerイメージを使う方法があります。jadxがシステムにない場合は、ダウンロードするかどうかを確認するプロンプトが表示されます。

主な機能

  • 01jadxを使ってAPKファイルを逆コンパイルします。
  • 02逆コンパイルしたコードからURI、エンドポイント、シークレットらしき文字列を検索します。
  • 03JSONのpatternオプションで独自の正規表現ルールファイルを指定できます。
  • 04結果をプレーンテキストまたはJSONで出力します。
  • 05独自の引数をjadxに渡せます。
  • 06PyPI、ソース、Dockerから利用できます。

ユースケース

  • リリース前にAndroidアプリにAPIキーやトークンがハードコードされていないか確認する。
  • セキュリティ評価で、モバイルアプリが使用するバックエンドのエンドポイントやURLを洗い出す。
  • Androidアプリを対象としたバグバウンティ調査で、漏えいしたシークレットを探す。

クイックスタート

  1. 1

    PyPIからインストール

    pip3 install apkleaks
  2. 2

    APKファイルをスキャン

    apkleaks -f ~/path/to/file.apk

使う前に知っておきたいこと

  • jadx逆コンパイラに依存します。インストールされていない場合は、ダウンロードを促されます。
  • 結果は正規表現によるパターンマッチングに基づくため、誤検出が含まれる可能性があります。

トピック

よくある質問

apkleaks とは?
jadxでAndroid APKを逆コンパイルし、URLやエンドポイント、ハードコードされたシークレットを検出するPython製CLIツール。 APKLeaksは、Androidアプリパッケージ向けの静的解析ツールです。APKファイルを入力すると、jadxで逆コンパイルし、生成されたソースコードからURI、APIエンドポイント、アクセスキーやトークンなどの機密情報となり得る値を検索します。結果はテキストまたはJSONファイルに出力されます。
apkleaks は無料で使えますか?ライセンスは?
apkleaks は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
apkleaks は今もメンテナンスされていますか?
半年以上コミットなし。apkleaks の最終コミットは 2025年8月20日 です。
apkleaks は何に使えますか?
リリース前にAndroidアプリにAPIキーやトークンがハードコードされていないか確認する。 セキュリティ評価で、モバイルアプリが使用するバックエンドのエンドポイントやURLを洗い出す。 Androidアプリを対象としたバグバウンティ調査で、漏えいしたシークレットを探す。
apkleaks のインストール方法は?
PyPIからインストール: pip3 install apkleaks APKファイルをスキャン: apkleaks -f ~/path/to/file.apk
apkleaks はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/dwisiswant0/apkleaks

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト