mcpField
H
headless-ghidra-baseline

headless-ghidra-baseline

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

headless-ghidra-baseline について

ヘッドレス Ghidra 分析パイプラインの P1 段階を扱うスキルです。再現可能なベースラインとランタイム記録が必要なリバースエンジニアリング向けに、ghidra-agent-cli で対象を分析し、YAML メタデータなどを出力します。

主な機能

  1. 01Ghidra のインポートと自動分析
  2. 02ベースライン YAML メタデータの出力
  3. 03ランタイム記録の取得と検証
  4. 04ホットパス呼び出しチェーンの記録と検証
  5. 05P1 段階ゲートの確認

活用シーン

  1. 01後続段階向けのベースラインメタデータ生成
  2. 02ランタイムの利用可否の記録
  3. 03後続分析向けの初期ホットパス呼び出しチェーン提供

インストール

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

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

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

同梱ファイル

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

README.ja-JP.md
README.md
README.zh-CN.md

詳細

ヘッドレス Ghidra のベースライン+ランタイム — P1

P1 では、Ghidra の初回インポートと自動解析を実行し、ベースラインの YAML メタデータをエクスポートして、対象を再現可能な形で実行できるようにし、後続フェーズで使用するランタイム/ホットパスの YAML を記録します。

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

  • ghidra-agent-cli ghidra import
  • ghidra-agent-cli ghidra auto-analyze
  • ghidra-agent-cli ghidra export-baseline
  • ghidra-agent-cli frida device-list
  • ghidra-agent-cli frida device-attach
  • ghidra-agent-cli frida io-capture
  • ghidra-agent-cli frida trace
  • ghidra-agent-cli runtime record
  • ghidra-agent-cli runtime validate
  • ghidra-agent-cli hotpath add
  • ghidra-agent-cli hotpath validate
  • ghidra-agent-cli gate check --phase P1

これらのコマンドのバックエンド実装には、引き続きシェルラッパーと Java の Ghidra スクリプトを使用します。ワークフローの契約は、CLI のインターフェースと以下の YAML 出力です。

入力

  • artifacts/<target-id>/pipeline-state.yaml
  • artifacts/<target-id>/scope.yaml
  • targets/<target-id>/ghidra-projects/

出力

  • artifacts/<target-id>/baseline/functions.yaml
  • artifacts/<target-id>/baseline/callgraph.yaml
  • artifacts/<target-id>/baseline/types.yaml
  • artifacts/<target-id>/baseline/vtables.yaml
  • artifacts/<target-id>/baseline/constants.yaml
  • artifacts/<target-id>/baseline/strings.yaml
  • artifacts/<target-id>/baseline/imports.yaml
  • artifacts/<target-id>/runtime/run-manifest.yaml
  • artifacts/<target-id>/runtime/run-records/*.yaml
  • artifacts/<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

コメント