用途:这是 Headless Ghidra 流水线的 P3 阶段技能,负责从第三方证据和 P1 运行时热路径调用链中丰富函数元数据。分析工作可并行产出 YAML,但所有写回 Ghidra 项目的操作必须通过串行化的 ghidra-agent-cli ghidra ... 命令执行。
主要能力:列出工作区状态与函数、查询调用图调用者与被调用者、丰富函数元数据、校验元数据与热路径、应用并验证重命名与签名、执行 P3 阶段门禁检查。
必要命令:ghidra-agent-cli workspace state show、functions list、callgraph callers、callgraph callees、metadata enrich-function、metadata validate、hotpath validate、ghidra apply-renames、ghidra verify-renames、ghidra apply-signatures、ghidra verify-signatures、gate check --phase P3。
输入:artifacts/<target-id>/pipeline-state.yaml、runtime/hotpaths/call-chain.yaml、third-party/identified.yaml、baseline/functions.yaml、baseline/callgraph.yaml、baseline/types.yaml。
输出:metadata/renames.yaml、signatures.yaml、types.yaml、constants.yaml、strings.yaml 及 apply-records/ 目录。
退出预期:P4 开始前,call-chain.yaml 中每个函数都需有明确恢复的名称与签名;元数据 YAML 仅在 CLI 锁下通过 CLI 命令应用到 Ghidra 项目;丰富过程可从记录的基线、运行时与第三方证据复现。
限制:本阶段不得反编译;不得重写历史逐函数输出;支持的状态、基线、调用图、元数据、Ghidra 应用或门禁操作不得绕过 ghidra-agent-cli;若 CLI 缺少某能力,不得创建或运行新的 Ghidra 脚本,应先暂停并询问用户。P3 门禁通过后进入 headless-ghidra-batch-decompile。