jobpatiphan/bogbogprox

GitHub: jobpatiphan/bogbogprox

Snare 是一个用 Rust 编写的 AI 原生 Web 安全代理,旨在成为更快、更轻量、更智能的 Burp Suite 开源替代品。

Stars: 0 | Forks: 0

🪤 Snare

Rust 原生、AI 驱动的 Web 安全代理。
轻量但功能全面 · 稳定 · 极致并行 · 单核三界面

status language license AI

## 什么是 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安全代理, 可视化界面, 网络流量审计, 通知系统