jobpatiphan/bogbogprox
GitHub: jobpatiphan/bogbogprox
Snare 是一个用 Rust 编写的 AI 原生 Web 安全代理,旨在成为更快、更轻量、更智能的 Burp Suite 开源替代品。
Stars: 0 | Forks: 0
🪤 Snare
Rust 原生、AI 驱动的 Web 安全代理。
轻量但功能全面 · 稳定 · 极致并行 · 单核三界面
## 什么是 Snare?
**Snare** 是一个开源的 Web 应用程序安全代理 —— 一个**从底层用 Rust 构建的 Burp Suite 替代品**,旨在变得**更快、更轻量、更智能**,并向所有人开放扩展。
一个核心,源自同一引擎的**三种界面**:
- 🖥️ **TUI** — 键盘驱动的终端 UI(ratatui),在 SSH 上表现完美
- 🌐 **Web** — 在任何浏览器中打开,将其托管在服务器上
- 🪟 **桌面端** — 原生应用(Tauri),~30–50 MB 内存,< 10 MB 安装包
并且它是**AI 原生**的:Snare 通过 **Model Context Protocol (MCP)** 暴露其*整个*工具集,因此像 Claude 这样的 agent 可以直接驱动它 —— 从简单的“分析此请求”到**自主、自我验证的渗透测试器**。
## 为什么 Snare 胜出
| | Snare | 传统代理 |
|---|---|---|
| **AI 原生** | 通过 MCP 提供完整工具集;支持自主 agent 循环 | 拼凑而成、封闭、有限 |
| **性能** | Rust/hyper · 数百万流量下保持恒定内存 · 启动 < 0.5s | JVM · 内存消耗大 · 启动缓慢 |
| **前端** | TUI + Web + 桌面端 + 远程,单一核心 | 单一桌面应用 |
| **开放与可扩展** | Apache-2.0 · 跨语言 WASM 插件 · 导入 Nuclei 模板 | 封闭 · 单一语言扩展 |
| **自动化** | HTTPQL + CLI + REST + MCP — 完全可脚本化 | 以 UI 为中心 |
| **信任** | 零遥测 · 运行本地 AI 模型 | 广告 / 云端遥测 |
## 功能愿景
Proxy · Repeater · Intruder · **HTTPQL** 查询语言 · Match & Replace · Decoder / Comparer / Sequencer · Sitemap & Scope · 被动与主动扫描器(支持 **Nuclei** 导入) · WebSocket / gRPC / GraphQL 工具 · JWT / OAuth 套件 · **自主 AI 渗透测试器** · session-handling 与宏 · 完整报告(MD / HTML / PDF / **SARIF**) · 团队模式 · WASM 插件。
请在 **[`docs/DESIGN.md`](docs/DESIGN.md)** 中查看完整的 **57 个章节的架构**。
## 架构概览
```
TUI (ratatui) ── Web (WASM) ── Desktop (Tauri) ← thin frontends, no logic
│ snare-client SDK
▼
snared (daemon) ── axum REST/WS · MCP (rmcp)
│
snare-core (library) ── capture · repeater · intruder · scanner
│ rules · HTTPQL · AI orchestrator
tokio (async I/O) ⇄ rayon (CPU-bound) + backpressure
Storage port: SQLite WAL + blob → Postgres (team mode)
Engine port: snare-engine (hudsucker / hyper / rustls)
[Browser / client] ─▶ snare-engine (data-plane) ─▶ [Target]
```
## 状态
🟢 **今日可用** — Burp 风格的核心已实现、可运行,并
完成了端到端验证:
| 功能 | 状态 |
|---|---|
| HTTPS 拦截代理 + 捕获(SQLite) | ✅ |
| **Interactive Intercept** — 暂存/编辑/丢弃请求*以及*响应 | ✅ |
| **Scope** — 将拦截限制在指定的主机 | ✅ |
| **Repeater** — 重发捕获的请求 | ✅ |
| **Match & Replace** — 对请求/响应进行自动正则表达式重写 | ✅ |
| **Intruder** — 有界并行的 payload 模糊测试 | ✅ |
| **被动扫描器** — 自动标记缺失的 header、cookie 标志、反射的参数 | ✅ |
| **Decoder** — Base64 / URL / Hex / JWT | ✅ |
| 三大界面 — TUI · Web 仪表盘 · 桌面端(Tauri) | ✅ |
| AI 原生 — MCP 工具(`proxy_*`、`repeater_send`、`intruder_run`) | ✅ |
| 重启后持久化保存规则 / scope / 扫描器状态 | ✅ |
仍在路线图上(参见 [`docs/DESIGN.md`](docs/DESIGN.md),57 个章节):
HTTPQL 查询语言、主动扫描器、Comparer/Sequencer、WebSocket/GraphQL,
session handling 与宏、报告(SARIF)、团队模式、WASM 插件,以及
自主 AI 渗透测试器。
实时仪表盘(`http://127.0.0.1:9000/`)从其工具栏中暴露了拦截、scope、Match &
Replace、发现结果以及解码器。
### 快速开始
```
cargo build
./target/debug/snared ca generate # unique per-install CA (§28)
# 将打印的 cert 安装到你的 browser/OS trust store 中,然后:
./target/debug/snared run # proxy :8888, REST API + dashboard :9000
# 在任何 browser 中打开 live dashboard:
# http://127.0.0.1:9000/
# 将你的 browser/curl 指向 proxy:
curl --proxy http://127.0.0.1:8888 --cacert
https://example.com
./target/debug/snared flows # list captured flows (CLI)
./target/debug/snare-tui # or watch them live in the TUI (r = resend)
```
端口可被覆盖:`snared run --proxy 127.0.0.1:9999 --api 127.0.0.1:9001`。
三种界面,一个核心 —— 原生一致的实时仪表盘:
```
./target/debug/snare-desktop # native window (Tauri) onto the daemon dashboard
# SNARE_URL=http://remote:9000/ ./target/debug/snare-desktop # 或 remote daemon
```
`snare-mcp` 二进制文件是一个 stdio MCP 服务器,它暴露了 `proxy_list_flows`、
`proxy_get_flow`、`proxy_stats`、`repeater_send` 和 `intruder_run` —— 将
MCP 客户端(如 Claude)指向它即可驱动捕获的流量。它会将每次调用报告给 daemon,
因此仪表盘会实时显示 agent 正在做什么。
### 路线图
| 阶段 | 交付内容 |
|---|---|
| **0 · 骨架** | Cargo workspace、`snare-core` traits、空的 `snared`、CI、gen-CA |
| **1 · 核心循环** | 引擎(hudsucker)+ 捕获 + SQLite + REST/WS + TUI + MCP(stdio) |
| **2 · 攻击与 Web** | Intruder + Match & Replace + Decoder/Comparer + Sitemap + 完整的 HTTPQL + Web UI |
| **3 · AI + 被动 + 桌面端** | MCP Streamable HTTP + AI 工具 + 被动扫描器 + 桌面端(Tauri) |
| **4 · 主动扫描器** | 爬取 + 主动检查(SQLi/XSS/SSRF/IDOR)+ 报告 |
| **5 · 专业级 + 规模化** | OAST/Collaborator + session handling + 工作流 + Postgres/团队模式 |
## 许可证
[Apache-2.0](LICENSE) © Snare 贡献者
用 ❤️ 和 🦀 构建 — 一个正在进行中的梦想。
标签:AI驱动, CISA项目, MCP, Rust, Tauri, WASM插件, Web安全代理, 可视化界面, 网络流量审计, 通知系统