
証拠重視のマルウェアリバースエンジニアリング。PE/.NETの詳細な検査、Ghidraによる再構築、AIによるクロスチェック、YARA、ELFデバッグに対応。
エビデンス重視のリバースエンジニアリングCLI。 Andrey Pautovが、Pythonアナリストインターフェース、オフライントリアージ、文字列インテリジェンス、PE検査、レポートワークフローを開発しています。Capstone、Ghidra、GDB、およびオプションのAIプロバイダーは統合機能であり、このプロジェクトが作成した独自ツールではありません。
役割との関連性: マルウェアトリアージ、リバースエンジニアリングツール、安全なAI支援分析、Pythonデリバリー。
安全なローカルデモを実行し、検証スコープを確認する · 記録されたローカル検証
AIDebugは、エビデンス重視のマルウェアリバースエンジニアリングCLIおよびターミナルUIです。 決定論的なオフライントリアージ、ファイル全体の16進検査、詳細なPE 構造解析、Capstone逆アセンブリ、Ghidra再構築、オプションのLLM クロスチェック、ローカルELFデバッグ、コンパイル済み学習演習、および アナリストレビューレポートを組み合わせています。
現在のソースバージョン: AIDebug 3.1.0。詳細は 3.1.0リリースノートを参照してください。
最新の不変公開リリースは引き続き AIDebug v3.0.0であり、
1200km-aidebugとして入手可能です。 バージョン一致の3.1.0タグとGitHubリリースが検証済みの 公開ワークフローを完了するまでは。
PyPIから安定版パッケージをインストールします:
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install 1200km-aidebug==3.0.0
aidebug --version
必要に応じてオプション機能をインストールします:
# Remote/local LLM providers and validated YARA generation
python -m pip install "1200km-aidebug[ai]==3.0.0"
# Frida dynamic instrumentation
python -m pip install "1200km-aidebug[dynamic]==3.0.0"
# All optional Python integrations
python -m pip install "1200km-aidebug[all]==3.0.0"
開発用:
git clone https://github.com/anpa1200/AIDebug.git
cd AIDebug
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev,dynamic]"
Ghidra、GDB、Bubblewrap、Cコンパイラ、およびFridaターゲットコンポーネントは、それらを必要とするワークフローでのみ使用される外部 ツールです。
メインのターミナルインターフェースでPEまたはELFサンプルを開きます:
aidebug --binary /path/to/sample.exe --offline
フルスクリーンUIなしで決定論的解析を実行し、エビデンスをエクスポートします:
aidebug --binary /path/to/sample.exe \
--offline --no-tui --report --json-export --yara \
--out-dir reports/
Ghidra再構築を使用します:
aidebug --binary /path/to/sample.exe --offline --no-tui --decompile
aidebug --binary /path/to/sample.exe --offline --no-tui \
--decompile-all reports/sample-reconstruction.c
一時的な非実行ELFアーティファクトを介して1つのC翻訳単位を解析します:
aidebug --source /path/to/example.c --offline --no-tui
ファイル名拡張子に依存せずに任意のファイルを識別します:
aidebug --identify /path/to/renamed-or-unknown-file --offline
--identifyは、宣言された型、MIMEタイプ、一般的な
拡張子、信頼度、手法、エビデンス、SHA-256、サイズを含む構造化JSONを報告します。決定論的な
カバレッジには、一般的な実行可能ファイルおよびバイトコード形式、アーカイブおよびディスク
イメージ、Office/OpenDocument/EPUBコンテナ、ドキュメント、画像、音声/動画、
パケットキャプチャ、データベース、レジストリ/イベントログアーティファクト、スクリプト、テキストが含まれます。
ZIPベースの形式は、境界付きのメンバー名と小さなメタデータ
読み取りによって検査されます。ファイルが実行または抽出されることはありません。
ローカルプラットフォームが認識する追加のシグネチャのために、python-magicとオペレーティングシステムのlibmagicデータベースを
インストールします:
python -m pip install python-magic
決定論的なシグネチャ、構造、またはテキストルールが一致しない場合、設定された
AIプロバイダーが境界付きメタデータから候補を推論する場合があります: 拡張子、サイズ、
SHA-256、最大96ヘッダーバイト、32テールバイト、サンプルエントロピー、NUL比率。
ファイル本体、抽出された文字列、ファイルシステムパスは送信されません。AIのみの
結果はai-inferenceとラベル付けされ、信頼度は最大60%に制限され、アナリストによる検証が必要です。フォールバックを完全に無効にするには--offlineを使用します。
未解決の型はUnknownとして報告され、終了ステータスは2になります。
メインのターミナルインターフェースでSを押すか、ワークスペースを直接起動します:
aidebug --binary /path/to/sample.exe --offline --strings
ワークスペースは、ファイルオフセット、利用可能な場合はマップされたアドレス、 エンコーディング、バイト長と文字長、重複出現情報、 セクションコンテキスト、信頼度、トリアージスコア、および 各分類の決定論的な理由を保持します。フィルターは最小長、エンコーディング、カテゴリ、および フリーテキスト検索をカバーします。列ソートとページネーションにより、大規模なインベントリが使用可能に保たれます。 選択された各エンコーディングは、サイズ境界付きのアーティファクト全体をスキャンします。保持される インベントリは25,000レコード、表示される値ごとの文字数は4,096文字に制限されます。 正確な候補/省略数と完全なバイトカバレッジにより、どちらの上限も可視化されます。 各レコードは最大32個のDLL/APIアノテーションと4,096文字の説明を保持します。 敵対的なオーバーフローはレコードの理由に報告されます。
検出はマルチラベルです。単一の値が同時にDLL、Windows
パス、URL、IPアドレス、レジストリキー、コマンド、PowerShellフラグメント、名前付きパイプ、
ハッシュ、資格情報候補、ユーザーエージェント、またはその他のサポートされるエビデンスタイプである可能性があります。
ドメイン候補はIDNA正規化され、パッケージ化されたオフライン
IANAルートゾーンスナップショットに対してチェックされます。IPアドレスは完全な有効トークンを占める必要があり、
設定の割り当ては保守的な全行文法に一致する必要があります。これにより、
短いバイナリフラグメントがドット、コロン、または等号を含むというだけで昇格されるのを
防ぎます。関連するラベルは1つの信頼度ファミリーを共有するため、
ip_addressとipv6が2つの独立した観測として扱われることはありません。
既知のDLLとAPIには短い中立的な機能説明が付与され、未知の
名前には推測された目的ではなく、明示的な未検証のフォールバックが付与されます。
抽出された名前は存在のエビデンスであり、コードがそれを呼び出したことや
サンプルが悪意のあるものであることの証明ではありません。
決定論的インベントリをローカルで出力するか、表示されるCLIビューをフィルタリングするか、 正規の完全インベントリをオーナー専用JSONとして書き込みます:
aidebug --binary /path/to/sample.exe --strings --no-tui
aidebug --binary /path/to/sample.exe --strings --no-tui \
--string-encoding ascii --min-string-length 6 --string-category url
aidebug --binary /path/to/sample.exe --strings --no-tui \
--strings-output reports/sample-strings.json
AI文字列レビューは別個のオプトイン操作です。ワークスペース内でAを押して
プライバシー/コストの警告を確認するか、CLIモードで明示的に要求します:
aidebug --binary /path/to/sample.exe --strings --no-tui \
--analyze-strings --accept-ai-cost \
--strings-output reports/sample-strings-ai.json
保持されるすべての文字列には安定したエビデンスIDが割り当てられます。明示的な
確認後、AIパスはすべての保持レコードを決定論的で
境界付きのチャンクに分割して計画します。プロバイダーまたは検証の失敗は安全に停止し、可視のままになります。
レスポンスは、提供されたすべてのIDを説明し、
受け入れられる前に厳格なローカルスキーマ、列挙、参照、およびIOCグラウンディング検証を
通過する必要があります。最終リデューサーは生のインベントリではなく、検証済みの検出事項を参照します。
抽出制限、失敗したバッチ、
およびレビュー済み/送信済み数は常に報告されます。不完全なカバレッジは
unknownの総合評価を強制します。文字列にはパスワード、APIトークン、
顧客データ、攻撃者作成のプロンプトインジェクションが含まれる可能性があるため、この機能を有効にする前にリモートAIの
境界を確認してください。
ファイルまたはSHA-256で過去の解析を検査します:
aidebug --history /path/to/sample.exe
aidebug --history 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
PEファイルをロードし、メインGUIでX(またはP)を押します。AIDebugは
ハッシュ化した正確なバイトを提示し、構造的エビデンスを境界付きの
ナビゲート可能なビューに整理します。
| 領域 | エビデンス |
|---|---|
| ヘッダー | DOS、NT、COFF、Optional Header、特性、データディレクトリ、および緩和フラグ |
| セクション | 完全なIMAGE_SECTION_HEADERフィールド、マップされた範囲、エントロピー、および権限 |
| インポートとエクスポート | インポート記述子、INT/IATエントリ、遅延インポート、序数、名前、RVA、およびフォワーダー |
| リソース | 型/名前/言語階層、メタデータ、ハッシュ、プレビュー、および安全な上書きなしエクスポート |
| リロケーションとASLR | リロケーションブロック/エントリおよび構造的ASLR互換性評価 |
| TLS | TLSディレクトリ、テンプレートデータ、インデックス、コールバックテーブル、マッピング、および終了エビデンス |
| 例外とアンワインド | x64ランタイム関数、UNWIND_INFO、操作、ハンドラー、およびチェーンされたレコード |
| ロード構成 | バージョン付きフィールド、Guardフラグ、スタックCookieおよびエクスプロイト緩和エビデンス |
| CFG | チェック/ディスパッチポインター、Guard Function IDターゲット、順序、抑制、および一貫性チェック |
| Authenticode | 証明書レコード、PKCS#7/X.509エビデンス、PEイメージダイジェスト比較、および署名者検証 |
| デバッグと来歴 | Richヘッダー、Debug Directory、CodeView RSDS/NB10、PDB GUID、age、およびパス |
| オーバーレイ | 正確なオフセット、サイズ、ハッシュ、エントロピー、プレビュー、および安全なエクスポート |
| .NET / CLR | COR20ヘッダー、メタデータルートとストリーム、ECMA-335テーブル、アセンブリ、参照、およびリソース |