headless-ghidra-discovery について
headless-ghidra-discoveryは、リバースエンジニアリングのP3段階でGhidraの関数メタデータを補完するスキルです。サードパーティの証拠と実行時コールチェーンを使い、変更はghidra-agent-cli経由で順次適用します。
主な機能
- 01サードパーティの証拠と実行時コールチェーンの活用
- 02関数名変更・シグネチャのメタデータ生成
- 03メタデータとホットパスの検証
- 04CLI経由で変更を順次適用・検証
- 05再現可能な分析根拠の記録
活用シーン
- 01ホットパス関数の名前とシグネチャの復元
- 02Ghidraプロジェクトへのメタデータ変更の適用
- 03P3段階のゲート要件の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bytelandtechnology/ headless-ghidra --skill headless-ghidra-discoveryインストール後、Claude Code で/headless-ghidra-discoveryを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.ja-JP.mdREADME.mdREADME.zh-CN.md詳細
Headless Ghidra Metadata Enrichment — P3
P3 では、サードパーティのエビデンスと P1 のランタイムホットパス呼び出しチェーンから関数メタデータを補強します。YAML の作成時には分析作業を並列化できますが、Ghidra プロジェクトへのすべての書き込みは、シリアル化された ghidra-agent-cli ghidra ... コマンドを通して行う必要があります。
必須の ghidra-agent-cli コマンド
ghidra-agent-cli workspace state showghidra-agent-cli functions listghidra-agent-cli callgraph callersghidra-agent-cli callgraph calleesghidra-agent-cli metadata enrich-functionghidra-agent-cli metadata validateghidra-agent-cli hotpath validateghidra-agent-cli ghidra apply-renamesghidra-agent-cli ghidra verify-renamesghidra-agent-cli ghidra apply-signaturesghidra-agent-cli ghidra verify-signaturesghidra-agent-cli gate check --phase P3
入力
artifacts/<target-id>/pipeline-state.yamlartifacts/<target-id>/runtime/hotpaths/call-chain.yamlartifacts/<target-id>/third-party/identified.yamlartifacts/<target-id>/baseline/functions.yamlartifacts/<target-id>/baseline/callgraph.yamlartifacts/<target-id>/baseline/types.yaml
出力
artifacts/<target-id>/metadata/renames.yamlartifacts/<target-id>/metadata/signatures.yamlartifacts/<target-id>/metadata/types.yamlartifacts/<target-id>/metadata/constants.yamlartifacts/<target-id>/metadata/strings.yamlartifacts/<target-id>/metadata/apply-records/
完了条件
runtime/hotpaths/call-chain.yaml内のすべての関数に、P4 の開始前に明示的な復元名とシグネチャが付与されていること。- メタデータ補強用 YAML は、CLI ロック下で CLI コマンドを通してのみ Ghidra プロジェクトに適用すること。
- 補強内容が、記録されたベースライン、ランタイム、サードパーティのエビデンスから再現可能であること。
制約
- このフェーズでは、デコンパイルを行わないでください。
- 関数ごとの過去の出力を書き換えないでください。
- 対応している状態、ベースライン、呼び出しグラフ、メタデータ、Ghidra の適用、ゲート操作に
ghidra-agent-cliを使わずに処理しないでください。 - CLI に機能がない場合、新しい Ghidra スクリプトを作成または実行せず、まずユーザーに確認してください。
次のステップ
- P3 ゲートに合格 →
headless-ghidra-batch-decompile
コメント
Markdown 対応