ByteLandTechnology/headless-ghidra
GitHub: ByteLandTechnology/headless-ghidra
一个专为无头 Ghidra 逆向工程设计的 Skill 家族,通过明确的阶段契约和 Frida 动态分析支持,构建可复现、可审计的规范化分析工作流。
Stars: 0 | Forks: 0
# 无头 Ghidra Skill 家族
此仓库是一个独立 skill 家族的源码,用于规划和审计无头 Ghidra 逆向工程工作。它专为需要明确阶段边界、可复现交接以及可审查的 Markdown 输出(而非临时分析师笔记)的工作流而构建。
在以下情况下使用此家族:
- 将逆向工程任务路由到正确的规划阶段
- 将阶段契约交接给 `speckit`,而无需仅限下游的钩子
- 根据相同规则审计生成的 `spec.md`、`plan.md` 和 `tasks.md`
- 将动态证据、脚本更改和后期反编译工作保持在明确的审查边界内
## 此 Skill 家族提供什么
- [`headless-ghidra/`](./headless-ghidra/) 中的统一入口点,解释了整个工作流的路由。
- 针对接收、证据、Frida 运行时捕获、Frida 证据导入、渐进式反编译和脚本审查的特定阶段 skill。
- 每个规划阶段目录中标准的 `planning-brief.md`。该文件既是可移植的交接面,也是生成规划产物的审计检查表。
- 每个 skill 目录中的示例和模板,使契约保持具体而非隐性。
- [`headless-ghidra-frida-runtime-injection/frida-scripts/`](./headless-ghidra-frida-runtime-injection/frida-scripts/) 中可复用的 Frida 通用脚本库,涵盖五个受支持的运行时证据场景。
- 一个显式的自动演进 skill,当证据足够充分时,用于将已完成真实任务的学习转化为可追踪的可复用资产。
## 核心保证
此家族中的每个 skill 都保持相同的基本标准:
- 仅限无头工作流。仅限 GUI 的 Ghidra 指导不在此范围内。
- 基于证据的主张。规划和审查必须指向可观察的输入、产物或记录的发现。
- 可复现的执行。命令、清单和审查期望保持明确。
- Markdown 优先的输出。重要的契约面在版本控制中保持可读和可审计。
- 可移植的契约。该家族设计为无需下游 `speckit` 扩展或自定义章程编辑即可工作。
运行时产物保留在被追踪的 skill 包之外。当 Frida 运行时捕获在范围内时,可复用脚本仅在已批准场景的配置目标上运行,生成的输出保留在 `.work/ghidra-artifacts/` 下,并且清单引用这些本地产物,而不是将原始运行时输出复制到被追踪的 skill 目录中。被追踪的文档必须编辑或概括原始运行时值。对更广泛捕获范围、新辅助逻辑或新输出字段的请求应路由到 [`headless-ghidra-script-review`](./headless-ghidra-script-review/SKILL.md),而不是临时扩展运行时流程。
## Skill 地图
| Skill | 使用时机 | 关键面 |
| --- | --- | --- |
| [`headless-ghidra`](./headless-ghidra/SKILL.md) | 您需要家族入口点、路由帮助或共享协作序列时。 | `SKILL.md`、`examples/`、`templates/`、`ghidra-scripts/`、`scripts/` |
| [`headless-ghidra-intake`](./headless-ghidra-intake/SKILL.md) | 您正在定义目标身份、来源、范围、交付物和初始化假设时。 | `planning-brief.md`、`examples/` |
| [`headless-ghidra-evidence`](./headless-ghidra-evidence/SKILL.md) | 在接收稳定后,您需要证据提取、重放期望和审计面时。 | `planning-brief.md`、`examples/` |
| [`headless-ghidra-frida-runtime-injection`](./headless-ghidra-frida-runtime-injection/SKILL.md) | 您需要可复现的 CLI/无头 Frida 捕获规划和可复用脚本选择时。 | `planning-brief.md`、`templates/frida-capture-manifest.md`、`frida-scripts/`、`examples/` |
| [`headless-ghidra-frida-evidence`](./headless-ghidra-frida-evidence/SKILL.md) | 您已有捕获的 Frida 输出,并且需要仅导入的证据规范化和审查时。 | `planning-brief.md`、`templates/frida-evidence-manifest.md`、`examples/` |
| [`headless-ghidra-progressive-decompilation`](./headless-ghidra-progressive-decompilation/SKILL.md) | 您处于阶段 6,需要用于选择性反编译和增量比较的独立契约时。 | `planning-brief.md`、`examples/` |
| [`headless-ghidra-script-review`](./headless-ghidra-script-review/SKILL.md) | 计划引入了可复用脚本、清单生成逻辑或 Frida 辅助覆盖范围更改时。 | `planning-brief.md`、`examples/` |
| [`headless-ghidra-auto-evolution`](./headless-ghidra-auto-evolution/SKILL.md) | 已完成的真实任务暴露出一个应被明确接受、推迟或拒绝的可复用改进时。 | `SKILL.md`、`templates/auto-evolution-review-record.md`、`examples/` |
## Frida 运行时支持
此家族的 Frida 运行时分支特意分为两个阶段:
- [`headless-ghidra-frida-runtime-injection`](./headless-ghidra-frida-runtime-injection/SKILL.md) 负责捕获规划、可复用脚本选择和捕获清单生成。
- [`headless-ghidra-frida-evidence`](./headless-ghidra-frida-evidence/SKILL.md) 负责对捕获的动态证据进行仅导入的审查。
随附的通用 Frida 脚本库支持五个一等场景:
- 函数签名分析
- 反编译到原始代码的比较
- 运行时调用树跟踪
- 动态分发或 vtable 观察
- 热点路径或覆盖观察
如果请求超出了文档涵盖的范围,或者更改了可复用脚本的行为或输出形式,请将后续操作路由到 [`headless-ghidra-script-review`](./headless-ghidra-script-review/SKILL.md),而不是临时扩展运行时阶段。
## 典型用法
1. 如果正确的阶段不明显,请从 [`headless-ghidra/SKILL.md`](./headless-ghidra/SKILL.md) 开始。
2. 进入与当前工作阶段匹配的特定阶段 skill 目录。
3. 填写该阶段的 `planning-brief.md`。
4. 将简报作为文件或内联粘贴交接给 `speckit`。
5. 重新打开同一个 skill,并根据相同的阶段契约审计生成的 `spec.md`、`plan.md` 和 `tasks.md`。
6. 使用本地的 `examples/` 和 `templates/` 将清单、审查笔记和审计发现保持在预期的格式中。
7. 在真实任务完成后,当可复用改进应被审查以晋升为追踪工作流时,使用 [`headless-ghidra-auto-evolution`](./headless-ghidra-auto-evolution/SKILL.md)。
## 常见路由
- 新目标或范围不明确:[`headless-ghidra-intake`](./headless-ghidra-intake/SKILL.md)
- 范围稳定且需要可重放的证据规划:[`headless-ghidra-evidence`](./headless-ghidra-evidence/SKILL.md)
- 在证据导入前需要有限的动态捕获:[`headless-ghidra-frida-runtime-injection`](./headless-ghidra-frida-runtime-injection/SKILL.md)
- 已有 Frida 输出和捕获清单:[`headless-ghidra-frida-evidence`](./headless-ghidra-frida-evidence/SKILL.md)
- 需要独立的阶段 6 反编译和比较规划:[`headless-ghidra-progressive-decompilation`](./headless-ghidra-progressive-decompilation/SKILL.md)
- 需要可复用辅助或脚本治理审查:[`headless-ghidra-script-review`](./headless-ghidra-script-review/SKILL.md)
- 希望将已完成任务的学习提升为追踪资产:[`headless-ghidra-auto-evolution`](./headless-ghidra-auto-evolution/SKILL.md)
## 仓库布局
- [`headless-ghidra/`](./headless-ghidra/) 是伞形 skill 和共享支持面。它包括路由指南、演练、示例产物、可复用的无头 Ghidra 脚本和辅助 shell 脚本。
- 每个阶段目录包含阶段 skill、一个固定名称的 `planning-brief.md` 以及特定阶段的示例或模板。
- Frida 运行时阶段还包括被追踪的通用脚本库及其清单。
- 自动演进阶段包含用于决定可复用改进是否成为追踪资产的审查模板。
如果您是首次打开此仓库,请从 [`headless-ghidra/SKILL.md`](./headless-ghidra/SKILL.md) 开始,然后按照上面的阶段链接进行。
标签:DAST, DevSecOps, Docker支持, ESC漏洞, Frida, Ghidra, Headless, Markdown, 上游代理, 二进制分析, 云安全运维, 云资产清单, 可重现性, 域名枚举, 安全合规, 实时处理, 工作流自动化, 应用安全, 开源安全工具, 恶意软件分析, 情报收集, 数据管道, 无头模式, 漏洞研究, 网络代理, 网络安全审计, 自动化分析, 证据收集, 跨站脚本, 软件工程, 逆向工具, 逆向工程, 逆向工程平台, 防御加固