headless-ghidra-evidence について
ヘッドレスGhidra解析で、ベースラインと実行時の証拠を基にサードパーティライブラリを確認するワークフロー用スキルです。後続のメタデータ復元に向け、バージョン、ソースの場所、確信度、関数分類を記録します。
主な機能
- 01ベースラインと実行時証拠の確認
- 02ライブラリの版と確信度の記録
- 03未改変ソースディレクトリの管理
- 04サードパーティ関数の分類
- 05P2フェーズゲートの確認
活用シーン
- 01解析対象バイナリ内のライブラリ特定
- 02ソースとバージョンの証拠記録
- 03関数メタデータ復元の準備
- 04サードパーティコードがない場合の記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bytelandtechnology/ headless-ghidra --skill headless-ghidra-evidenceインストール後、Claude Code で/headless-ghidra-evidenceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
planning-brief.mdREADME.ja-JP.mdREADME.mdREADME.zh-CN.mdexamples/evidence-speckit-handoff.md詳細
ヘッドレス Ghidra サードパーティ — P2
P2 では、ベースラインとランタイムの YAML を確認してサードパーティライブラリを特定し、
変更されていないソースのローカルディレクトリを記録して、後のメタデータ拡充に向けて関数を
分類します。ソースのダウンロードや取得は CLI の対象外です。CLI では
source_path、pristine_path、バージョン、信頼度、根拠を記録します。
必須の ghidra-agent-cli コマンド
ghidra-agent-cli functions listghidra-agent-cli functions showghidra-agent-cli imports listghidra-agent-cli constants listghidra-agent-cli strings listghidra-agent-cli vtables listghidra-agent-cli types listghidra-agent-cli callgraph listghidra-agent-cli callgraph callersghidra-agent-cli callgraph calleesghidra-agent-cli third-party addghidra-agent-cli third-party noneghidra-agent-cli third-party set-versionghidra-agent-cli third-party listghidra-agent-cli third-party classify-functionghidra-agent-cli third-party vendor-pristineghidra-agent-cli execution-log appendghidra-agent-cli gate check --phase P2
入力
artifacts/<target-id>/baseline/functions.yamlartifacts/<target-id>/baseline/callgraph.yamlartifacts/<target-id>/baseline/types.yamlartifacts/<target-id>/baseline/constants.yamlartifacts/<target-id>/baseline/vtables.yamlartifacts/<target-id>/baseline/strings.yamlartifacts/<target-id>/baseline/imports.yamlartifacts/<target-id>/runtime/run-manifest.yamlartifacts/<target-id>/runtime/hotpaths/call-chain.yaml- 存在する場合は
artifacts/<target-id>/third-party/identified.yaml
出力
artifacts/<target-id>/third-party/identified.yamlartifacts/<target-id>/third-party/pristine/<library>@<version>/- 任意のローカル適応用変更:
artifacts/<target-id>/third-party/compat/<library>@<version>/
完了時の条件
- サードパーティコードが存在する場合、
identified.yamlに信頼度が中程度以上のライブラリを 少なくとも 1 つ記録します。 - 確認の結果、サードパーティコードがない場合、
identified.yamlにlibraries: []を 記録します。 - 記録された各サードパーティライブラリには、ローカルの
source_pathとthird-party/pristine/内の変更されていないディレクトリが必要です。 - 変更されていないソースディレクトリはそのまま保持し、ローカルの適応用編集は
third-party/compat/に置きます。 - 次のフェーズで名前、シグネチャ、型を復元できるだけのバージョンと関数分類の根拠を 用意します。
制約
- ベースラインの YAML エクスポートを直接変更しないでください。
- 根拠となる情報源を記録せずに、裏付けのない根拠を主張しないでください。
- サポートされているベースラインの読み取り、サードパーティへの書き込み、実行ログ記録に
ghidra-agent-cliを介さずに対応しないでください。 - CLI に機能がない場合、新しい Ghidra スクリプトを作成または実行せず、いったん停止して 先にユーザーへ確認してください。
次のステップ
- P2 ゲートに合格 →
headless-ghidra-discovery
コメント
Markdown 対応