Headless Ghidra Baseline+Runtime — P1
P1 runs the initial Ghidra import and auto-analysis, exports baseline YAML metadata, makes the target reproducibly runnable, and records runtime/hotpath YAML that later phases consume.
Required ghidra-agent-cli Commands
ghidra-agent-cli ghidra importghidra-agent-cli ghidra auto-analyzeghidra-agent-cli ghidra export-baselineghidra-agent-cli frida device-listghidra-agent-cli frida device-attachghidra-agent-cli frida io-captureghidra-agent-cli frida traceghidra-agent-cli runtime recordghidra-agent-cli runtime validateghidra-agent-cli hotpath addghidra-agent-cli hotpath validateghidra-agent-cli gate check --phase P1
The shell wrappers and Java Ghidra scripts remain the backend implementation for these commands. The workflow contract is the CLI surface plus the YAML outputs below.
Inputs
artifacts/<target-id>/pipeline-state.yamlartifacts/<target-id>/scope.yamltargets/<target-id>/ghidra-projects/
Outputs
artifacts/<target-id>/baseline/functions.yamlartifacts/<target-id>/baseline/callgraph.yamlartifacts/<target-id>/baseline/types.yamlartifacts/<target-id>/baseline/vtables.yamlartifacts/<target-id>/baseline/constants.yamlartifacts/<target-id>/baseline/strings.yamlartifacts/<target-id>/baseline/imports.yamlartifacts/<target-id>/runtime/run-manifest.yamlartifacts/<target-id>/runtime/run-records/*.yamlartifacts/<target-id>/runtime/fixtures/**artifacts/<target-id>/runtime/hotpaths/call-chain.yamlartifacts/<target-id>/runtime/project/**when a library harness is needed
Exit Expectations
- All required baseline YAML files exist and are readable.
- Runtime availability or unavailability is recorded with reproducible executable args or a C++/CMake library harness.
- The P1 hotpath call-chain is available as the initial P3/P4 priority source.
- No P4 decompilation artifacts are created in this phase.
Constraints
- Do not decompile function bodies in P1.
- Do not apply renames or signatures in P1.
- Do not modify
pipeline-state.yamlexcept through sanctioned state changes. - Do not bypass
ghidra-agent-clifor import, analysis, export, or supported gate checks. - Do not create or run a new Ghidra script if the CLI lacks a capability; pause and ask the user first.
Next Step
- P1 gate passes →
headless-ghidra-evidence