Xalgorix 实战:用 AI Agent 自动做安全测试,690⭐ 开源渗透测试平台
背景
安全测试是每个软件开发团队的必修课,但传统渗透测试依赖人工操作——配置 Burp Suite、手动检查 OWASP Top 10、来回截图写报告,一套流程走下来少则数天多则数周。更麻烦的是,很多团队只在发布前才做一次安全测试,日常迭代中根本顾不上。
Xalgorix 是一个自托管的 AI 安全测试平台,用 LLM 驱动的 Agent 自动完成从信息收集到漏洞验证的 22 个阶段测试。它把渗透测试变成了一个命令或一个 Web UI 点击就能启动的自动化工作流——Agent 自动执行侦察、注入测试、SSRF、IDOR、API/GraphQL 测试等环节,最终生成带品牌 Logo 的 PDF 报告。
项目在 GitHub 上开源(MIT 许可证),Go 语言编写,690 星,README 长达 26K 字符,完整的 CLI + Web UI + API 三合一架构。可以自托管在自己的 Linux 机器上,也可以使用托管版 xalgorix.com 免安装直接扫描。
安装与环境
Xalgorix 目前主要支持 Linux 平台,依赖 Go 1.24+ 编译环境。安装方式有三种:
方式一:源码编译
git clone https://github.com/xalgord/xalgorix.git cd xalgorix make build sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix
方式二:Go 安装
如果已经配置好 Go 环境,一行命令即可:
go install github.com/xalgord/xalgorix@latest
方式三:预编译包
从 GitHub Releases 页面下载对应架构的二进制文件,直接放到 $PATH 下即可。
安装完成后,配置环境变量。创建一个 ~/.xalgorix.env 文件:
XALGORIX_LLM=openai/gpt-4o XALGORIX_API_KEY=sk-your-openai-api-key
支持的 LLM 提供商包括 OpenAI、Anthropic、Google、Mistral、Groq、Together AI 等,格式为 provider/model 前缀。例如 anthropic/claude-sonnet-4-20250514 或 google/gemini-2.5-flash。
验证安装:
xalgorix --version
实战场景 1:命令行快速扫描单个目标
最简单的用法是直接通过 CLI 扫描一个目标网站。不需要启动 Web UI,一条命令搞定。
xalgorix --target https://test-target.example.com --instruction "Check for common vulnerabilities in the login flow"
--target 参数接受 URL、IP 或域名,可重复使用来指定多个目标。--instruction 参数是可选的扫描指引,告诉 Agent 重点关注哪些区域。
扫描过程中,Agent 会按 22 个阶段依次执行:先做侦察和信息收集,然后逐阶段测试注入、认证绕过、SSRF、IDOR、API 安全等项目。所有发现都会实时输出到终端,并保存在本地数据库 ~/.xalgorix/data/ 中。
这个模式适合快速验证一个已知目标——比如上线前对 staging 环境的快速安全检查。整个扫描过程全自动化,不需要人工干预,跑完看结果即可。
实战场景 2:Web UI 仪表盘 + 实时遥测
当需要管理多个扫描任务、查看实时进度、或与团队成员协作时,Xalgorix 的 Web UI 模式是更好的选择。
xalgorix --web
默认在 http://127.0.0.1:9137 启动仪表盘。界面分为几个核心区域:
- 概览面板:显示扫描任务列表、运行状态、最近发现的安全问题
- 实时遥测:通过 WebSocket 推送 Agent 的每一步操作——工具调用、Agent 消息、HTTP 活动、发现的问题、错误信息
- 结果详情:每项发现配有 CVSS 评分、严重级别、利用验证状态
在 Web UI 中,可以灵活选择要执行的测试阶段。不一定每次都要跑全部 22 个阶段——如果只想检查 OWASP Top 10,可以只勾选「Injection testing」「CORS and cookie analysis」「Authentication testing」等对应阶段。这大幅缩短了定向扫描的耗时。
Web UI 还支持历史扫描恢复:如果扫描因网络中断或服务器重启而中断,可以在仪表盘中找到历史记录,选择「Resume」从中断点继续。
如果需要远程访问仪表盘,用 --bind 参数修改绑定地址:
xalgorix --web --bind 0.0.0.0 --port 9137
⚠️ 远程访问时建议配合认证使用,Xalgorix 默认绑定 127.0.0.1 正是出于安全考虑。
实战场景 3:DAST 动态扫描 + 集成通知完整方案
对现代 Web 应用来说,纯静态扫描(检查 HTML、JavaScript、API 端点)远远不够——很多漏洞藏在登录后的页面中、Form 提交流程里、或经过 JavaScript 渲染后的动态内容中。
Xalgorix 的 DAST(Dynamic Application Security Testing)模式通过浏览器辅助测试来解决这个问题。Agent 启动一个无头浏览器,模拟真实用户操作——登录、填表单、点击按钮、提交数据——在这个过程中执行安全测试。
完整的 DAST 工作流:
export XALGORIX_LLM=anthropic/claude-sonnet-4-20250514 export XALGORIX_API_KEY=sk-your-api-key export AGENTMAIL_POD=your-pod-name export AGENTMAIL_API_KEY=amt_your_key xalgorix --web
在 Web UI 中选择 DAST 模式,填入目标 URL,勾选「Authentication testing」「Injection testing」「SSRF testing」「File upload testing」等阶段,点击启动。
扫描过程中,Agent 会:
- 先做基础侦察(Phase 1):收集目标信息、子域名、开放端口
- 登录并维护会话(Phase 5):使用 AgentMail 处理验证码邮件和 OTP 验证
- 动态测试每个功能点(Phase 6-11):注入测试、SSRF、IDOR、API 测试、文件上传
- 验证利用(Phase 20):对找到的潜在漏洞做二次验证,排除误报
- 生成报告(Phase 22):输出带品牌 Logo 的 PDF 报告
扫描完成后,可以通过集成方式接收通知:
- Discord 通知:配置 Webhook URL,扫描完成时自动推送结果概览
- Telegram 通知:配置 Bot Token 和 Chat ID,即时收到安全预警
- AgentMail 集成:自动创建测试收件箱,处理注册确认邮件中的 OTP 验证码
这种完整方案适合对生产环境或准生产环境做定期的自动化安全审计——不需要安全专家全程参与,Agent 自动执行全部流程,团队只需要在收到通知后审阅发现的问题。
最佳实践
1. 从单目标开始,逐步扩展
第一次使用时选一个已知安全的内部测试站点,熟悉扫描流程和 Web UI 操作。确认 Agent 能正常调用 LLM 后,再逐渐增加目标的范围和复杂度。
2. 按需选择测试阶段,不要次次跑全套
22 个阶段中很多阶段在特定场景下是冗余的——比如 CMS-specific testing(Phase 18)对自定义后端意义不大。在 Web UI 中只勾选与当前目标相关的阶段可以节省大量时间和 Token 消耗。
3. LLM 选择有讲究
简单扫描用 gpt-4o-mini 或 gemini-2.5-flash 即可满足需求,成本和速度都很合理。复杂场景(如新型漏洞发现测试 Phase 21)需要更强模型,推荐 claude-sonnet-4 或 gpt-4o。可以在环境变量中设置默认模型,在命令中用 --model 参数临时覆盖。
4. 善用 AgentMail 集成处理认证流程
很多安全测试卡在登录环节——因为验证码邮件和 OTP 验证需要人工介入。Xalgorix 的 AgentMail 集成可以自动收件、解析验证码、完成 OTP 流程,让整个 DAST 扫描真正全自动。配置 AGENTMAIL_POD 和 AGENTMAIL_API_KEY 两个环境变量即可启用。
5. 扫描前确认授权
Xalgorix 只是一个工具,使用它的前提是「已经获得目标系统的书面测试授权」。建议在每次扫描前创建一个独立的扫描账户或测试环境,避免影响生产数据。不要在未授权的系统上运行——这是一个安全测试工具,不是攻击工具。
总结
Xalgorix 把 AI Agent 引入安全测试流程,让渗透测试从数天的人工工作变成了一个命令行或 Web 点击就能启动的自动化任务。它的 22 阶段测试方法论覆盖了从侦察到漏洞验证的完整链路,DAST 模式配合浏览器自动化和 AgentMail 集成实现了真正的全自动安全扫描。对于中小团队来说,免费自托管 + MIT 许可证的组合意味着零额外成本就能拥有一个 7×24 小时的自动化安全测试能力。
- GitHub:https://github.com/xalgord/xalgorix
- 托管版:https://www.xalgorix.com