headless-ghidra-baseline について
ヘッドレス Ghidra 分析パイプラインの P1 段階を扱うスキルです。再現可能なベースラインとランタイム記録が必要なリバースエンジニアリング向けに、ghidra-agent-cli で対象を分析し、YAML メタデータなどを出力します。
主な機能
- 01Ghidra のインポートと自動分析
- 02ベースライン YAML メタデータの出力
- 03ランタイム記録の取得と検証
- 04ホットパス呼び出しチェーンの記録と検証
- 05P1 段階ゲートの確認
活用シーン
- 01後続段階向けのベースラインメタデータ生成
- 02ランタイムの利用可否の記録
- 03後続分析向けの初期ホットパス呼び出しチェーン提供
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bytelandtechnology/ headless-ghidra --skill headless-ghidra-baselineインストール後、Claude Code で/headless-ghidra-baselineを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.ja-JP.mdREADME.mdREADME.zh-CN.md詳細
ヘッドレス Ghidra のベースライン+ランタイム — P1
P1 では、Ghidra の初回インポートと自動解析を実行し、ベースラインの YAML メタデータをエクスポートして、対象を再現可能な形で実行できるようにし、後続フェーズで使用するランタイム/ホットパスの YAML を記録します。
必須の ghidra-agent-cli コマンド
ghidra-agent-cli ghidra importghidra-agent-cli ghidra auto-analyzeghidra-agent-cli ghidra export-baselineghidra-agent-cli frida device-listghidra-agent-cli frida device-attachghidra-agent-cli frida io-captureghidra-agent-cli frida traceghidra-agent-cli runtime recordghidra-agent-cli runtime validateghidra-agent-cli hotpath addghidra-agent-cli hotpath validateghidra-agent-cli gate check --phase P1
これらのコマンドのバックエンド実装には、引き続きシェルラッパーと Java の Ghidra スクリプトを使用します。ワークフローの契約は、CLI のインターフェースと以下の YAML 出力です。
入力
artifacts/<target-id>/pipeline-state.yamlartifacts/<target-id>/scope.yamltargets/<target-id>/ghidra-projects/
出力
artifacts/<target-id>/baseline/functions.yamlartifacts/<target-id>/baseline/callgraph.yamlartifacts/<target-id>/baseline/types.yamlartifacts/<target-id>/baseline/vtables.yamlartifacts/<target-id>/baseline/constants.yamlartifacts/<target-id>/baseline/strings.yamlartifacts/<target-id>/baseline/imports.yamlartifacts/<target-id>/runtime/run-manifest.yamlartifacts/<target-id>/runtime/run-records/*.yamlartifacts/<target-id>/runtime/fixtures/**artifacts/<target-id>/runtime/hotpaths/call-chain.yamlライブラリ用ハーネスが必要な場合は、artifacts/<target-id>/runtime/project/**
終了時の要件
- 必須のベースライン YAML ファイルがすべて存在し、読み取り可能であること。
- ランタイムが利用可能かどうかを、再現可能な実行引数、または C++/CMake のライブラリ用ハーネスとともに記録すること。
- P1 のホットパスのコールチェーンを、P3/P4 の初期優先順位ソースとして利用できること。
- このフェーズでは、P4 のデコンパイル成果物を作成しないこと。
制約
- P1 では関数本体をデコンパイルしないでください。
- P1 では名前変更やシグネチャの適用を行わないでください。
- 認可された状態変更以外の方法で
pipeline-state.yamlを変更しないでください。 - インポート、解析、エクスポート、またはサポートされているゲートチェックに
ghidra-agent-cliを介さずに実行しないでください。 - CLI に機能がない場合、新しい Ghidra スクリプトを作成または実行せず、いったん停止して先にユーザーに確認してください。
次のステップ
- P1 ゲートに合格 →
headless-ghidra-evidence
コメント
Markdown 対応