headless-ghidra-intake について
ヘッドレスGhidraパイプライン向けに、バイナリやアーカイブを解析対象として準備するインテーク用スキルです。ワークスペースの初期化、Ghidraの検出、バイナリの検査、解析範囲の記録を行い、Ghidra解析自体は実行しません。
主な機能
- 01ターゲットワークスペースの初期化
- 02Ghidraの検出とバイナリ検査
- 03解析範囲の設定と確認
- 04インテーク情報と状態の記録
- 05P0フェーズゲートの確認
活用シーン
- 01Ghidraワークフロー向けのバイナリ準備
- 02関数または対象全体の範囲設定
- 03ターゲットと環境の準備状況確認
- 04初期解析入力の記録
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bytelandtechnology/ headless-ghidra --skill headless-ghidra-intakeインストール後、Claude Code で/headless-ghidra-intakeを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
planning-brief.mdREADME.ja-JP.mdREADME.mdREADME.zh-CN.mdexamples/intake-speckit-handoff.md詳細
Headless Ghidra 取り込み — P0
P0 では、ワークフローの残りの工程で使用するターゲットを準備します。入力されたバイナリまたはアーカイブのパスを、有効な ghidra-agent-cli ワークスペースターゲットに変換し、初期分析の範囲を記録します。
必須の ghidra-agent-cli コマンド
ghidra-agent-cli workspace initghidra-agent-cli ghidra discoverghidra-agent-cli inspect binaryghidra-agent-cli scope showghidra-agent-cli scope setghidra-agent-cli scope add-entryghidra-agent-cli scope remove-entryghidra-agent-cli gate check --phase P0
アーカイブの正規化や、ターゲット固有のブートストラップスクリプトは、CLI から直接実行できるようになるまでは、バックエンドの詳細として扱ってもかまいません。
入力
- ユーザーが指定したバイナリまたはアーカイブのパス
- ワークスペースのルート
- Ghidra の検出に必要なローカル環境
出力
targets/<target-id>/ghidra-projects/artifacts/<target-id>/pipeline-state.yamlartifacts/<target-id>/scope.yaml- 任意のフェーズ所有の取り込み記録(
artifacts/<target-id>/intake/以下)
終了時の要件
- ターゲットのワークスペースが存在し、
--target <id>で指定できます。 pipeline-state.yamlに選択したバイナリのパスが記録されています。scope.yamlに選択した関数、アドレス、シンボル、またはターゲット全体を対象とする明示的なスコープが記録されています。- Ghidra の検出とバイナリの検査が実行され、確認されています。
制約
- このフェーズでは、実際の Ghidra 分析を実行しないでください。
- ベースライン、証拠、逆コンパイル、検証の出力を書き込まないでください。
- サポート対象の手順で
ghidra-agent-cli workspace init、ghidra discover、inspect binaryを経由しない方法を使わないでください。 - CLI に機能がない場合、新しい Ghidra スクリプトを作成または実行しないでください。まず一時停止してユーザーに確認してください。
次のステップ
- P0 ゲートに合格 →
headless-ghidra-baseline
コメント
Markdown 対応