shroominic/auto-reverse-engineer
GitHub: shroominic/auto-reverse-engineer
一个基于 prompt 的框架,利用 AI coding agent 自主执行结构化的逆向工程项目,将杂乱的逆向过程转化为可重复、可追踪的工作流。
Stars: 6 | Forks: 1
# 自动逆向工程
`auto-reverse-engineer` 是一个 prompt 框架,用于在现有的 coding-agent 运行平台中执行自主的逆向工程项目。
## 文件
- `bootstrap.md`:创建一个新的项目工作区,询问所需的上下文,并为运行做准备
- `program.md`:在该项目工作区内运行实际的逆向工程循环
## 工作原理
1. 使用 `bootstrap.md` 运行一个 agent。
2. 它会为目标创建一个独立的项目文件夹。
3. 它会写入初始文件,例如 `goal.md`、`project-context.md`、`progress.md`、`attempts.md`、`paths.md`、`inbox/` 和 `knowledge-base/`。
4. 它会将 `program.md` 复制到该项目文件夹中。
5. 使用 `program.md` 在新的项目文件夹中启动第二个 agent。
## 运行说明
从仓库根目录开始,首先运行 `bootstrap.md` 来创建项目工作区。
在本例中我们使用 Codex,但同样适用于 Claude 或任何其他 agent 运行平台。
```
codex "run bootstrap.md"
```
它会询问你需要的信息并创建项目工作区。
在 bootstrap 完成后,从创建好的项目文件夹内部启动主运行:
对于 Codex,agent 并不总是会自动保持循环,因此在项目文件夹内部通过 shell 循环来运行它:
```
while true; do
codex exec --yolo "run program.md, target projects//goal.md" 2>&1 | tee -a agent.log
sleep 1
done
```
Claude 通常不需要 shell 循环,因此只需运行一次即可:
```
claude -p "run program.md"
```
## 项目模型
每个目标都有其专属的工作区。框架仓库保持通用。项目文件夹存放特定于目标的状态、产物、笔记、脚本和日志。
运行时的 agent 应该:
- 致力于实现 `goal.md` 中的目标
- 维护一个结构化的知识库
- 跟踪尝试记录并避免重复失败的工作
- 维护 `paths.md`,包含优先级排序的调查路径、阻碍项和触发条件
- 每次循环检查 `inbox/`,以检测人类是否提供了所需的资源
- 在满足触发条件时,自动解除阻碍并继续执行路径
- 始终处理优先级最高的就绪路径
## 示例
一个项目可以针对 CGM 应用程序和传感器:
- 检查 APK
- 还原 BLE 协议
- 识别配对和消息解析过程
- 获取设备的原始血糖数据
## 目的
本仓库的目的很简单:使自主的逆向工程运行具有可重复性、结构化,并按目标进行隔离。
标签:AI Agent Harness, AI智能体, Auto-RE, Claude, Codex, Cutter, CVE检测, DLL 劫持, Reversing, VPS部署, 云资产清单, 任务自动化, 大语言模型, 提示词工程, 知识库管理, 策略决策点, 编码助手, 自主代理, 自动化框架, 软件分析, 逆向工程, 防御加固