mcpField
H
headless-ghidra-baseline

headless-ghidra-baseline

github.com/bytelandtechnology安全583 次安装25 周前更新
代码仓库

关于 headless-ghidra-baseline

一个用于无界面 Ghidra 分析流水线 P1 阶段的技能,面向需要建立可复现基线和运行时记录的逆向工程流程。它通过 ghidra-agent-cli 导入并分析目标,导出 YAML 元数据及运行时、热点路径记录。

主要功能

  1. 01执行 Ghidra 导入与自动分析
  2. 02导出基线 YAML 元数据
  3. 03采集并验证运行时记录
  4. 04记录并验证热点调用链
  5. 05通过 P1 阶段门禁检查

适用场景

  1. 01为后续阶段生成基线元数据
  2. 02记录目标运行环境及其不可用状态
  3. 03为后续分析提供初始热点调用链

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bytelandtechnology/headless-ghidra --skill headless-ghidra-baseline

安装后在 Claude Code 中输入/headless-ghidra-baseline确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.ja-JP.md
README.md
README.zh-CN.md

详细介绍

Headless Ghidra 基线 + 运行时 — P1

P1 执行初始 Ghidra 导入和自动分析,导出基线 YAML 元数据,使目标能够以可复现的方式运行,并记录供后续阶段使用的运行时 / 热路径 YAML。

必需的 ghidra-agent-cli 命令

  • ghidra-agent-cli ghidra import
  • ghidra-agent-cli ghidra auto-analyze
  • ghidra-agent-cli ghidra export-baseline
  • ghidra-agent-cli frida device-list
  • ghidra-agent-cli frida device-attach
  • ghidra-agent-cli frida io-capture
  • ghidra-agent-cli frida trace
  • ghidra-agent-cli runtime record
  • ghidra-agent-cli runtime validate
  • ghidra-agent-cli hotpath add
  • ghidra-agent-cli hotpath validate
  • ghidra-agent-cli gate check --phase P1

Shell 包装脚本和 Java Ghidra 脚本仍作为这些命令的后端实现。工作流约定由 CLI 接口和下方的 YAML 输出构成。

输入

  • artifacts/<target-id>/pipeline-state.yaml
  • artifacts/<target-id>/scope.yaml
  • targets/<target-id>/ghidra-projects/

输出

  • artifacts/<target-id>/baseline/functions.yaml
  • artifacts/<target-id>/baseline/callgraph.yaml
  • artifacts/<target-id>/baseline/types.yaml
  • artifacts/<target-id>/baseline/vtables.yaml
  • artifacts/<target-id>/baseline/constants.yaml
  • artifacts/<target-id>/baseline/strings.yaml
  • artifacts/<target-id>/baseline/imports.yaml
  • artifacts/<target-id>/runtime/run-manifest.yaml
  • artifacts/<target-id>/runtime/run-records/*.yaml
  • artifacts/<target-id>/runtime/fixtures/**
  • artifacts/<target-id>/runtime/hotpaths/call-chain.yaml
  • artifacts/<target-id>/runtime/project/**(需要库测试框架时)

退出要求

  • 所有必需的基线 YAML 文件都存在且可读。
  • 记录运行时可用或不可用的情况,并提供可复现的可执行参数或 C++/CMake 库测试框架。
  • P1 热路径调用链可用作 P3/P4 的初始优先级来源。
  • 此阶段不创建任何 P4 反编译产物。

约束

  • P1 中不要反编译函数体。
  • P1 中不要应用重命名或签名。
  • 除通过批准的状态变更外,不要修改 pipeline-state.yaml。
  • 对于导入、分析、导出或受支持的门禁检查,不要绕过 ghidra-agent-cli。
  • 如果 CLI 缺少某项功能,不要创建或运行新的 Ghidra 脚本;请暂停并先询问用户。

下一步

  • P1 门禁通过 → headless-ghidra-evidence

评论

支持 Markdown