zzjas/anypoc
GitHub: zzjas/anypoc
利用AI agents自动发现并复现软件漏洞,生成经过验证的可执行概念验证工具。
Stars: 10 | Forks: 0
**利用 AI 驱动的概念验证生成,自动发现并复现软件漏洞。**
扫描器 — 如何发现漏洞
扫描器是 AnyPoC 的"查找"部分。它接受三种策略之一,并生成结构化的漏洞报告: - **history** — 在时间范围内挖掘 git log 以寻找 bug-fix 提交,提取底层漏洞模式,然后扫描当前代码库中与修复前版本相似的代码。当您想要广泛搜索且不知道从哪里开始时,这是最佳选择。 - **focused** — 接受要审计内容的自然语言描述(文件、模块、功能、漏洞类型),并驱动一个限定在该区域的 LLM 会话。当您已有假设时,这是最佳选择。 - **commit-pr** — 审查单个提交或拉取请求,以发现该变更引入的漏洞。当您进行预合并审查或事后分析特定变更时,这是最佳选择。 每种策略都会增量发出 `BugReport`,因此下游消费者(PoC 生成、仪表板)可以在扫描完成之前开始工作。PoC 生成 — 如何复现漏洞
PoC 生成是"复现"部分。对于每个漏洞报告,它会在项目特定的 Docker 容器中运行三阶段管道: 1. **分析** — 分析器 Agent 阅读报告及相关源代码,判断漏洞是真实存在还是误报。在这里被拒绝的报告不会消耗 PoC 生成资源。 2. **生成** — 生成器 Agent 根据项目的 `poc_gen.md` 指导,制作一个最小的概念验证(精心设计的输入、独立程序、脚本……),针对目标二进制文件迭代直到触发漏洞。 3. **证据检查** — 独立的 Agent 从头重新运行 PoC 以确认复现,并根据项目的 oracle 规则记录证据( sanitizer 输出、崩溃回溯、意外输出)。 在 `hunt` 模式下,扫描器和有界的 PoC 工作池并发运行:报告发出后立即分发给 workers,当池饱和时在安全的会话边界处暂停扫描器以进行背压。CLI 参考 — 如果您更喜欢直接使用 anypoc 并自行组合命令
### 仪表板
```
anypoc dashboard
```
然后在浏览器中打开 **http://localhost:8501**。
### 查找漏洞
管道有四个步骤:
#### 步骤 1: 生成来源 📥
从项目的提交历史中提取潜在漏洞模式:
```
anypoc scan source commits \
-p firefox \
--time-range "from 2024-01-01 to 2024-12-31" \
--description "memory errors; integer overflow; buffer overflow"
```
#### 步骤 2: 提取模式 🧩
分析这些来源以创建漏洞模式:
```
anypoc scan pattern -p firefox
```
#### 步骤 3: 扫描漏洞 🐛
扫描代码库以寻找类似漏洞:
```
anypoc scan bug -p firefox
```
#### 步骤 4: 生成 PoC 💥
自动生成概念验证漏洞利用:
```
anypoc poc run firefox
```
查看进度:
```
anypoc poc status firefox
```
### 添加新项目(手动)
#### 1. 初始化您的项目
```
anypoc project init myproject
```
这会创建一个包含所有必要内容的项目文件夹:
```
projects/myproject/
├── Dockerfile # How to build the target
├── paths.md # Where to find source code & binaries
└── prompts/ # Custom prompts for poc generation (optional)
```
#### 2. 配置 Dockerfile
编辑 `projects/myproject/Dockerfile` 以:
- 克隆或复制源代码
- 安装任何依赖项
- 使用 sanitizers(ASan、UBSan 等)构建,以更好地检测漏洞
#### 3. 设置路径
编辑 `projects/myproject/paths.md` 以告诉系统如何在容器内找到源代码和二进制文件。
#### 4. 构建 Docker 镜像
```
anypoc project build myproject
```
#### 5. 开始搜索
```
anypoc scan source commits -p myproject --time-range "last 6 months"
anypoc scan pattern -p myproject
anypoc scan bug -p myproject
anypoc poc run myproject
```
标签:AI安全, Bug bounty, Chat Copilot, Claude, CVE检测, Docker, PoC生成, 二进制安全, 云安全监控, 安全防御评估, 沙箱环境, 漏洞复现, 请求拦截, 软件漏洞, 逆向工具, 静态分析