H
headless-ghidra-discovery
About headless-ghidra-discovery
headless-ghidra-discovery is a skill for enriching Ghidra function metadata during phase P3 of reverse-engineering workflows. It uses third-party evidence and runtime call chains, with project changes applied serially through ghidra-agent-cli.
Key features
- 01Combine third-party evidence and runtime call chains
- 02Produce function rename and signature metadata
- 03Validate metadata and hotpaths
- 04Apply and verify changes serially through the CLI
- 05Record reproducible analysis evidence
Use cases
- 01Recover names and signatures for hotpath functions
- 02Apply metadata changes to a Ghidra project
- 03Check phase P3 gate requirements
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ bytelandtechnology/ headless-ghidra --skill headless-ghidra-discoveryAfter installing, type/headless-ghidra-discoveryin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
README.ja-JP.mdREADME.mdREADME.zh-CN.mdDetails
From the project READMEHeadless Ghidra Metadata Enrichment — P3
P3 enriches function metadata from third-party evidence and the P1 runtime
hotpath call-chain. Analysis work may be parallelized while producing YAML, but
all writes back to the Ghidra project must go through serialized
ghidra-agent-cli ghidra ... commands.
Required ghidra-agent-cli Commands
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
Inputs
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
Outputs
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/
Exit Expectations
- Every function in
runtime/hotpaths/call-chain.yamlhas an explicit recovered name and signature before P4 starts. - Metadata enrichment YAML is applied to the Ghidra project only through CLI commands under the CLI lock.
- The enrichment is reproducible from recorded baseline, runtime, and third-party evidence.
Constraints
- Do not decompile anything in this phase.
- Do not rewrite historical per-function outputs.
- Do not bypass
ghidra-agent-clifor supported state, baseline, callgraph, metadata, Ghidra apply, or gate operations. - Do not create or run a new Ghidra script if the CLI lacks a capability; pause and ask the user first.
Next Step
- P3 gate passes →
headless-ghidra-batch-decompile
Comments
Markdown supported