用途:P0 是 Headless Ghidra 工作流的准备阶段,把输入的二进制或归档路径转变为可通过 ghidra-agent-cli 寻址的目标工作区,并记录初始分析范围。
主要能力:初始化工作区、发现 Ghidra、检查二进制、查看与设置分析范围(含新增/移除入口)、执行 P0 阶段门禁检查。归档规范化及目标专属引导脚本目前仍作为后端细节,直至 CLI 直接暴露。
使用方式:需用到以下命令:ghidra-agent-cli workspace init、ghidra-agent-cli ghidra discover、ghidra-agent-cli inspect binary、ghidra-agent-cli scope show、ghidra-agent-cli scope set、ghidra-agent-cli scope add-entry、ghidra-agent-cli scope remove-entry、ghidra-agent-cli gate check --phase P0。输入为用户提供的二进制或归档路径、工作区根目录,以及 Ghidra 发现所需的本地环境。
输出:targets/<target-id>/ghidra-projects/、artifacts/<target-id>/pipeline-state.yaml、artifacts/<target-id>/scope.yaml,以及可选的 artifacts/<target-id>/intake/ 阶段记录。
退出条件:目标工作区存在且可通过 --target <id> 寻址;pipeline-state.yaml 记录所选二进制路径;scope.yaml 记录所选函数、地址、符号或明确的整体目标范围;Ghidra 发现与二进制检查已完成并复核。
限制:本阶段不运行实际 Ghidra 分析,不写基线、证据、反编译或验证输出,不得绕过 workspace init、ghidra discover 或 inspect binary 等受支持步骤;若 CLI 缺少所需能力,不得自行创建或运行新的 Ghidra 脚本,应先暂停并询问用户。P0 门禁通过后进入 headless-ghidra-baseline。官方文本暂未提供。