xalgord/xalgorix

GitHub: xalgord/xalgorix

结合大语言模型与七十多种安全工具,提供全自动化渗透测试、实时仪表盘监控及报告生成的开源 AI Agent。

Stars: 23 | Forks: 1

Xalgorix
[![Go](https://img.shields.io/badge/Go-1.25-00ADD8?style=for-the-badge&logo=go&logoColor=white)](https://go.dev) [![License](https://img.shields.io/badge/License-MIT-00ff88?style=for-the-badge)](LICENSE) [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20Me%20a%20Coffee-ffdd00?style=for-the-badge&logo=buymeacoffee&logoColor=black)](https://buymeacoffee.com/xalgorix)

最强大的开源 AI 自主渗透测试 Agent。

## 📸 截图 ### Web UI 仪表盘 ![Web UI](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/f1abe23496194245.png) ### 实时动态与漏洞 ![Live Feed](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/dce7eb19b2194257.png) ### 严重程度过滤与设置 ![Severity Filter](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6d5fa64f9b194319.png) ### 扫描结果 ![Results](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/b1f69894b4194331.png) ## 🚀 Xalgorix — 最强大的开源 AI 渗透测试 Agent **Xalgorix 是最全面的开源自主渗透测试平台。** 它结合了 AI 与 70 多种安全工具的强大功能,提供企业级的渗透测试服务——完全免费。 ### 为什么 Xalgorix 是 #1 | 声明 | 现实 | |-------|---------| | **最完整** | ✅ 唯一具备 Web UI + 实时动态 + 聊天 + PDF + Discord 的开源工具 | | **最详尽** | ✅ 3 种扫描模式:单一 → DAST → Wildcard (子域名枚举 → 逐个扫描) | | **最自动化** | ✅ 自动安装工具,自动生成 PDF,自动发送 Discord 告警 | | **最灵活** | ✅ 支持任何 LLM (OpenAI, Anthropic, DeepSeek, MiniMax, Google, Groq, Ollama) | | **生产就绪** | ✅ 速率限制、熔断器、队列系统、严重程度过滤 | ### Xalgorix 的独特之处? - **🚀 自主性** — 给定目标,即可自动运行。无需人工干预。 - **🧠 AI 驱动** — 利用 LLM 进行智能决策。 - **🔓 100% 免费** — 无 SaaS,无单次扫描费用,无限制。 - **🏠 自托管** — 数据绝不离开您的设备。 - **⚡ 闪电般快速** — 使用最大线程数,全面标志扫描。 - **🎯 精准** — 只报告可利用的漏洞,无误报。 - **🛡️ 安全** — 阻止破坏性命令,速率限制保护您的 IP。 ## ✨ 主要功能 | 功能 | 描述 | |---------|-------------| | 🤖 **自主 Agent** | LLM 驱动的渗透测试,采用 20 阶段方法论 | | 🎯 **单一扫描** | 对单个 URL/目标进行完整漏洞测试 | | 🔍 **DAST 扫描** | 对特定 URL 进行深度漏洞测试 | | 🌐 **Wildcard 扫描** | 枚举所有子域名 → 逐个扫描 | | 🎯 **严重程度过滤** | 按 Critical/High/Medium/Low/Info 过滤 | | 🚫 **范围外** | 定义要从测试中排除的目标 | | 🔒 **安全优先** | 阻止破坏性命令,编码绕过检测 | | 🔌 **熔断器** | 5 次尝试后自动阻止失败的工具 | | 🌐 **Web UI** | 带实时动态和 token 跟踪的暗色模式仪表盘 | | 💬 **扫描时聊天** | 扫描运行时向 agent 发送消息 | | 📱 **移动端就绪** | 支持手机和平板电脑 | | 💾 **扫描持久化** | 重启后恢复中断的扫描 | | 📊 **PDF 报告** | 自动生成专业渗透测试报告 | | 🔔 **Discord 告警** | 在扫描开始/发现漏洞/完成时收到通知 | | 🔧 **自动安装** | 70+ 工具→包映射 | | 🧠 **多 LLM** | OpenAI, Anthropic, DeepSeek, MiniMax, Groq, Ollama, Google | | 🔐 **认证** | 可选的仪表盘登录保护 | | 🔍 **CVE 搜索** | 查询 NIST NVD 数据库获取 CVE 详情 | | 🐛 **Exploit 搜索** | 搜索 Exploit-DB 获取公开漏洞利用 | | 🔎 **网络搜索** | 集成 Gemini, Brave, Google, Bing, DuckDuckGo | | ✅ **工具预检** | 运行前自动安装缺失的工具 | ## 🆚 为什么选择 Xalgorix? ### 与开源替代方案的全面对比 | 功能 | Xalgorix | Shannon | Strix | PentestGPT | HexStrike | PentAGI | Nebula | |---------|:--------:|:------:|:-----:|:----------:|:---------:|:-------:|:------:| | **自托管** | ✅ | ⚠️ SaaS | ✅ | ✅ | ✅ | ✅ | ✅ | | **黑盒测试** | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | | **白盒测试** | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ | | **Web UI 仪表盘** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **实时动态** | ✅ | ❌ | ❌ | ⚠️ 终端 | ❌ | ❌ | ❌ | | **扫描时聊天** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **自动 PDF 报告** | ✅ | ✅ | ✅ | ⚠️ 手动 | ❌ | ❌ | ❌ | | **Discord 告警** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **浏览器自动化** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | | **自动安装工具** | ✅ 70+ | ❌ | ⚠️ Docker | ⚠️ Docker | ⚠️ MCP | ⚠️ Docker | ⚠️ CLI | | **速率限制** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **多目标队列** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **严重程度过滤** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **熔断器** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **DAST 模式** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **Wildcard 扫描** | ✅ | ❌ | ❌ | ⚠️ 手动 | ❌ | ⚠️ 手动 | ❌ | | **内置 CVE 搜索** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **Exploit 搜索** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **网络搜索** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | | **需要源代码** | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | | **聚焦 Bug Bounty** | ✅ | ⚠️ SaaS | ✅ | ✅ | ⚠️ MCP | ⚠️ Docker | ✅ | ### 功能详情 - **Shannon** — 需要源代码(仅白盒),属于付费 Keygraph 平台的一部分 - **Strix** — 基于 Docker,适合 Bug Bounty,无 Web UI - **PentestGPT** — 发表于 USENIX Security 2024,仅有终端界面 - **HexStrike** — MCP 服务器集成,通过 MCP 协议支持 150+ 工具 - **PentAGI** — 多 agent Docker 系统,设置复杂 - **Nebula** — CLI 助手,适合快速扫描,但方法论有限 ### 为什么 Xalgorix 是最佳选择? 1. **🎯 最完整的 Web UI** - 唯一拥有完整仪表盘、实时动态、聊天、token 跟踪的工具 - 实时查看所有内容,在扫描期间与 agent 交互 2. **🔄 多种扫描模式** - Single: 快速目标扫描 - DAST: 深度 URL 漏洞测试 - Wildcard: 子域名枚举 → 逐个扫描 - 最全面的覆盖范围 3. **🔔 内置通知** - 开始/发现漏洞/完成时的 Discord 告警 - 自动生成 PDF 报告 4. **🛡️ 生产就绪** - 速率限制(保护您的 IP) - 熔断器(自动阻止失败的工具) - 队列系统(扫描多个目标) - 严重程度过滤(专注于重要事项) 5. **🔍 内置研究工具** - CVE 搜索 (NIST NVD) - Exploit 搜索 (Exploit-DB) - 网络搜索 (Gemini/Brave/Google) 6. **💰 100% 免费且开源** - 无 SaaS 订阅 - 无单次扫描费用 - 数据保留在本地 ### 竞争优势总结 | 您获得的功能 | Xalgorix | 其他 | |--------------|----------|--------| | **Web 仪表盘** | ✅ | ❌ 大多数 | | **实时动态 + 聊天** | ✅ | ❌ | | **自动 PDF + Discord** | ✅ | ❌ | | **3 种扫描模式** | ✅ | ❌ | | **工具自动安装** | ✅ 70+ | ⚠️ 手动 | | **生产环境安全** | ✅ | ❌ | | **永久免费** | ✅ | ✅ | ## 🛠️ 快速开始 ### 1️⃣ 安装 ``` # 快速安装 go install github.com/xalgord/xalgorix/cmd/xalgorix@latest # 或从源码构建 git clone https://github.com/xalgord/xalgorix.git cd xalgorix ./build.sh --install ``` ### 2️⃣ 配置 ``` # 创建 ~/.xalgorix.env nano ~/.xalgorix.env ``` ``` # 必填 XALGORIX_LLM=openai/gpt-4.5 XALGORIX_API_KEY=your_api_key # 或使用 Anthropic: # XALGORIX_LLM=anthropic/claude-sonnet-4.6 # XALGORIX_API_KEY=sk-ant-... # 可选 - 用于自定义提供商 (MiniMax, Ollama, 等) # XALGORIX_API_BASE=https://api.minimax.io/ # 可选 XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/... ``` ### 3️⃣ 运行 ``` # Web UI (推荐) xalgorix --web # 或 CLI xalgorix --target https://example.com ``` ## 📖 命令参考 ### CLI 标志 | 标志 | 别名 | 描述 | |------|-------|-------------| | `--web` | `-w` | 启动 Web UI 仪表盘 | | `--port` | `-p` | Web UI 端口 (默认: 1337) | | `--target` | `-t` | 目标 URL, IP 或本地路径 (可重复) | | `--instruction` | `-i` | 给 agent 的自定义指令 | | `--model` | `-m` | LLM 模型 (覆盖 XALGORIX_LLM) | | `--update` | `-up` | 更新到最新版本 | | `--version` | `-v` | 显示版本 | | `--start` | — | 安装并作为 systemd 服务启动 | | `--stop` | — | 停止服务 | | `--restart` | — | 重启服务 | | `--uninstall` | — | 从系统中移除 | | `--help` | `-h` | 显示帮助 | ### 环境变量 #### 必需 | 变量 | 描述 | 示例 | |----------|-------------|---------| | `XALGORIX_LLM` | 模型名称 (可选 provider 前缀) | `openai/gpt-5.4`, `anthropic/claude-opus-4.6`, `deepseek/deepseek-v4`, `minimax/M3`, `custom/my-model` | | `XALGORIX_API_KEY` | API key | `sk-...` | #### 可选 - API Base (用于自定义 provider) | 变量 | 描述 | 示例 | |----------|-------------|---------| | `XALGORIX_API_BASE` | API 基础 URL (如果未设置,则从 provider 前缀自动检测) | `https://api.openai.com/`, `https://api.anthropic.com`, `https://api.minimax.io/`, `https://your-custom-llm.com/v1` | #### 可选 - 网络搜索 | 变量 | 描述 | 示例 | |----------|-------------|---------| | `GEMINI_API_KEY` | 用于网络搜索的 Google Gemini API key | `AIza...` | #### 支持的 Provider 前缀 (自动检测) | 前缀 | API Base | |--------|----------| | `openai/` | `https://api.openai.com/v1` | | `anthropic/` | `https://api.anthropic.com` | | `deepseek/` | `https://api.deepseek.com/v1` | | `groq/` | `https://api.groq.com/openai/v1` | | `google/` | `https://generativelanguage.googleapis.com/v1` | | `gemini/` | `https://generativelanguage.googleapis.com/v1` | | `ollama/` | `http://localhost:114341` | | `minimax/` | `https://api.minimax.io/v1` | #### 可选 - 模型设置 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `XALGORIX_REASONING_EFFORT` | `high` | 推理强度: `low`, `medium`, `high` | | `XALGORIX_LLM_MAX_RETRIES` | `5` | API 失败时的最大重试次数 | | `XALGORIX_MEMORY_COMPRESSOR_TIMEOUT` | `60` | 上下文压缩超时 (秒) | | `XALGORIX_MAX_ITERATIONS` | `0` | 最大迭代次数 (0 = 无限制) | #### 可选 - 集成 | 变量 | 描述 | 示例 | |----------|-------------|---------| | `XALGORIX_DISCORD_WEBHOOK` | 用于告警的 Discord webhook | `https://discord.com/api/webhooks/...` | | `XALGORIX_USERNAME` | 仪表盘用户名 (启用认证) | `admin` | | `XALGORIX_PASSWORD` | 仪表盘密码 | `secret123` | #### 可选 - 速率限制 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `XALGORIX_RATE_LIMIT_REQUESTS` | `60` | 时间窗口内的请求数 | | `XALGORIX_RATE_LIMIT_WINDOW` | `60` | 时间窗口 (秒) | #### 可选 - 浏览器 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `XALGORIX_DISABLE_BROWSER` | `false` | 设为 `true` 以禁用浏览器自动化 | ### 支持的模型 Xalgorix 支持多种 LLM provider: - **OpenAI** — `openai/gpt-5.4`, `openai/gpt-5`, `openai/o1`, `openai/o3` - **Anthropic** — `anthropic/claude-opus-4.6`, `anthropic/claude-sonnet-4.6` - **DeepSeek** — `deepseek/deepseek-v4`, `deepseek/deepseek-v3`, `deepseek/deepseek-coder` - **Google** — `google/gemini-3.1-pro`, `google/gemini-2.0-flash` - **Groq** — 托管 Llama 4, Qwen 3, Mixtral (直接使用模型名称) - **Ollama** — `ollama/llama4`, `ollama/qwen3` (本地) - **MiniMax** — `minimax/M3`, `minimax/Text-01` ## 📖 使用指南 ### Web UI 功能 | 功能 | 用法 | |---------|-------| | 🎯 **单一扫描** | 输入 URL,点击开始 | | 🔍 **DAST 扫描** | 选择 "DAST" 模式进行 URL 漏洞测试 | | 🌐 **Wildcard 扫描** | 选择 "Wildcard" 模式进行子域名枚举 → 每个子域名都会进行全面扫描 | | 📂 **多目标** | 上传一个 `.txt` 文件,每行一个目标 | | 🎯 **严重程度过滤** | 仅勾选 Critical/High 以跳过 Low/Info | | 🚫 **范围外** | 排除不需要测试的目标 | | 💬 **自定义指令** | 告诉 Xalgorix 重点关注什么 | | ⚙️ **LLM Provider** | 在设置中切换 provider | | 🔔 **Discord** | 添加 webhook 以接收告警 | ### 指令示例 ``` # 针对特定漏洞 "Focus on SQL Injection and IDOR. Skip XSS." # 传统认证测试 "Login with: admin@email.com / Password123" # API 密钥认证 "API: am_us_pod_474368638921786eec2228b27f..., username: agentmail" # 基于邮件的服务测试 "AgentMail credentials: api_key=xxx, email=user@agentmail.to" # Bug bounty 规则 "This is a HackerOne program. Out of scope: DoS, social engineering." # 内网 "Scan 10.0.0.0/24. Focus on SMB and database services." ``` ## 🏗️ 架构 ``` xalgorix/ ├── cmd/xalgorix/ # CLI entry point ├── internal/ │ ├── agent/ # 🤖 Core agent loop │ ├── config/ # ⚙️ Configuration │ ├── llm/ # 🧠 LLM client & parser │ ├── tools/ # 🔧 11 built-in tools │ │ ├── terminal/ # 💻 Command execution │ │ ├── browser/ # 🌐 Headless Chrome │ │ ├── python/ # 🐍 Python scripts │ │ ├── reporting/ # 📊 Vulnerability reports │ │ └── ... │ ├── web/ │ │ ├── server.go # 🌎 HTTP + WebSocket │ │ └── static/ # 🎨 Web UI (HTML/CSS/JS) │ └── tui/ # 📟 Terminal UI └── skills/ # 📚 Vulnerability knowledge ``` ## 🔧 配置 ### 环境变量 | 变量 | 默认值 | 描述 | |----------|---------|-------------| | `XALGORIX_LLM` | — | 模型 (如 `openai/gpt-4.5`, `anthropic/claude-sonnet-4.6`) | | `XALGORIX_API_KEY` | — | 您的 API key | | `XALGORIX_API_BASE` | 自动检测 | API 端点 (为自定义 provider 设置) | | `XALGORIX_DISCORD_WEBHOOK` | — | Discord webhook URL | | `XALGORIX_RATE_LIMIT_REQUESTS` | 100 | 时间窗口内的请求数 | | `XALGORIX_RATE_LIMIT_WINDOW` | 60 | 时间窗口 (秒) | | `XALGORIX_MAX_ITERATIONS` | 0 | 0 = 无限制 | | `XALGORIX_DISABLE_BROWSER` | false | 禁用无头 Chrome | | `CAIDO_PORT` | 8080 | 用于浏览器集成的 Caido 代理端口 | | `CAIDO_API_TOKEN` | — | Caido GraphQL API token | ### 支持的 LLM Provider | Provider | 模型示例 | |----------|--------------| | 🟢 OpenAI | `openai/gpt-5.4`, `openai/gpt-5`, `openai/o1`, `openai/o3` | | 🔴 Anthropic | `anthropic/claude-opus-4.6`, `anthropic/claude-sonnet-4.6` | | 🟣 DeepSeek | `deepseek/deepseek-v4`, `deepseek/deepseek-v3` | | 🟠 Google | `google/gemini-3.1-pro`, `google/gemini-2.0-flash` | | 🟡 Groq | `llama-4`, `qwen3`, `mixtral` (直接使用模型名称) | | ⚫ Ollama | `ollama/llama4`, `ollama/qwen3` (本地) | | 🔵 MiniMax | `minimax/M3`, `minimax/Text-01` | ## 🛡️ 安全功能 ### 被阻止的命令 ``` ❌ Filesystem: rm -rf /, rm -rf ~, mkfs, dd ❌ SQL: DROP TABLE, DELETE FROM, UPDATE ❌ System: shutdown, reboot, halt, poweroff ❌ Code: shutil.rmtree, os.remove ``` ### 编码绕过检测 Xalgorix 检测混淆命令: | 技术 | 示例 | |----------|--------| | Base64 | `echo cm0gL3JmIC8= \| base64 -d` | | Hex | `\x72\x6d\x20\x2d\x72\x66` | | URL | `%72%6d%20%2d%72%66` | ### 熔断器 在 **5 次连续失败** 后,工具将被暂时阻止 **60 秒**,以防止浪费时间。 ## 📊 API 端点 ### 扫描 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `POST` | `/api/scan` | 开始扫描 | | `POST` | `/api/stop` | 停止扫描 | | `GET` | `/api/status` | 获取状态 | | `GET` | `/api/scans` | 列出扫描 | | `GET` | `/api/scans/:id` | 获取扫描详情 | | `GET` | `/api/report/:id` | 下载 PDF | ### 队列 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `GET` | `/api/queue/status` | 检查中断的队列 | | `POST` | `/api/queue/resume` | 恢复扫描 | | `POST` | `/api/queue/clear` | 清除队列 | ### 设置 | 方法 | 端点 | 描述 | |--------|----------|-------------| | `GET` | `/api/settings/rate-limit` | 获取速率限制 | | `POST` | `/api/settings/rate-limit` | 更新速率限制 | ## 🔍 侦察工具 (自动安装) | 类别 | 工具 | |----------|-------| | 🌐 子域名 | subfinder, findomain, assetfinder, amass | | 🔎 URL | gospider, katana, gau, waybackurls | | 🔧 参数 | paramspider, arjun | | 🚀 端口 | nmap | | 💥 漏洞 | nuclei, nikto, sqlmap, dalfox | | 📁 Fuzzing | gobuster, ffuf | | 🖥️ 技术 | whatweb, wappalyzer | ## 📋 20 阶段方法论 1. 🔍 **侦察 (Recon)** — 子域名、端口、目录 2. 🦠 **漏洞扫描 (Vuln Scan)** — Nuclei, nikto, nmap scripts 3. 📂 **内容** — Fuzzing, 备份, 管理面板 4. 🔐 **SSL/TLS** — 密码, 证书, 头部 5. 🔑 **认证** — 登录 SQLi, 暴力破解, OAuth 6. 💉 **注入** — XSS, SQLi, Command, XXE, SSTI 7. 🔄 **SSRF** — 参数 Fuzzing, 云元数据 8. 🚪 **IDOR** — 访问控制, 权限提升 9. 🌐 **API** — GraphQL, REST, 速率限制 10. 📤 **上传** — 扩展名绕过, webshells 11. ⚙️ **RCE** — 反序列化, Log4j 12. ⏱️ **竞争** — TOCTOU, 业务逻辑 13. 🌟 **接管** — 子域名, CNAME 14. 📧 **邮件** — SPF, DKIM, DMARC 15. ☁️ **云** — S3, Azure, GCP, K8s 16. 🔌 **WebSocket** — Origin, 注入 17. CMS | WordPress, Joomla, Drupal 18. 🔗 **链接** — 断链劫持 19. 📦 **供应链** — JS 库, 依赖项 20. 📝 **报告** — JSON + PDF ## 📄 PDF 报告内容 自动生成的报告包括: - ✅ 带有目标和日期的封面 - 📊 带有漏洞统计的执行摘要 - 🐛 漏洞详情 (CVSS, PoC, 修复建议) - 🔗 已测试的端点 - 📋 应用的方法论 - ⚠️ 法律免责声明 ## 📁 数据存储 ``` ~/xalgorix-data/scans/ ├── example.com_abc123/ │ └── scan.json ├── target.io_def456/ │ └── scan.json └── queue_state.json ``` - 📅 30 天自动清理 - 💾 页面刷新后依然保留 - 🔄 重启后恢复队列 ## 🤝 贡献 欢迎 Pull Request!请参阅 [CONTRIBUTING.md](CONTRIBUTING.md) 了解指南。 ## 📜 许可证 MIT License — 详见 [LICENSE](LICENSE)。 ## 🔗 链接 | 资源 | URL | |----------|-----| | 📖 文档 | [docs.xalgorix.com](https://docs.xalgorix.com) | | 🐛 Issues | [github.com/xalgord/xalgorix/issues](https://github.com/xalgord/xalgorix/issues) | | ☕ 捐赠 | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord) |
**由 [@xalgord](https://github.com/xalgord) 用 ⚡ 构建** *请负责任地使用。*
标签:AI渗透测试, C2, DAST, EVTX分析, FTP漏洞扫描, GitHub, Go语言, LLM安全工具, TCP SYN 扫描, URL枚举, Web UI, 子域名枚举, 安全编排, 密码管理, 开源安全工具, 恶意软件分析, 插件系统, 日志审计, 程序破解, 系统安全, 红队自动化, 网络安全审计, 网络安全扫描器, 自动化安全评估, 逆向工程平台, 防御性安全