Christbowel/siphon
GitHub: Christbowel/siphon
一款完全本地运行的AI驱动Web漏洞猎杀工具,结合本地LLM推理引擎与传统脚本扫描器双轨道并行检测,能像渗透测试员一样思考并输出可直接提交的漏洞报告。
Stars: 1 | Forks: 0
[](https://github.com/Christbowel/siphon)
[](https://git.io/typing-svg)
```
███████╗██╗██████╗ ██╗ ██╗ ██████╗ ███╗ ██╗
██╔════╝██║██╔══██╗██║ ██║██╔═══██╗████╗ ██║
███████╗██║██████╔╝███████║██║ ██║██╔██╗ ██║
╚════██║██║██╔═══╝ ██╔══██║██║ ██║██║╚██╗██║
███████║██║██║ ██║ ██║╚██████╔╝██║ ╚████║
╚══════╝╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝
```
**自主 AI 驱动的 Web 漏洞猎手**
*100% 本地运行 · 无需 API 密钥 · 无云服务 · 一键启动*
[](LICENSE)
[](https://python.org)
[](https://docker.com)
[](https://ollama.ai)
[]()
[](CONTRIBUTING.md)
## 什么是 SIPHON?
大多数安全工具要么是只会用误报淹没你的傻瓜扫描器,要么是基于云的 AI 包装器,会将你的目标数据发送到第三方服务器。
SIPHON 两者都不是。
SIPHON 是一个完全自主的漏洞猎杀代理,**在测试之前会先思考**。它完全在你的机器上运行,在一个隔离的 Docker 容器内。你的目标 URL、你的发现、你的侦察数据——这些都不会离开你的网络。没有 OpenAI。没有 Anthropic。没有 API 密钥。没有订阅。
你用一个命令启动它。SIPHON 像真正的浏览器一样抓取目标,捕获每一个 API 调用和 POST 主体,然后让本地 LLM 对其发现进行推理——形成假设、建模服务器行为、测试业务逻辑——就像经验丰富的渗透测试员思考目标那样。同时,专门的扫描器覆盖技术攻击面。每一个发现都会在到达你手中之前得到验证。没有噪音。没有浪费时间。
结果:一份你真正可以提交的报告。
```
$ ./start.sh https://target.com
███████╗██╗██████╗ ██╗ ██╗ ██████╗ ███╗ ██╗
...
Target : https://target.com
Model : qwen2.5-coder:7b (local)
Mode : Dual-Track (Reasoning + Scripts)
Phase 1 Fingerprinting Stack: Spring · WAF: none
Phase 2 Cartography 127 endpoints · 43 API calls · 12 params
Phase 3 Hunt
Track A ▶ /api/v1/orders reasoning engine
Track B ▶ 6 scanners running sqli · xss · idor · ...
🔴 [HIGH] IDOR on /api/v1/orders/{id} confidence: 0.92
🟡 [MEDIUM] Missing security header confidence: 1.00
Hunt complete 2 confirmed · 0 false positives · reports in ./reports/
```
## 主要功能
|
### 🧠 会思考,而不只是扫描
Track A 使用本地 LLM 对服务器进行建模,识别信任假设,并测试假设。它在尝试破坏端点之前,先理解端点*做*什么。而不是盲目地向参数投放载荷。
|
### 🔗 跨端点记忆
SIPHON 在运行过程中构建整个应用程序的心智模型。在 `/api/profile` 上发现的用户 ID 会在 `/api/orders`、`/api/payments` 以及其他任何地方进行测试。大多数扫描器永远无法建立这种联系。
|
|
### 📡 捕获真实流量
Playwright 爬虫拦截浏览器发出的每一个 XHR 调用、API 请求和 POST 主体,而不仅仅是页面上的链接。SIPHON 调查应用程序*实际做*什么,而不是 HTML 中可见的内容。
|
### ⚡ 精英模块链
确认的发现会输入到链式模块中:盲注、OAuth 深度测试、竞争条件利用、缓存投毒、HTTP 走私。一个发现演变成一条杀伤链。
|
|
### 🎯 零误报容忍
每一个发现都会在进入报告之前通过专用验证器。没有将软 404 确认为路径遍历。没有将反射字符串误认为是 XSS。你得到的是真实的发现。
|
### 🔒 设计上 100% 隐私
容器是网络隔离的。它只能到达目标和你的本地 Ollama 实例,其他一切都受阻。你的侦察、你的发现、你的方法论:全属于你,在你的机器上。
|
## 工作原理
代理完全在 Docker 容器内运行。它只能到达目标 URL 和你主机上的 Ollama——其他一切都受阻。你永远不需要进入容器;结果直接流式传输到你的终端,报告生成在你机器上的 `./reports/` 中。
```
Your terminal Docker container (isolated)
│ │
│ ./start.sh https://target.com │
│────────────────────────────────────────>│
│ │
│ Phase 0 : Auth
│ Finds login form, attempts auth
│ │
│ Phase 1 : Fingerprinting
│ Stack, WAF, endpoints
│ │
│ Phase 2 : Cartography
│ Playwright browser crawl
│ Captures XHR, API calls, POST bodies
│ │
│ Phase 3 : Hunt (parallel)
│ ┌───────────────┴───────────────┐
│ Track A Track B
│ LLM reasoning Script scanners
│ Hypothesis testing SQLi, XSS, IDOR
│ Business logic Mass assignment
│ Cross-endpoint memory Cache poisoning
│ └───────────────┬───────────────┘
│ │
│ Phase 4-6 : Chain, Validate, Report
│ │
│ <── findings stream in real time ──────│
│ <── reports saved to ./reports/ ───────│
```
**双轨道引擎** 是 SIPHON 的独特之处:
**Track A** 使用本地 LLM,接收每个端点及其真实捕获的请求方法、标头、完整 POST 主体,并像渗透测试员一样对其进行推理。它对服务器做什么进行建模,识别信任假设,形成假设,测试假设,并保持跨端点记忆以发现整个应用程序中的模式。
**Track B** 并行运行专门的 Python 扫描器,每个扫描器专注于特定的漏洞类别,具有专用的载荷和确认逻辑。两条轨道同时运行,结果在保存前进行交叉验证。
## 为什么选择 SIPHON 而不是其他工具?
| 功能 | SIPHON | CAI | PentestGPT | Nuclei |
|---|:---:|:---:|:---:|:---:|
| 完全本地,无 API 密钥 | ✅ | ❌ | ❌ | ✅ |
| LLM 推理引擎 | ✅ | ✅ | ✅ | ❌ |
| 完全自主 | ✅ | 部分 | ❌ | ✅ |
| 一键启动 | ✅ | ❌ | ❌ | ✅ |
| 假设驱动测试 | ✅ | ❌ | ❌ | ❌ |
| 业务逻辑检测 | ✅ | 部分 | 部分 | ❌ |
| 跨端点记忆 | ✅ | ❌ | ❌ | ❌ |
| POST 主体捕获 | ✅ | ❌ | ❌ | ❌ |
| 误报验证 | ✅ | 部分 | ❌ | ❌ |
| 可提交的报告 | ✅ | ❌ | 部分 | ❌ |
## 架构
```
┌─────────────────────────────────────┐
│ SIPHON │
└──────────────┬──────────────────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌───────────────┐ ┌──────────────┐
│ Phase 0 │ │ Phase 1-2 │ │ Phase 3 │
│ Auth │ │ Fingerprint │ │ Hunt │
│ (optional) │ │ Cartography │ │ Dual-Track │
└─────────────┘ └───────────────┘ └──────┬───────┘
│
┌──────────────┴──────────────┐
▼ ▼
┌─────────────────┐ ┌──────────────────┐
│ TRACK A │ │ TRACK B │
│ LLM Reasoning │ │ Script Scanners │
│ │ │ │
│ • Hypothesis │ │ • IDOR / BOLA │
│ formation │ │ • SQLi │
│ • Cross-ep. │ │ • XSS │
│ memory │ │ • Auth bypass │
│ • Business │ │ • Mass assign. │
│ logic testing │ │ • Cache poison. │
└────────┬────────┘ └────────┬─────────┘
└──────────┬────────────────┘
▼
┌─────────────────┐
│ Validation │
│ (anti-FP) │
└────────┬────────┘
▼
┌─────────────────┐
│ Reports │
│ Markdown · PDF │
└─────────────────┘
```
## 前置条件
- Linux(推荐 Kali, Parrot, Ubuntu 或 Debian)
- [Docker](https://docs.docker.com/get-docker/) + Docker Compose
- 最低 8GB RAM(大型模型推荐 16GB)
- 仅首次设置需要互联网连接
如果尚未安装,Ollama 将自动安装。
## 安装说明
**步骤 1 克隆**
```
git clone https://github.com/Christbowel/siphon.git
cd siphon
```
**步骤 2 一次性设置**
```
chmod +x install.sh
./install.sh
```
如果缺失则安装 Ollama,拉取默认模型,构建 Docker 镜像,创建 reports 目录。运行一次。
**步骤 3 复制配置**
```
cp config/config.example.yaml config/config.yaml
```
默认配置开箱即用。仅当你想更改模型或抓取设置时才需编辑。
## 运行 SIPHON
**未认证扫描**
```
./start.sh https://target.com
```
**针对本地测试目标 (DVWA)**
```
./dvwa.sh
```
在 Docker 中启动 DVWA 并自动对其启动 SIPHON。适合演示和测试。
**检查栈状态**
```
./start.sh --status
```
**停止一切**
```
./start.sh --stop
```
报告在扫描运行时生成在你主机的 `./reports/` 中——无需进入容器。
## 配置
```
local:
model: qwen2.5-coder:7b # any model from `ollama list`
host: http://host.docker.internal:11434
crawl:
use_playwright: true # full browser crawl (recommended)
max_pages: 150
max_depth: 4
hunt:
max_endpoints: 20 # endpoints Track A investigates
max_steps: 4 # LLM steps per endpoint
track_a: true
track_b: true
```
**支持的模型**
| 模型 | RAM | 最适合 |
|---|---|---|
| `qwen2.5-coder:7b` | 8GB | 默认均衡 |
| `mistral:7b` | 8GB | 快速运行 |
| `deepseek-coder:6.7b` | 8GB | API 和代码分析 |
| `llama3:8b` | 10GB | 强推理能力 |
| `qwen2.5-coder:14b` | 16GB | 最佳效果 |
## SIPHON 检测什么
**Track A — LLM 推理引擎**
LLM 接收每个端点及其真实捕获的请求,并逐步对其进行推理:建模服务器行为、识别信任假设、形成假设、测试假设、观察结果。它保持跨端点记忆以发现跨越整个应用程序的模式。
`IDOR / BOLA` `身份验证绕过` `权限提升` `业务逻辑` `批量赋值` `竞争条件` `JWT 篡改` `参数污染` `HTTP 动词篡改`
**Track B — 脚本扫描器 + 精英模块**
专门的扫描器并行运行,每个专注于特定类别,具有专用载荷和确认逻辑。确认的发现自动链接到精英模块以进行更深入的利用。
`SQLi (报错 · 盲注 · 时间盲注)` `XSS (反射型 · 存储型 · DOM)` `SSRF` `开放重定向链` `敏感文件暴露` `HTTP 走私` `缓存投毒` `原型污染` `OAuth 深度测试` `盲注链` `竞争条件利用` `安全标头分析`
## 报告
```
reports/
└── target.com_2025-01-15_1430/
├── 001_idor_high.md
├── 002_auth-bypass_critical.md
└── 00_summary.md
```
每个发现包括:描述、复现步骤、概念验证请求和响应、影响、CVSS 评分和修复建议。可直接粘贴到 HackerOne 或 Bugcrowd。
## 负责任的使用
SIPHON 仅用于授权的安全测试。仅对你拥有的目标、活跃的漏洞赏金计划范围内的目标,或像 DVWA、HackTheBox 或 TryHackMe 这样有意设为脆弱的环境运行它。
切勿在没有明确书面授权的系统上运行 SIPHON。你对如何使用此工具负全部责任。
有关负责任的披露政策,请参阅 [SECURITY.md](SECURITY.md)。
## 贡献
欢迎 PR。关于如何添加扫描器模块、改进提示词或修复错误,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。
贡献最有用的领域:新的 Track B 模块、针对特定模型的更好提示词、WAF 绕过技术、web3 支持。
[](https://github.com/Christbowel/siphon)
用 ♥ 为漏洞赏金社区构建 · 请负责任地使用
标签:AI安全, AI风险缓解, Chat Copilot, CISA项目, DLL 劫持, Docker, LLM评估, Ollama, Python, Web安全, 双重引擎, 大语言模型, 安全防御评估, 密码管理, 无API密钥, 无后门, 本地LLM, 特征检测, 网络安全, 网络安全, 自动化攻击, 自动漏洞检测, 蓝队分析, 请求拦截, 逆向工具, 防御加固, 隐私保护, 隐私保护