mcpField
H
headless-ghidra-evidence

headless-ghidra-evidence

github.com/bytelandtechnologyセキュリティ590 回インストール25 週間前に更新
リポジトリ

headless-ghidra-evidence について

ヘッドレスGhidra解析で、ベースラインと実行時の証拠を基にサードパーティライブラリを確認するワークフロー用スキルです。後続のメタデータ復元に向け、バージョン、ソースの場所、確信度、関数分類を記録します。

主な機能

  1. 01ベースラインと実行時証拠の確認
  2. 02ライブラリの版と確信度の記録
  3. 03未改変ソースディレクトリの管理
  4. 04サードパーティ関数の分類
  5. 05P2フェーズゲートの確認

活用シーン

  1. 01解析対象バイナリ内のライブラリ特定
  2. 02ソースとバージョンの証拠記録
  3. 03関数メタデータ復元の準備
  4. 04サードパーティコードがない場合の記録

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/bytelandtechnology/headless-ghidra --skill headless-ghidra-evidence

インストール後、Claude Code で/headless-ghidra-evidenceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

planning-brief.md
README.ja-JP.md
README.md
README.zh-CN.md
examples/
evidence-speckit-handoff.md

詳細

ヘッドレス Ghidra サードパーティ — P2

P2 では、ベースラインとランタイムの YAML を確認してサードパーティライブラリを特定し、 変更されていないソースのローカルディレクトリを記録して、後のメタデータ拡充に向けて関数を 分類します。ソースのダウンロードや取得は CLI の対象外です。CLI では source_path、pristine_path、バージョン、信頼度、根拠を記録します。

必須の ghidra-agent-cli コマンド

  • ghidra-agent-cli functions list
  • ghidra-agent-cli functions show
  • ghidra-agent-cli imports list
  • ghidra-agent-cli constants list
  • ghidra-agent-cli strings list
  • ghidra-agent-cli vtables list
  • ghidra-agent-cli types list
  • ghidra-agent-cli callgraph list
  • ghidra-agent-cli callgraph callers
  • ghidra-agent-cli callgraph callees
  • ghidra-agent-cli third-party add
  • ghidra-agent-cli third-party none
  • ghidra-agent-cli third-party set-version
  • ghidra-agent-cli third-party list
  • ghidra-agent-cli third-party classify-function
  • ghidra-agent-cli third-party vendor-pristine
  • ghidra-agent-cli execution-log append
  • ghidra-agent-cli gate check --phase P2

入力

  • artifacts/<target-id>/baseline/functions.yaml
  • artifacts/<target-id>/baseline/callgraph.yaml
  • artifacts/<target-id>/baseline/types.yaml
  • artifacts/<target-id>/baseline/constants.yaml
  • artifacts/<target-id>/baseline/vtables.yaml
  • artifacts/<target-id>/baseline/strings.yaml
  • artifacts/<target-id>/baseline/imports.yaml
  • artifacts/<target-id>/runtime/run-manifest.yaml
  • artifacts/<target-id>/runtime/hotpaths/call-chain.yaml
  • 存在する場合は artifacts/<target-id>/third-party/identified.yaml

出力

  • artifacts/<target-id>/third-party/identified.yaml
  • artifacts/<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

コメント