返回更新列表
新发布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 托管云仪表盘,展示安全评分、漏洞趋势、修复指标及按类别分类的未解决问题

🚀 快速开始

安装(一行命令):```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。你可以在任何时间于 设置 → LLM 下更改提供商或高级选项,或重新运行 xalgorix --setup

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

`--privileged` 赋予工具集与以 root 身份原生运行时相同的主机级访问权限。Docker 的默认沙箱会丢弃能力(如 `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 密钥即可开始**——仪表板无需密钥即可启动;在 **设置 → 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) | |

## 🔎 概述

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">

[**☁️ 免费试用托管云 →**](https://www.xalgorix.com/) &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 的默认沙箱会丢弃能力并过滤系统调用,这会破坏底层工具(iptables/route/接口更改、ARP 欺骗/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),因此代理会在运行时自动安装任何缺失的组件。扫描数据持久化到 /data 卷,服务器在容器内绑定 0.0.0.0——在将其暴露到 localhost 之外前,请设置 XALGORIX_USERNAME/XALGORIX_PASSWORD

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

首次运行时,如果你未设置仪表板认证,容器会生成一个随机管理员密码并将其打印到日志中(镜像绑定 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 的缓存。

📋 要求(从源码构建)

要求说明
操作系统Linux 或 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 聊天补全协议:```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.jsonYYYY-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` 固定),
> 也不要将引擎的“设置”页面暴露给不受信任的用户。

## 🔁 Web UI 工作流程

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

## 🔀 扫描模式

| 模式             | 适用场景                                                                        |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 单一目标    | 测试一个已知的 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/内存/磁盘阈值和扫描并发预算

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

🧾 环境变量

🧱 核心

变量默认值描述
XALGORIX_LLM用于 LLM 请求的提供商原生模型 ID。
XALGORIX_LLM_PROVIDER由仪表板选择的提供商,与模型 ID 分开存储。
XALGORIX_API_KEY必需的 LLM 提供商 API 密钥。
XALGORIX_API_BASE提供商默认值自定义 OpenAI 兼容 API 基础 URL。
XALGORIX_REASONING_EFFORThigh推理力度:nonelowmediumhighxhigh(对于 Ollama,xhigh 映射为 high)。
XALGORIX_LANGUAGEenAI 生成文本(代理推理、笔记、发现、报告内容、扫描后聊天)的输出语言。enzh-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_PODAgentMail pod 标识符。
AGENTMAIL_API_KEYAgentMail API 密钥。
XALGORIX_DISCORD_WEBHOOK全局 Discord webhook。
XALGORIX_DISCORD_MIN_SEVERITY发送到 Discord 的最低严重性。
XALGORIX_TELEGRAM_BOT_TOKEN来自 @BotFather 的 Telegram 机器人令牌。
XALGORIX_TELEGRAM_CHAT_IDTelegram 聊天/频道 ID(数字或 @用户名)。
XALGORIX_TELEGRAM_MIN_SEVERITY发送到 Telegram 的最低严重性。
XALGORIX_NOTIFY_SCAN_COMPLETEfalse将扫描结束摘要发送到已配置的 Discord/Telegram 目标。这是可选的,不影响单个漏洞警报。
CAIDO_PORT0Caido 代理端口。0 表示自动检测。
CAIDO_API_TOKENCaido API 令牌。

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

变量默认值描述
XALGORIX_RATE_LIMIT_REQUESTS60每个时间窗口的仪表板请求数。
XALGORIX_RATE_LIMIT_WINDOW60仪表板速率限制窗口(秒)。
XALGORIX_RATE_RPS10持续出站请求速率。
XALGORIX_RATE_BURST20出站突发大小。
XALGORIX_USE_PROXYfalse启用代理路由。
XALGORIX_PROXY_URL单个代理 URL。覆盖代理文件。
XALGORIX_PROXY_FILE每行包含一个代理的文件。
XALGORIX_PROXY_ROTATIONroundrobin代理轮换策略:roundrobinrandom
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

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

## 🧪 开发

| 任务                        | 命令                       |
| --------------------------- | ----------------------------- |
| 📦 安装 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)                     |

分类