返回更新列表
新发布Sep 7, 2026

xalgorix v4.6.72

自主式 AI 渗透测试代理 — 实时侦察、漏洞检测和漏洞利用编排。Go + TypeScript。

分享
Xalgorix — AI 自主渗透测试平台

Go License Platform Hosted GitHub stars GitHub forks GitHub release

Ask DeepWiki

xalgorix/xalgorix | Trendshift

Xalgorix — 开源 AI 渗透测试工具,证明漏洞真实存在

大多数扫描器只能检测。Xalgorix 能够证明。 一个自主 LLM 智能体执行完整的渗透测试方法论,随后由独立验证器重新利用每一个发现,之后才会生成报告——因此你得到的是证据,而不是一堆需要人工分诊的“可能存在问题”。自托管、私密、自带 LLM。使用 Go + TypeScript 构建。

🚀 快速开始 · 💡 为什么选择 Xalgorix · ✨ 功能特性 · 🎯 使用场景 · ☁️ 托管云服务 · 📖 文档


📸 截图

🖥️ 自托管仪表盘 — 在 127.0.0.1:9137 本地运行

概览仪表盘扫描详情发现
Xalgorix 概览仪表盘Xalgorix 扫描详情Xalgorix 发现

☁️ 托管云仪表盘 — 位于 www.xalgorix.com 的全托管版本

Xalgorix 托管云仪表盘,展示安全评分、漏洞趋势、修复指标以及按类别划分的未解决问题

🤝 赞助商

感谢 Swiftproxy 赞助 Xalgorix。

Swiftproxy 赞助 Xalgorix — 用于跨地区授权测试的住宅代理

你的应用可能会因请求来源不同而表现不同。对于需要跨区域检查自己应用的 Xalgorix 用户,Swiftproxy 提供位置定向功能以审查区域行为,以及粘性会话功能以帮助在测试会话期间保持一致的 IP。它支持 HTTP(S) 和 SOCKS5,与 Xalgorix 支持的代理协议相同。

住宅代理低至 $0.70/GB。可免费测试,Xalgorix 用户使用优惠码 PROXY90 可享 10% 折扣。

探索 Swiftproxy 并申请免费测试 →


🚀 快速开始

安装(一行命令):```bash curl -sSL https://www.xalgorix.com/install | bash

这会从最新发布版本中下载适用于你平台的预构建二进制文件(Linux 或 macOS,amd64/arm64)。然后运行交互式设置向导:```bash
xalgorix --setup

选择你的提供商,确认一个模型,并在提示时输入 API 密钥。为获得最佳效果,请使用当前的前沿模型,具备强大的推理能力、长上下文性能和可靠的工具调用能力——例如你可用的最新且能力出众的 GPT、Claude 或 Gemini 模型。较小或本地模型仍受支持,但在长时间自主扫描期间可能需要更多监督。Xalgorix 会将密钥私密存储在 ~/.xalgorix.env(权限模式 0600)中,并可为你启动仪表板。本地 Ollama 无需 API 密钥。

如果你选择不立即启动,可稍后使用 xalgorix --web 启动,并打开 http://127.0.0.1:9137。你可以随时在 Settings → LLM 下更改提供商或高级选项,或重新运行 xalgorix --setup。

或使用 Docker 运行——开箱即用,无需工具链:```bash docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest

`--privileged` 赋予工具集与以 root 身份原生运行时相同的主机级访问权限。Docker 的默认沙箱会丢弃 capabilities(如 `NET_ADMIN`)并应用 seccomp 过滤器,这会破坏底层工具(iptables/route 更改、ARP 欺骗/MITM、tun/tap VPN、基于 ptrace 的调试器、masscan 接口调优)。由于镜像无法自行授予这些权限,必须在运行时设置。该容器是一个一次性的、网络隔离的扫描沙箱,以 root 身份运行——privileged 是预期的运行姿态;切勿在未启用认证的情况下公开暴露仪表板。偏好最小权限?将 `--privileged` 替换为 `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`。

打开 `http://localhost:9137`。你**无需 LLM 密钥即可开始**——仪表板无需密钥即可启动;在 **Settings → LLM** 下设置模型 + API 密钥(它会持久化到 `/data` 卷)。如果你不传入 `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`,首次运行时会生成一个随机管理员密码并打印到容器日志中。

**最简单的方式 — Docker Compose**(为你映射端口 + 持久化卷):```bash
curl -sSLO https://raw.githubusercontent.com/xalgorix/xalgorix/main/docker-compose.yml
docker compose up -d
docker compose logs -f   # shows the generated admin password on first start

该镜像预装了广泛的安全攻防工具集(nmap、nuclei、httpx、subfinder、katana、ffuf、gobuster、sqlmap、masscan、dalfox、feroxbuster 等),并且保留了所有包管理器(apt、go、cargo、pipx、npm),以便代理在运行时仍能自动安装任何缺失的组件。容器内默认以 root 身份运行——请将该容器视为一次性的、网络隔离的扫描沙箱,切勿在未启用认证的情况下暴露仪表盘。镜像同时为 amd64 和 arm64 架构发布。

或从源码构建(需要 Go 1.26+ 和 Node.js):```bash git clone https://github.com/xalgorix/xalgorix.git cd xalgorix make build sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix

> [!TIP]
> 更喜欢零配置?完全托管版本运行在 [www.xalgorix.com](https://www.xalgorix.com/) —— 点击即可扫描,无需安装或 API 密钥。

### 🤖 自动审查拉取请求 —— 免费的 GitHub App

想要对每个拉取请求进行零配置的安全审查?安装 **[Xalgorix GitHub App](https://github.com/apps/xalgorix)**。它会读取每个 PR 的 diff 并在拉取请求上评论安全审查 —— 注入、认证缺陷/IDOR、SSRF、密钥、不安全模式。新提交时会就地更新,你可以评论 **`@xalgorix review`** 按需重新运行。无需工作流文件、无需 API 密钥、无需账户 —— 而且免费。

<div align="center">

[**➕ 将 Xalgorix 添加到 GitHub →**](https://github.com/apps/xalgorix/installations/new)

</div>

如需在 CI 中进行合并门禁和完整的漏洞验证渗透测试,请使用[托管扫描器](https://www.xalgorix.com/)或 GitHub Action。

> [!IMPORTANT]
> 仅在您拥有或获得明确测试许可的系统上使用 Xalgorix。

> [!TIP]
> 不想自托管?完全托管版本可在 [www.xalgorix.com](https://www.xalgorix.com/) 获取 —— 点击即可扫描,无需安装或 API 密钥。

## 📚 目录

| | | |
| --- | --- | --- |
| 📸 [截图](#-screenshots) | 🔩 [配置](#-configuration) | 🧾 [环境变量](#-environment-variables) |
| 🚀 [快速开始](#-quick-start) | 🆙 [升级](#-upgrading-from-previous-versions) | 🔤 [提供商前缀](#-provider-prefixes) |
| 🔎 [概述](#-overview) | 🏃 [运行](#-running) | 💻 [CLI 参考](#-cli-reference) |
| 💡 [为什么选择 Xalgorix](#-why-xalgorix) | 🧰 [服务模式](#-service-mode) | 📡 [API 摘要](#-api-summary) |
| 🎯 [使用场景](#-use-cases) | 🔁 [Web UI 工作流](#-web-ui-workflow) | 💾 [数据存储](#-data-storage) |
| ✨ [功能特性](#-features) | 🔀 [扫描模式](#-scan-modes) | 🧪 [开发](#-development) |
| 📥 [安装](#-installation) | 📂 [扫描你的代码](#-scan-your-code-no-target-needed) | 🚨 [安全注意事项](#-safety-notes) |
| 🧭 [方法论](#-methodology) | 📄 [报告](#-reports) | 📜 [许可证](#-license) |
| 🔧 [设置](#-settings) | 🔗 [链接](#-links) | 🤝 [赞助商](#-sponsors) |

## 🔎 概述

Xalgorix 是一个自托管的 AI 渗透测试平台,用于授权安全测试、漏洞评估和漏洞赏金工作流。它结合了 LLM 驱动的自主代理、浏览器自动化、终端工具、全面的 22 阶段测试方法论、实时 WebSocket 遥测、带 CVSS 评分的发现管理、品牌化 PDF 报告生成,以及与 AgentMail、Discord 和 Telegram 的集成。

与仅云端的 DAST 扫描器不同,Xalgorix 完全在您的机器上运行。您自带 LLM 提供商(OpenAI、Anthropic、DeepSeek、Gemini、Groq、Ollama、MiniMax)并控制模型、推理强度、速率限制和代理配置。任何扫描数据、API 密钥或目标信息都不会离开您的基础设施。

默认体验是 Web UI。从一个本地仪表板,您可以启动扫描、监控活动运行、检查发现、配置模型/提供商设置、管理环境变量、生成品牌化 PDF 报告,以及删除或恢复历史扫描。

## 💡 为什么选择 Xalgorix

大多数扫描器**检测**。Xalgorix **证明**。一个自主代理按照 22 阶段方法论工作,然后一个独立的验证器在报告之前重新测试每个候选发现 —— 因此您获得的是带有证据的漏洞验证结果,而不是一堆需要分类的“可能”。

- 🧠 **AI 代理,而非模板引擎** —— 对认证流程、业务逻辑、IDOR/BOLA 以及签名扫描器遗漏的链式漏洞进行推理。
- ✅ **漏洞验证发现** —— 一个独立的验证器独立复现每个发现;不确定的会被标记以供审查,绝不会被伪装成已确认。
- 🔒 **自托管且私密** —— 在您的机器上使用您自己的 LLM 密钥运行;任何目标数据、密钥或发现都不会离开您的基础设施。
- 🧩 **自带 LLM** —— OpenAI、Anthropic、DeepSeek、Gemini、Groq、Ollama 或 MiniMax —— 或任何 OpenAI 兼容网关,如 [LiteLLM](#-litellm--openai-compatible-gateways-github-copilot-claude-opus-codex-openrouter-azure-local-models)(GitHub Copilot、Codex、OpenRouter、Azure)。您控制模型、推理强度和成本。
- 📄 **审计就绪报告** —— 带有 CVSS 评分、概念验证和修复建议的品牌化 PDF。

### 📊 对比

|                                              | **Xalgorix**             | 模板扫描器(如 Nuclei) | 爬虫扫描器(如 OWASP ZAP) | 商业 DAST        |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| 方法                                     | 自主 AI 代理      | 签名 / 模板          | 爬虫 + 主动规则              | 签名 + 启发式 |
| 业务逻辑 / IDOR / 认证绕过覆盖 | ✅                       | 有限                         | 有限                            | 部分                |
| 漏洞验证(证明影响)             | ✅ 独立验证器  | ❌                              | ❌                                 | 部分                |
| 误报负载                          | 低(已证明)             | 取决于模板              | 高                               | 中                 |
| 自托管 / 数据保留本地               | ✅                       | ✅                              | ✅                                 | 通常为云端          |
| 自带 LLM                           | ✅                       | —                               | —                                  | ❌                     |
| 品牌化 PDF 报告                          | ✅                       | ❌                              | 基础                              | ✅                     |
| 成本                                         | 开源 + 您的 LLM   | 免费                            | 免费                               | $$$                    |

> 方向性对比 —— Nuclei 和 ZAP 在各自领域都很出色。Xalgorix 在其上增加了推理密集型的发现和漏洞验证层。

### ☁️ 自托管 vs 托管云

Xalgorix 是免费且开源的 —— 永久自托管,无任何附加条件。[托管云](https://www.xalgorix.com/)运行**相同**的漏洞验证引擎;它的存在是为了那些不想管理 API 密钥、基础设施和不可预测的 LLM 账单的人。两者都是一流的 —— 选择适合您的。

|                                    | **自托管**(本仓库)              | **[托管云](https://www.xalgorix.com/)**   |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| 起步价格                     | 免费引擎,Apache-2.0                  | 免费账户 · 一次性 $1 评估           |
| LLM API 密钥                        | 自带并管理                  | 已包含 —— 无需操心                      |
| 每次扫描成本                      | 原始 LLM token —— 可变,可能激增     | 每个活动主机 1 积分 —— 可预测            |
| 设置与运维                        | 您安装、更新并运行工具链  | 无需运行任何东西 —— 约 60 秒内扫描                   |
| 带外基础设施(SSRF/盲 RCE) | 搭建您自己的 OOB 服务器             | 包含托管 OOB                            |
| 调度                         | 您的基础设施上的内置调度器 | 托管每日 / 每小时调度             |
| 团队 · RBAC · 共享积分        | 单操作员实例                 | 团队上的组织工作区                 |
| 更新                            | `git pull` + 重新构建                     | 始终使用最新引擎                     |
| 数据驻留 / 离线           | ✅ 保留在您的基础设施上 · 支持气隙       | 在我们的基础设施上运行(可提供 DPA)               |

**自托管如果**数据必须留在您的网络上,您想要完全控制,或者您将离线/气隙运行 —— 这正是它的用途。**使用云如果**您宁愿跳过 API 密钥、基础设施和意外的 token 账单,并且只为实际扫描的活动主机付费。

<div align="center">

[**☁️ 评估托管云 —— $1 试用 →**](https://www.xalgorix.com/pricing) &nbsp;·&nbsp; [**⚖️ 对比云和自托管 →**](https://www.xalgorix.com/hosted-vs-self-hosted)

</div>

如果 Xalgorix 为您节省了一个分类周期,请**[⭐ 给仓库加星](https://github.com/xalgorix/xalgorix)** —— 这确实能帮助其他人找到它。

## 🎯 使用场景

| 使用场景 | Xalgorix 如何帮助 |
| -------- | ------------------ |
| **渗透测试** | 对授权目标运行完整的 22 阶段方法论。AI 代理处理侦察、漏洞发现、注入测试、SSRF、IDOR、认证绕过、竞态条件等 —— 然后在报告之前验证发现。 |
| **漏洞赏金狩猎** | 将 Xalgorix 指向范围内的目标,让代理枚举攻击面、测试常见漏洞类别,并呈现带有 CVSS 评分和概念验证证据的已验证发现。 |
| **红队行动** | 使用通配符和多目标扫描模式来映射组织的外部攻击面。浏览器辅助的 DAST 处理静态扫描器遗漏的认证流程、表单和运行时行为。 |
| **安全研究** | 新颖漏洞发现阶段推动代理超越已知模板匹配。自带 LLM(OpenAI、Anthropic、DeepSeek、Gemini、Ollama、MiniMax)以控制推理深度和成本。 |
| **持续安全测试** | 使用 `xalgorix --start` 作为系统服务运行。按计划扫描,将发现流式传输到 Discord 或 Telegram,并为利益相关者生成品牌化 PDF 报告。 |
| **DAST 自动化** | 针对 Web 应用程序的浏览器驱动测试 —— 认证流程、表单、JavaScript 渲染内容和运行时行为。与 Caido 集成以进行代理流量检查。 |

## ✨ 功能特性

| 领域           | 能力                                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 仪表板      | 默认在 `127.0.0.1:9137` 上的本地 Web UI,扫描管理、实时状态、批量扫描操作和历史扫描恢复。 |
| 🔍 扫描       | 单目标、DAST、通配符和多目标流程,可选择方法论阶段。                                   |
| 📡 实时遥测 | 通过 WebSocket 的工具调用、代理消息、发现、错误、HTTP 活动和 LLM 活动。                              |
| 🐞 发现       | 扫描详情页、严重性过滤器、CVSS 详情、发现索引和已验证发现工作流。                           |
| 📄 报告      | 带有目标/公司名称、上传徽标、报告列表、打开/下载/删除操作的品牌化 PDF 报告。                     |
| 🔔 集成   | AgentMail 测试收件箱、验证邮件、OTP 流程、邮件分类事件、Discord 和 Telegram 通知。            |
| ⚙️ 配置  | 用于 LLM、AgentMail、Discord、Telegram、代理、运行时、浏览器、认证、速率限制和资源的仪表板设置。       |
| 🛡️ 运行时安全 | 资源感知的实例限制和仅回环绑定,除非使用认证明确配置外部访问。         |

## 📥 安装

最快的路径完全不需要工具链。

### ⚡ 一行安装(预构建二进制)```bash
curl -sSL https://www.xalgorix.com/install | bash

下载适用于你平台的最新发布二进制文件(Linux 或 macOS,amd64/arm64),并将其安装到 /usr/local/bin(若无 sudo 权限则安装到 ~/.local/bin)。可通过 XALGORIX_INSTALL_DIR 覆盖安装目录,或使用 XALGORIX_VERSION=vX.Y.Z 固定版本。

以交互方式完成首次配置——无需手动编辑环境文件:```bash xalgorix --setup

向导在重新运行时保留现有设置,在终端中隐藏 API 密钥输入,并在完成后可选地启动 Web UI。

### 🐳 Docker```bash
docker run --rm -p 9137:9137 \
  --privileged \
  -e XALGORIX_LLM=openai/gpt-5.6 \
  -e XALGORIX_API_KEY=your_openai_api_key \
  -v xalgorix-data:/data \
  ghcr.io/xalgord/xalgorix:latest

--privileged(或更窄的 --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined)为工具集提供类宿主机访问权限。Docker 默认沙箱会丢弃 capabilities 并过滤 syscalls,这会破坏底层工具(iptables/route/interface 变更、ARP-spoof/MITM、tun/tap VPN、基于 ptrace 的调试器)。镜像无法自行授予这些权限——它们是运行时决策——因此请传入该标志,或使用提供的 docker-compose.yml,它会为你设置好。

该镜像开箱即用:预装了广泛的攻防安全工具集(nmap、nuclei、httpx、subfinder、dnsx、naabu、katana、ffuf、gobuster、dalfox、feroxbuster、sqlmap、masscan、nikto、whatweb、hydra 等),以及用于浏览器辅助 DAST 的 Chromium。它还保留了完整的包管理器集合(apt、go、cargo、pipx、npm),因此 agent 会在运行时自动安装任何缺失的内容。扫描数据持久化到 /data 卷,服务器在容器内绑定 0.0.0.0——在将其暴露到 localhost 之外前,请设置 XALGORIX_USERNAME/XALGORIX_PASSWORD。

容器按设计以 root 运行(引擎仅对 uid 0 启用运行时自动安装,且 apt/go/cargo 安装需要系统写入权限)。请将其视为一次性的、网络隔离的扫描沙箱。相同的标签会发布 linux/amd64 和 linux/arm64 的多平台 manifest,因此 Docker 会自动选择原生镜像。

首次运行时,如果你未设置 dashboard 认证,容器会生成一个随机管理员密码并将其打印到日志中(镜像绑定 0.0.0.0,引擎在没有认证的情况下不会这样做)。设置 XALGORIX_USERNAME + XALGORIX_PASSWORD(或 XALGORIX_PASSWORD_HASH)以使用你自己的凭据。二进制文件在容器内绝不会自我更新(XALGORIX_NO_AUTO_UPDATE=1)——拉取新的镜像标签以升级。nuclei 引擎及其漏洞模板会在每次镜像构建时刷新到最新版本(发布 CI 和 redeploy.sh 会强制执行此操作);传入 --build-arg NUCLEI_VERSION=vX.Y.Z 以固定引擎版本,或使用 NUCLEI_REFRESH=0 ./redeploy.sh 以复用 Docker 的缓存。

📋 要求(从源码构建)

要求备注
OSLinux 或 macOS(amd64/arm64)。
Go1.26 或更新版本。
Node.js + npm从源码构建捆绑的 React Web UI 时需要。
安全工具仅在启用自动安装时按需安装。

检查你的 Go 版本:```bash go version

### 🔨 从源码构建```bash
git clone https://github.com/xalgorix/xalgorix.git
cd xalgorix
make build
sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix

make build 将 React Web UI 构建到 internal/web/static,然后构建 Go 二进制文件。

📦 使用 Go 安装```bash

GOPROXY=direct GOSUMDB=off go install github.com/xalgord/xalgorix/v4/cmd/xalgorix@latest

## 🔩 配置

Xalgorix 按以下顺序加载配置。后面的来源会覆盖前面的来源。

| 顺序 | 来源                                                         |
| ----- | -------------------------------------------------------------- |
| 1     | `/etc/xalgorix.env`                                            |
| 2     | 通过 `sudo` 启动时的 `/home/<sudo-user>/.xalgorix.env` |
| 3     | `~/.xalgorix.env`                                              |
| 4     | 进程中已存在的环境变量           |

创建本地环境文件:```bash
nano ~/.xalgorix.env

🧩 最小配置

为获得最强的自主扫描结果,请选择当前的前沿模型。下方的模型 ID 是一个具体示例;无需等待 Xalgorix 发布新版本,即可输入更新的兼容模型 ID。```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key

### 🔌 提供商示例

OpenAI:```bash
XALGORIX_LLM=openai/gpt-5.6
XALGORIX_API_KEY=sk-...

自定义 OpenAI 兼容提供程序:```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key

#### 🌉 LiteLLM / OpenAI 兼容网关(GitHub Copilot、Claude Opus、Codex、OpenRouter、Azure、本地模型)

由于 `XALGORIX_API_BASE` 接受任何 OpenAI 兼容的 `/v1/chat/completions` 端点,
Xalgorix 开箱即用即可配合 [LiteLLM](https://docs.litellm.ai/) 代理——无需
在 Xalgorix 侧做任何改动。LiteLLM 负责上游提供商的认证(Copilot 设备
登录、Azure 密钥、OpenRouter、Ollama 等);Xalgorix 只需以 OpenAI 协议与网关通信。

运行 LiteLLM(示例 `config.yaml`):```yaml
model_list:
  - model_name: claude-opus-5
    litellm_params:
      model: github_copilot/claude-opus-5   # or openrouter/…, azure/…, ollama/…
general_settings:
  master_key: sk-local-litellm-key

将 Xalgorix 指向它——使用 custom/ 前缀,以便模型名称按原样发送,并使用 OpenAI chat-completions 协议:```bash XALGORIX_LLM=custom/claude-opus-5 # the LiteLLM model_name XALGORIX_API_BASE=http://localhost:4000/v1 # your LiteLLM proxy XALGORIX_API_KEY=sk-local-litellm-key # LiteLLM master_key / virtual key

同样的模式也适用于 GitHub Copilot Business/CLI、Claude Opus、Codex 风格的模型、
OpenRouter、Azure OpenAI 以及本地 Ollama 模型——任何 LiteLLM 能够路由的都可以。保留
`custom/`(或 `openai/`)前缀以及一个非 Anthropic/Gemini 的 `XALGORIX_API_BASE`,这样 Xalgorix
就会使用 LiteLLM 所期望的标准 OpenAI 请求格式。

### 🔔 可选集成```bash
GEMINI_API_KEY=AIza...
AGENTMAIL_POD=am_us_pod_47
AGENTMAIL_API_KEY=ak_...
XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
XALGORIX_DISCORD_MIN_SEVERITY=high

🔐 仪表板身份验证```bash

XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password

> [!TIP]
> 生产环境部署建议使用 `XALGORIX_PASSWORD_HASH`。

## 🆙 从旧版本升级

本次发布包含稳定性与工作区隔离方面的改进,其中有一项破坏性变更以及几个值得了解的新配置项。

### 💥 破坏性变更:默认工作区已迁移至 `~/.xalgorix/data/`

扫描输出、笔记、计划任务及其他生成的产物现在位于 `~/.xalgorix/data/` 下,而不再存放于 `$CWD`(即启动二进制文件时所在的目录)。

若要保留原有行为,请将 `XALGORIX_DATA_DIR` 指向你当前的工作目录:```bash
export XALGORIX_DATA_DIR=$(pwd)

当在 $CWD 中检测到旧版标记(notes.json、_schedules/、vulnerabilities.json 或 YYYY-MM-DD/scan-* 目录)且 XALGORIX_DATA_DIR 未设置时,启动时会发出 [MIGRATION] 警告。Xalgorix 从不自动读取、复制或删除这些旧版文件;该警告仅供参考,每个进程仅触发一次。

🆕 新环境变量

变量默认值描述
XALGORIX_LLM_MAX_INFLIGHT4 × EffectiveMaxInstances限制所有正在运行的扫描中同时发出的 LLM 调用数量。最小值为 1。被取消的等待者不占用槽位。

🩺 新增健康端点计数器

GET /api/status 现在暴露:

字段含义
panics_recovered已恢复且未导致崩溃的 Goroutine、HTTP 处理器和工具 panic 次数。
path_rejections被 Path_Policy 拒绝的文件系统写入次数(位于 data_dir / ~/.xalgorix/ / /tmp 之外)。
watchdog_kills被每个工具的硬超时看门狗终止的子进程数量。
admission_refusals因并发上限而被拒绝的扫描准入请求数量。
llm_inflight_cap此进程的有效 XALGORIX_LLM_MAX_INFLIGHT 值。
data_dir正在使用的已解析 Data_Dir。
allow_listPath_Policy 接受的文件系统根目录。

🏃 运行

🪟 Web UI```bash

xalgorix --web

打开:```text
http://127.0.0.1:9137

使用不同的端口:```bash xalgorix --web --port 8080

### 🌐 外部访问

仅在启用仪表板身份验证后,才绑定到其他接口:```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0

[!WARNING] 服务器在未启用仪表板身份验证的情况下拒绝外部绑定。

🏹 CLI 扫描```bash

xalgorix --target https://example.com

使用自定义指令:```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."

🧰 服务模式

安装并作为系统服务启动:```bash sudo xalgorix --start

管理服务:```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall

查看日志:```bash journalctl -u xalgorix -f

### 🌍 远程服务访问

仅在启用仪表板认证后,才将服务暴露给远程浏览器:```bash
sudo tee -a /root/.xalgorix.env >/dev/null <<'EOF'
XALGORIX_BIND=0.0.0.0
XALGORIX_USERNAME=admin
XALGORIX_PASSWORD=change-this
EOF

sudo xalgorix --restart

然后打开 http://<server-ip>:9137。

如果进程正在监听但页面仍无法远程加载,请在服务器防火墙或云安全组中允许 TCP 端口 9137。

🏠 扫描本地/内部目标

默认情况下,Xalgorix 拒绝扫描回环地址、localhost、私有地址范围或其自身接口地址——这些是运行 Xalgorix 的机器,而非目标。在自托管、单租户的机器上,你可以选择扫描本地托管的演示/预发布应用:```bash echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env sudo xalgorix --restart

仪表盘自身的监听器**始终**受到保护,即使启用了此选项。

> **⚠️ 共享 / 多租户 / 托管部署:请保持关闭。** 启用它
> 会让用户的扫描触达操作者自己的机器和内部网络。
> 默认关闭,因此无需任何操作即可保持安全——不要设置
> `XALGORIX_ALLOW_LOCAL_TARGETS`(或固定为 `XALGORIX_ALLOW_LOCAL_TARGETS=false`),
> 也不要将引擎的 Settings 页面暴露给不受信任的用户。

## 🔁 Web UI 工作流程

1. 在 `http://127.0.0.1:9137` 打开仪表盘。
2. 前往 Settings,确认 LLM 提供商、API 密钥、速率限制和可选集成。
3. 从 New Scan 创建扫描。
4. 选择扫描模式。
5. 当你需要聚焦运行时,选择方法学阶段。
6. 当只应实时报告特定严重级别时,设置严重级别过滤器。该过滤器仅影响实时仪表盘信息流和通知;PDF 报告和 `/api/findings` 始终包含 agent 发现的每一个漏洞。
7. 添加公司名称并上传 logo 以生成品牌化报告。
8. 从 Overview、Scan Detail 或 Live Feed 监控进度。
9. 从 Scans 和 Reports 打开发现详情、下载报告或管理历史扫描。

## 🔀 扫描模式

| 模式             | 最适合                                                                        |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 单一目标    | 测试一个已知的 URL 或主机。                                                  |
| 🌐 通配符 / 多目标 | 枚举相关目标并扫描发现的攻击面。         |
| 🧭 DAST             | 针对 Web 应用、认证流程、表单和运行时行为的浏览器辅助测试。 |

## 📂 扫描你的代码(无需目标)

将 Xalgorix 指向一个代码库——Git URL、本地路径或上传的 zip——
它会直接扫描源代码。无需部署 URL,无需搭建任何基础设施。```bash
# Source review (SAST): audit the code, no running target required
xalgorix --source ./my-app --code-scan review

# Provision + DAST: build & run the app locally, then pentest the running instance
xalgorix --source https://github.com/org/app.git --code-scan provision
代码扫描模式功能说明验证级别
review读取源代码,追踪用户输入从入口点 → 危险汇聚点,并报告可达漏洞。无实时目标。源码验证 — 在代码中证明可达(明确标注为未经运行时利用)。
provision检查仓库,在回环端口上构建并运行应用,然后对运行中的实例执行白盒引导的 DAST。如果应用无法构建,则回退到 review。利用验证 — 针对运行中的应用复现。
  • --source 接受 Git URL(浅克隆)、本地目录,或上传/解压归档的路径。在 Web UI / 托管应用中,你还可以上传代码库的 .zip(POST /api/upload-source)。
  • 你仍然可以结合仓库和实时目标进行经典的白盒增强——该路径保持不变。代码扫描模式适用于代码库就是全部研究对象的情况。

Provision 模式在代理的沙箱中运行应用的构建/启动命令,并且仅对其启动应用所在的单个回环端口进行渗透测试——仪表盘和机器上的其他所有内容均不在范围内。

🧭 方法论

Xalgorix 将自主测试组织为 22 个阶段。

阶段重点
1侦察
2手动漏洞发现
3目录和文件发现
4CORS 和 Cookie 分析
5身份验证和会话测试
6注入测试
7SSRF 测试
8IDOR 和访问控制缺陷
9API 和 GraphQL 测试
10文件上传测试
11反序列化和 RCE
12竞态条件和业务逻辑
13子域接管
14开放重定向测试
15电子邮件安全测试
16云和基础设施
17WebSocket 测试
18CMS 特定测试
19失效链接劫持和内容欺骗
20漏洞利用验证
21新型漏洞发现
22最终报告

Web UI 中的阶段选择让你可以运行所有阶段,或仅运行特定任务所需的子集。

📄 报告

报告以 PDF 文件形式生成,可包含:

部分包含内容
📌 摘要执行摘要、目标元数据、扫描元数据和严重性概览。
🐞 发现已验证的发现、CVSS 详情、技术分析和利用证明。
🔬 证据概念验证命令、脚本、载荷说明和支持性观察。
🩹 修复修复指导和优先后续步骤。
🎨 品牌公司/目标名称和上传的徽标。

报告可从扫描详情页面和报告页面获取。报告行支持打开、下载和删除。

🔧 设置

大多数操作设置可以在 Web UI 的“设置”下更改。

区域示例
🤝 任务仪表盘请求速率限制
🧠 LLM模型、API 密钥、API 基础地址、推理强度、重试次数、最大迭代次数
📬 AgentMailPod 和 API 密钥
🔔 通知Discord webhook 和最低严重性、Telegram 机器人令牌、聊天 ID、最低严重性,以及可选的扫描完成摘要
🕵️ 代理代理 URL、代理文件、轮换、TLS 验证
🧱 运行时工作区、浏览器路径、自动安装控制
🔐 安全仪表盘用户名、密码、密码哈希、绑定地址
📈 资源CPU/RAM/磁盘阈值和扫描并发预算

某些设置需要重启,因为它们影响进程启动或服务器绑定。UI 会标记这些字段。

🧾 环境变量

🧱 核心

变量默认值描述
XALGORIX_LLM无用于 LLM 请求的提供商原生模型 ID。
XALGORIX_LLM_PROVIDER无由仪表盘选择的提供商,与模型 ID 分开存储。
XALGORIX_API_KEY无必需的 LLM 提供商 API 密钥。
XALGORIX_API_BASE提供商默认值自定义 OpenAI 兼容 API 基础 URL。
XALGORIX_REASONING_EFFORThigh推理强度:none、low、medium、high 或 xhigh(对于 Ollama,xhigh 映射为 high)。
XALGORIX_LANGUAGEenAI 生成文本的输出语言(代理推理、笔记、发现、报告内容、扫描后聊天)。en 或 zh-CN。技术标记(载荷、命令、URL、CVE/CWE ID)始终保持原始形式。非拉丁语言会自动在仪表盘和 HTML 报告中渲染。
XALGORIX_PDF_CJK_FONT无包含 CJK 字形的 TrueType(.ttf)字体的绝对路径,用于在导出的 PDF 报告中渲染非拉丁语言(例如简体中文)。仅支持 .ttf(不支持 .ttc/.otf)。没有它时,PDF 会回退到核心字体,非拉丁字形将无法渲染(HTML 报告不受影响)。
XALGORIX_OLLAMA_COMPATIBLEfalse将 Ollama 推理语义应用于非标准端口上的自定义端点。端口 11434 会自动检测。
XALGORIX_LLM_MAX_RETRIES5瞬时 LLM 失败的重试次数。
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT30上下文压缩的超时时间(秒)。
XALGORIX_MAX_ITERATIONS0代理迭代上限。0 表示无限制。
XALGORIX_PPROF_ADDR无可选的 Go 性能分析器。设置后(例如 127.0.0.1:6060),在该地址的 /debug/pprof/ 启动独立的 pprof 服务器,用于 CPU/堆诊断。默认禁用。会暴露进程内部信息——请绑定回环地址并通过 SSH 隧道访问;切勿公开暴露。
GEMINI_API_KEY无用于网络搜索增强的可选 Gemini 密钥。

🔒 Web 和安全

变量默认值描述
XALGORIX_BIND127.0.0.1Web 服务器监听地址。
XALGORIX_ALLOW_LOCAL_TARGETSfalse在自托管安装中允许扫描本地托管的应用(localhost / 127.0.0.1 / 私有 IP)。仪表盘自身的监听器始终受保护。在共享/托管部署中请保持关闭。
XALGORIX_USERNAME无仪表盘用户名。
XALGORIX_PASSWORD无仪表盘密码。
XALGORIX_PASSWORD_HASH无首选 bcrypt 密码哈希。
XALGORIX_WORKSPACE当前目录扫描执行的工作区根目录。

🤝 集成

变量默认值描述
AGENTMAIL_POD无AgentMail pod 标识符。
AGENTMAIL_API_KEY无AgentMail API 密钥。
XALGORIX_DISCORD_WEBHOOK无全局 Discord webhook。
XALGORIX_DISCORD_MIN_SEVERITY无发送到 Discord 的最低严重性。
XALGORIX_TELEGRAM_BOT_TOKEN无来自 @BotFather 的 Telegram 机器人令牌。
XALGORIX_TELEGRAM_CHAT_ID无Telegram 聊天/频道 ID(数字或 @username)。
XALGORIX_TELEGRAM_MIN_SEVERITY无发送到 Telegram 的最低严重性。
XALGORIX_NOTIFY_SCAN_COMPLETEfalse将扫描结束摘要发送到配置的 Discord/Telegram 目标。这是可选的,不影响逐漏洞警报。
CAIDO_PORT0Caido 代理端口。0 表示自动检测。
CAIDO_API_TOKEN无Caido API 令牌。

🚦 速率限制、代理和运行时

变量默认值描述
XALGORIX_RATE_LIMIT_REQUESTS60每个窗口的仪表盘请求数。
XALGORIX_RATE_LIMIT_WINDOW60仪表盘速率限制窗口(秒)。
XALGORIX_RATE_RPS10持续出站请求速率。
XALGORIX_RATE_BURST20出站突发大小。
XALGORIX_USE_PROXYfalse启用代理路由。
XALGORIX_PROXY_REQUIREDfalse要求目标 HTTP/浏览器路径使用一个上游代理,无直接回退。
XALGORIX_PROXY_URL无单个代理 URL。覆盖代理文件。
XALGORIX_PROXY_FILE无每行包含一个代理的文件。
XALGORIX_PROXY_ROTATIONroundrobin代理轮换策略:roundrobin 或 random。
XALGORIX_TLS_SKIP_VERIFYfalse跳过测试流量的 TLS 验证。
XALGORIX_DISABLE_BROWSERfalse禁用浏览器自动化。
XALGORIX_BROWSER_PATH自动自定义 Chrome/Chromium 可执行文件路径。
XALGORIX_ALLOW_AUTO_INSTALL仅 root允许自动安装软件包。
XALGORIX_AUTO_INSTALL_SUDOfalse允许带 sudo 前缀的自动安装。

🔤 提供商前缀

当 XALGORIX_API_BASE 为空时,Xalgorix 会根据模型前缀推断提供商默认值。

前缀默认 API 基础地址
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:11434/v1
minimax/https://api.minimax.io/v1

模型名称并未硬编码到此列表中。设置页面接受手动输入的模型 ID,因此无需等待 UI 下拉菜单更新即可使用更新的提供商模型。

💻 CLI 参考

标志别名描述
--web-w启动 Web UI。
--port <port>-pWeb UI 端口。默认:9137。
--bind <addr>无绑定地址。默认:127.0.0.1。
--target <target>-t目标 URL、主机、IP 或路径。可重复。
--instruction <text>-i自定义扫描指令。
--model <model>-m为此运行覆盖 XALGORIX_LLM。
--update-up更新到最新版本。
--version-v打印版本。
--start无安装并启动系统服务。
--stop无停止系统服务。
--restart无重启系统服务。
--uninstall无移除系统服务。
--help-h显示帮助。

📡 API 摘要

方法端点用途
POST/api/scan启动或保存扫描。
POST/api/stop停止所有正在运行的扫描。
GET/api/status当前全局状态。
GET/api/scans列出扫描。
GET/api/scans/:id获取扫描详情。
DELETE/api/scans/:id删除扫描及其报告数据。
GET/api/findings列出所有发现(跨扫描去重)。
GET/api/findings/summary所有扫描的严重性统计。
GET/api/report/:id下载 PDF 报告。
GET/api/instances列出实时和历史实例。
GET/api/instances/:id/events获取缓冲的事件历史。
POST/api/instances/:id/stop停止特定实例。
POST/api/instances/:id/start将已保存或已完成的扫描作为新运行启动。
POST/api/instances/:id/restart使用相同配置重启。
POST/api/instances/:id/pause暂停正在运行的扫描。
POST/api/instances/:id/resume恢复已暂停的扫描。
POST/api/upload-logo上传报告徽标。
POST/api/upload-targets上传目标列表。
GET/api/settings/environment列出可编辑的环境设置。
POST/api/settings/environment保存环境设置。
GET/api/settings/llm获取 LLM 设置。
POST/api/settings/llm保存 LLM 设置。
GET/api/settings/agentmail获取 AgentMail 设置。
POST/api/settings/agentmail保存 AgentMail 设置。
GET/wsWebSocket 实时事件流。

💾 数据存储

Web 模式扫描数据存储在:```text ~/xalgorix-data/ |-- _saved/ |-- logos/ |-- queue_state.json -- <target>/ -- / -- <scan-id>/ |-- scan.json -- report.pdf

服务器将历史扫描记录保存在磁盘上,以便 UI 在刷新或重启后能够恢复。

## 🧪 开发

| 任务                        | 命令                       |
| --------------------------- | ----------------------------- |
| 📦 安装 Web UI 依赖 | `make webui-install`          |
| 🔨 构建所有内容            | `make build`                  |
| ✅ 运行测试                   | `go test ./...`               |
| 🖥️ 从源码运行 Web UI      | `go run ./cmd/xalgorix --web` |
| ⚡ 运行前端开发服务器     | `make webui-dev`              |

## 🚨 安全注意事项

- 仅对授权目标使用 Xalgorix。
- 未经许可,不要对第三方系统进行主动测试。
- 启动前请审查扫描指令。
- 配置速率限制和代理设置以符合交战规则。
- 将仪表板暴露到外部需要身份验证。
- 自动安装默认对非 root 用户禁用,仅在你信任该环境时才应启用。

## 📜 许可证

Xalgorix 在 Apache License 2.0 下发布。参见 [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE)。

## 🔗 链接

| 资源      | 链接                                                                             |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ 托管(云端) | [www.xalgorix.com](https://www.xalgorix.com/)                                   |
| 📖 文档 | [docs.xalgorix.com](https://docs.xalgorix.com)                                   |
| 🐛 问题        | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ 支持       | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord)                     |

分类