ALEAPP: Android のログとイベントを解析する拡張可能な DFIR ツール
abrignoni/ALEAPPは実運用向けに使える実用的なオープンソース実装で、再利用可能な導入ルートを持つプロジェクトです。
ひと目でわかる
- これは何?
- Python 3.10 以上で Android のログ、イベント、protobuf を解析し、CLI、GUI、artifact プラグインからレポートを作る調査ツールです。
- 誰に向いている?
- ALEAPP: Android のログとイベントを解析する拡張可能な DFIR ツール は、README に記載された機能と前提が一致する利用者に候補になります。ALEAPP は、Python 製の CLI と GUI、PyInstaller のビルド定義、そしてプラグインを動的に読み込む仕組みをひとつのツールにまとめています。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に Python です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
ALEAPP、ALEAPP が解析するのは Android ログ、イベント、protobuf
リポジトリは ALEAPP を 'Android Logs Events And Protobuf Parser' と説明しています。README はその名前で始まり、作者の Twitter へのリンクと 2020 年 2 月のブログ記事が続きます。リポジトリのメタデータによれば、このプロジェクトは Python で書かれています。使用法のコマンドは -t フラグで zip、tar、fs、gz の抽出タイプを受け付けますが、README はコマンドライン構文以外にこれらのタイプの意味を説明していません。
調査担当者が見るべき中心は、入力形式と artifact の出力契約です。CLI の -t に zip、tar、fs、gz を渡し、-i で抽出対象、-o でレポート先を指定します。GUI は aleappGUI.py から別に起動します。プラグインを追加する場合は scripts/artifacts の Python ファイル、固有の artifact ID、paths の glob、function のシグネチャを揃え、ArtifactHtmlReport、tsv、timeline の出力が期待したフォルダに現れるかを確認します。自動読み込み方式なので、未検証のモジュールを本番調査へ置く前に、サンプル証拠で HTML と TSV の内容、タイムラインの時刻、既存 artifact との ID 衝突を確認するのが具体的な判定になります。
ALEAPP、Python 3.10 と requirements ファイル
README は Python 3.10 以上を要求しています。依存関係は requirements.txt にあり、`py -m pip install -r requirements.txt` または `pip3 install -r requirements.txt` でインストールします。環境に合わせて `py`、`python`、`python3` のいずれかを使うよう注意書きがあります。Linux では tkinter を別途インストールする必要があり、`sudo apt-get install python3-tk` とあります。Windows と macOS については同等の指示はありません。
PyInstaller の配布物を作る場合は、Windows、macOS、Linux で対応する spec ファイルが異なります。aleapp.spec と aleappGUI.spec、macOS 用、Linux 用の組み合わせを取り違えないことが前提です。Python がない調査端末へ配る前に、生成した実行ファイルで同じ入力を処理し、ソース実行時との HTML、TSV、タイムラインの差を比較します。MIT ライセンスは著作権表示と許可表示を求め、無保証であることを定めています。README には独立したセキュリティ監査や保存データの保護方針が書かれていないため、証拠の取り扱いは利用組織の手順で補う必要があります。
ALEAPP、CLI と GUI の起動方法
コマンドラインインターフェースは `python aleapp.py -t <zip | tar | fs | gz> -i <path_to_extraction> -o <path_for_report_output>` で実行します。GUI は `python aleappGUI.py` で起動します。CLI のヘルプは `python aleapp.py --help` で表示されます。README にはレポート出力の構造や、これらのコマンド以外での GUI と CLI の違いは書かれていません。
入力となる Android データは、調査の再現性と証拠保全を意識して扱います。-i に渡すパスをコピーの作業領域へ固定し、-o のレポート先を入力と別にして、処理前後のファイル一覧を保存します。zip、tar、fs、gz の種類を誤ると期待した artifact が見つからない可能性があるため、ヘルプ表示と入力の実体を照合します。新しい artifact を書くときは requirements、category、notes、author、version、date を辞書へ記載し、既存のサンプルと同じ出力ヘルパーを使います。HTML の表示だけでなく TSV の列と timeline の時刻も確認し、プラグイン例が実データを過度に加工していないかをレビューします。
ALEAPP、PyInstaller によるスタンドアロン実行ファイルの作成
Python がインストールされていないシステム向けに、PyInstaller の spec ファイルが用意されています。Windows では `pyinstaller scripts\pyinstaller\aleapp.spec` で aleapp.exe が、`pyinstaller scripts\pyinstaller\aleappGUI.spec` で aleappGUI.exe が作成されます。macOS では `scripts/pyinstaller/aleapp_macOS.spec` と `scripts/pyinstaller/aleappGUI_macOS.spec` を使い、それぞれ aleapp と aleappGUI.app を作成します。Linux では `aleapp_Linux.spec` と `aleappGUI_Linux.spec` を使い、aleapp と aleappGUI を作成します。README は PyInstaller がインストール済みであることを前提にしています。
ALEAPP、artifact プラグインは scripts/artifacts 内の Python モジュール
プラグインは `scripts/artifacts` に置く Python ソースファイルで、ALEAPP は実行のたびにそのフォルダを動的に読み込みます。モジュールの先頭付近で `__artifacts_v2__` という辞書を定義する必要があります。辞書のキーは一意の artifact ID で、値は name、description、author、version、date、requirements、category、notes、paths、function を含む辞書です。paths は glob パターンのタプルで、function はエントリポイントの関数名です。README には 'cool_artifact_1' と 'cool_artifact_2' の 2 つの artifact の例があります。
ALEAPP、エントリポイントのシグネチャと出力ヘルパー
エントリポイント関数は、文字列のファイルパスのイテラブル、文字列の出力フォルダパス、FileSeekerBase 型のシーカー、テキストの折り返しが必要かどうかを示すブール値の 4 つの引数を受け取ります。README の例にある `get_cool_data1` 関数はこのシグネチャです。プラグインは HTML と TSV の出力を生成し、任意でタイムラインにレコードを追加します。`artifact_report` と `ilapfuncs` モジュールがヘルパーを提供し、例では `ArtifactHtmlReport`、`tsv()`、`timeline()` を呼び出しています。
ALEAPP、ライセンスと謝辞
ALEAPP は MIT ライセンスで公開されており、著作権は Alexis Brignoni に帰属します。ライセンスは、ソフトウェアの複製物または重要な部分に著作権表示と許可表示を含めることを条件に、使用、コピー、変更、統合、公開、配布、サブライセンス、販売を許可します。ソフトウェアは「現状のまま」提供され、保証はなく、責任も負いません。README は DFIR コミュニティの協力に謝意を示し、ALEAPP のロゴは Derek Eiri によるものとしています。冒頭の Twitter への招待以外に、サポート窓口やセキュリティ保証には触れていません。
編集部の結論
ALEAPP: Android のログとイベントを解析する拡張可能な DFIR ツール は、README に記載された機能と前提が一致する利用者に候補になります。ALEAPP は、Python 製の CLI と GUI、PyInstaller のビルド定義、そしてプラグインを動的に読み込む仕組みをひとつのツールにまとめています。README には入力形式の詳細やレポートの構造は書かれていないため、それらはソースコードの確認か実際の実行が必要です。 導入前には、README にある abrignoni aleapp 固有の初期コマンドを隔離環境で実行し、生成物、ログ、権限、対応版を確認してください。
コミュニティノート