Volver a actualizaciones
Nuevo releaseAug 20, 2026

xalgorix v4.5.153

Agentes autónomos de pentesting con IA: reconocimiento en tiempo real, detección de vulnerabilidades y orquestación de explotación. Go + TypeScript.

Compartir
Xalgorix — AI Autonomous Penetration Testing Platform

Go License Platform Hosted GitHub stars GitHub forks GitHub release

Ask DeepWiki

xalgorix/xalgorix | Trendshift

Xalgorix — Pentester de IA de código abierto que demuestra vulnerabilidades

La mayoría de los escáneres detectan. Xalgorix demuestra. Un agente LLM autónomo ejecuta una metodología completa de pentesting, y luego un verificador independiente re-explota cada hallazgo antes de que se reporte — para que obtengas pruebas, no un montón de "quizás" que triar. Autoalojado, privado y con tu propio LLM. Construido en Go + TypeScript.

🚀 Inicio rápido · 💡 Por qué Xalgorix · ✨ Características · 🎯 Casos de uso · ☁️ Nube alojada · 📖 Documentación


📸 Capturas de pantalla

🖥️ Panel de control autoalojado — se ejecuta localmente en 127.0.0.1:9137

Panel de control generalDetalle del escaneoHallazgos
Xalgorix overview dashboardXalgorix scan detailXalgorix findings

☁️ Panel de control en la nube alojada — la versión totalmente gestionada en www.xalgorix.com

Xalgorix hosted cloud dashboard showing security score, vulnerability trends, remediation metrics, and open issues by category

🚀 Inicio rápido

Instalación (una línea):```bash curl -sSL https://www.xalgorix.com/install | bash

Esto descarga el binario precompilado para tu plataforma (Linux amd64/arm64) desde la última versión. Luego ejecuta el asistente de configuración interactivo:```bash
xalgorix --setup

Elija su proveedor, confirme un modelo e introduzca la clave de API cuando se le solicite. Para obtener los mejores resultados, use un modelo frontera actual con razonamiento sólido, buen rendimiento en contextos largos y llamadas a herramientas fiables, como el último GPT, Claude o Gemini capaz disponible para usted. Los modelos más pequeños o locales siguen siendo compatibles, pero pueden requerir más supervisión durante escaneos autónomos largos. Xalgorix almacena la clave de forma privada en ~/.xalgorix.env (modo 0600) y puede iniciar el panel para usted. Ollama local no necesita clave de API.

Si decide no iniciarlo de inmediato, comience más tarde con xalgorix --web y abra http://127.0.0.1:9137. Puede cambiar el proveedor o las opciones avanzadas en cualquier momento en Configuración → LLM, o volver a ejecutar xalgorix --setup.

O ejecútelo con Docker: todo incluido, sin necesidad de toolchain:```bash docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest

`--privileged` le da al conjunto de herramientas el mismo acceso similar al del host que tiene cuando se ejecuta de forma nativa como root. El sandbox predeterminado de Docker elimina capacidades (como `NET_ADMIN`) y aplica un filtro seccomp, lo que rompe herramientas de bajo nivel (cambios de iptables/ruta, ARP-spoof/MITM, VPNs tun/tap, depuradores basados en ptrace, ajuste de interfaz de masscan). Dado que una imagen no puede otorgarse estas capacidades a sí misma, deben establecerse en tiempo de ejecución. El contenedor es un sandbox de escaneo desechable y aislado de la red que se ejecuta como root — privilegiado es la postura prevista; nunca expongas el panel públicamente sin autenticación. ¿Prefieres el menor privilegio? Cambia `--privileged` por `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`.

Abre `http://localhost:9137`. **No necesitas una clave de LLM para empezar** — el panel se inicia sin una; establece el modelo y la clave de API en **Settings → LLM** (se guarda en el volumen `/data`). Si no pasas `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`, se genera una contraseña de administrador aleatoria y se imprime en los registros del contenedor en el primer inicio.

**Lo más fácil — Docker Compose** (mapea el puerto y un volumen persistente por ti):```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

La imagen incluye un amplio conjunto de herramientas ofensivas de seguridad preinstaladas (nmap, nuclei, httpx, subfinder, katana, ffuf, gobuster, sqlmap, masscan, dalfox, feroxbuster y más) y mantiene disponibles todos los gestores de paquetes (apt, go, cargo, pipx, npm) para que el agente pueda autoinstalar cualquier cosa que falte en tiempo de ejecución. Se ejecuta como root dentro del contenedor por diseño: trata el contenedor como un sandbox de escaneo desechable y aislado de la red, y nunca expongas el panel sin autenticación. (Imagen amd64; el instalador anterior cubre arm64).

O compilar desde el código fuente (requiere Go 1.25+ y 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]
> ¿Prefieres cero configuración? Una versión totalmente gestionada está disponible en [www.xalgorix.com](https://www.xalgorix.com/) — haz clic para escanear, sin instalación ni claves API.

### 🤖 Revisa pull requests automáticamente — App gratuita de GitHub

¿Quieres una revisión de seguridad en cada pull request sin configuración? Instala la **[App de GitHub Xalgorix](https://github.com/apps/xalgorix)**. Lee el diff de cada PR y comenta una revisión de seguridad — inyección, auth/IDOR roto, SSRF, secretos, patrones inseguros — directamente en el pull request. Se actualiza en cada nuevo commit, y puedes comentar **`@xalgorix review`** para volver a ejecutarla bajo demanda. Sin archivo de workflow, sin clave API, sin cuenta — y es gratuita.

<div align="center">

[**➕ Añadir Xalgorix a GitHub →**](https://github.com/apps/xalgorix/installations/new)

</div>

Para bloqueo de merges y pentests completos verificados con exploits en CI, usa el [escáner alojado](https://www.xalgorix.com/) o la GitHub Action.

> [!IMPORTANT]
> Usa Xalgorix solo en sistemas que poseas o para los que tengas permiso explícito de prueba.

> [!TIP]
> ¿Prefieres no auto-alojar? Una versión totalmente gestionada está disponible en [www.xalgorix.com](https://www.xalgorix.com/) — haz clic para escanear, sin instalación ni claves API.

## 📚 Contenidos

| | | |
| --- | --- | --- |
| 📸 [Capturas de pantalla](#-capturas-de-pantalla) | 🔩 [Configuración](#-configuración) | 🧾 [Variables de entorno](#-variables-de-entorno) |
| 🚀 [Inicio rápido](#-inicio-rápido) | 🆙 [Actualización](#-actualización-desde-versiones-anteriores) | 🔤 [Prefijos de proveedores](#-prefijos-de-proveedores) |
| 🔎 [Descripción general](#-descripción-general) | 🏃 [Ejecución](#-ejecución) | 💻 [Referencia de CLI](#-referencia-de-cli) |
| 💡 [Por qué Xalgorix](#-por-qué-xalgorix) | 🧰 [Modo servicio](#-modo-servicio) | 📡 [Resumen de API](#-resumen-de-api) |
| 🎯 [Casos de uso](#-casos-de-uso) | 🔁 [Flujo de trabajo de la Web UI](#-flujo-de-trabajo-de-la-web-ui) | 💾 [Almacenamiento de datos](#-almacenamiento-de-datos) |
| ✨ [Características](#-características) | 🔀 [Modos de escaneo](#-modos-de-escaneo) | 🧪 [Desarrollo](#-desarrollo) |
| 📥 [Instalación](#-instalación) | 📂 [Escanea tu código](#-escanea-tu-código-sin-objetivo-necesario) | 🚨 [Notas de seguridad](#-notas-de-seguridad) |
| 🧭 [Metodología](#-metodología) | 📄 [Informes](#-informes) | 📜 [Licencia](#-licencia) |
| 🔧 [Ajustes](#-ajustes) | 🔗 [Enlaces](#-enlaces) | |

## 🔎 Descripción general

Xalgorix es una plataforma de pentesting de IA auto-alojada para pruebas de seguridad autorizadas, evaluación de vulnerabilidades y flujos de trabajo de bug bounty. Combina un agente autónomo impulsado por LLM, automatización de navegador, herramientas de terminal, una metodología de pruebas integral de 22 fases, telemetría WebSocket en vivo, gestión de hallazgos con puntuación CVSS, generación de informes PDF con marca, e integraciones para AgentMail, Discord y Telegram.

A diferencia de los escáneres DAST solo en la nube, Xalgorix se ejecuta completamente en tu máquina. Tú aportas tu propio proveedor de LLM (OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama, MiniMax) y controlas el modelo, el esfuerzo de razonamiento, los límites de tasa y la configuración del proxy. Ningún dato de escaneo, clave API o información del objetivo sale de tu infraestructura.

La experiencia predeterminada es la Web UI. Desde un único panel local puedes iniciar escaneos, monitorear ejecuciones activas, inspeccionar hallazgos, configurar ajustes de modelo/proveedor, gestionar variables de entorno, generar informes PDF con marca y eliminar o reanudar escaneos históricos.

## 💡 Por qué Xalgorix

La mayoría de los escáneres **detectan**. Xalgorix **prueba**. Un agente autónomo trabaja a través de una metodología de 22 fases, y luego un verificador independiente vuelve a probar cada hallazgo candidato antes de que se informe — así obtienes resultados verificados con exploits y evidencia, no un muro de "quizás" para triar.

- 🧠 **Un agente de IA, no un motor de plantillas** — razona sobre flujos de autenticación, lógica de negocio, IDOR/BOLA y exploits encadenados que los escáneres de firmas pasan por alto.
- ✅ **Hallazgos verificados con exploits** — un verificador separado reproduce de forma independiente cada hallazgo; los no concluyentes se marcan para revisión, nunca se presentan como confirmados.
- 🔒 **Auto-alojado y privado** — se ejecuta en tu máquina con tu propia clave de LLM; ningún dato del objetivo, clave o hallazgo sale de tu infraestructura.
- 🧩 **Trae tu propio LLM** — OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama o MiniMax — o cualquier puerta de enlace compatible con OpenAI como [LiteLLM](#-litellm--puertas-de-enlace-compatibles-con-openai-github-copilot-claude-opus-codex-openrouter-azure-modelos-locales) (GitHub Copilot, Codex, OpenRouter, Azure). Tú controlas el modelo, el esfuerzo de razonamiento y el costo.
- 📄 **Informes listos para auditoría** — PDFs con marca, puntuaciones CVSS, prueba de concepto y remediación.

### 📊 Cómo se compara

|                                              | **Xalgorix**             | Escáneres de plantillas (p. ej. Nuclei) | Escáneres de rastreo (p. ej. OWASP ZAP) | DAST comercial        |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| Enfoque                                     | Agente de IA autónomo      | Firmas / plantillas          | Spider + reglas activas              | Firmas + heurísticas |
| Cobertura de lógica de negocio / IDOR / bypass de auth | ✅                       | Limitada                         | Limitada                            | Parcial                |
| Verificado con exploits (prueba el impacto)             | ✅ verificador independiente  | ❌                              | ❌                                 | Parcial                |
| Carga de falsos positivos                          | Baja (probada)             | Dependiente de plantillas              | Alta                               | Media                 |
| Auto-alojado / los datos permanecen locales                       | ✅                       | ✅                              | ✅                                 | Generalmente en la nube          |
| Trae tu propio LLM                           | ✅                       | —                               | —                                  | ❌                     |
| Informes PDF con marca                          | ✅                       | ❌                              | Básico                              | ✅                     |
| Costo                                         | Código abierto + tu LLM   | Gratis                            | Gratis                               | $$$                    |

> Comparación direccional — Nuclei y ZAP son excelentes en lo que hacen. Xalgorix añade la capa de descubrimiento con razonamiento intensivo y verificación de exploits encima.

### ☁️ Auto-alojado vs nube alojada

Xalgorix es gratuito y de código abierto — auto-alójalo para siempre, sin condiciones. La [nube alojada](https://www.xalgorix.com/) ejecuta el **mismo** motor verificado con exploits; existe para quienes prefieren no gestionar claves API, infraestructura y facturas impredecibles de LLM. Ambas son de primera clase — elige lo que se adapte.

|                                    | **Auto-alojado** (este repositorio)              | **[Nube alojada](https://www.xalgorix.com/)**   |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| Precio para empezar                     | Gratis, Apache-2.0                         | Nivel gratuito · un escaneo completo desde $1               |
| Clave API de LLM                        | Trae y gestiona la tuya                  | Incluida — nada que gestionar                      |
| Costo por escaneo                      | Tokens LLM brutos — variable, puede dispararse     | 1 crédito por host en vivo — predecible            |
| Configuración y operación                        | Tú instalas, actualizas y ejecutas el conjunto de herramientas  | Nada que ejecutar — escanea en ~60s                   |
| Infraestructura fuera de banda (SSRF/RCE ciego) | Levanta tu propio servidor OOB             | OOB gestionado incluido                            |
| Programación · equipo · RBAC           | Hazlo tú mismo                           | Integrado                                        |
| Actualizaciones                            | `git pull` + reconstrucción                     | Siempre en el motor más reciente                     |
| Residencia de datos / sin conexión                           | ✅ permanece en tu infraestructura · compatible con air-gap       | Se ejecuta en nuestra infraestructura (DPA disponible)               |

**Auto-aloja si** los datos deben permanecer en tu red, quieres control total, o ejecutarás sin conexión/air-gapped — es exactamente para eso. **Usa la nube si** prefieres saltarte las claves API, la infraestructura y las facturas sorpresa de tokens, y pagar solo por los hosts en vivo que realmente escaneas.

<div align="center">

[**☁️ Prueba la nube alojada — gratis →**](https://www.xalgorix.com/) &nbsp;·&nbsp; [**⚖️ Compara el costo real (calculadora) →**](https://www.xalgorix.com/hosted-vs-self-hosted)

</div>

Si Xalgorix te ahorra un ciclo de triaje, por favor **[⭐ da una estrella al repositorio](https://github.com/xalgorix/xalgorix)** — realmente ayuda a que otros lo encuentren.

## 🎯 Casos de uso

| Caso de uso | Cómo ayuda Xalgorix |
| -------- | ------------------ |
| **Pruebas de penetración** | Ejecuta una metodología completa de 22 fases contra objetivos autorizados. El agente de IA maneja reconocimiento, descubrimiento de vulnerabilidades, pruebas de inyección, SSRF, IDOR, bypass de auth, condiciones de carrera y más — luego verifica los hallazgos antes de informar. |
| **Caza de bug bounty** | Apunta Xalgorix a un objetivo dentro del alcance y deja que el agente enumere la superficie de ataque, pruebe clases comunes de vulnerabilidades y muestre hallazgos verificados con puntuaciones CVSS y evidencia de prueba de concepto. |
| **Operaciones de red team** | Usa los modos de escaneo con comodines y multi-objetivo para mapear la superficie de ataque externa de una organización. El DAST asistido por navegador maneja flujos de auth, formularios y comportamiento en tiempo de ejecución que los escáneres estáticos pasan por alto. |
| **Investigación de seguridad** | La fase de descubrimiento de vulnerabilidades novedosas empuja al agente más allá del emparejamiento de plantillas conocido. Trae tu propio LLM (OpenAI, Anthropic, DeepSeek, Gemini, Ollama, MiniMax) para controlar la profundidad de razonamiento y el costo. |
| **Pruebas de seguridad continuas** | Ejecuta como servicio del sistema con `xalgorix --start`. Escanea según un horario, transmite hallazgos a Discord o Telegram y genera informes PDF con marca para las partes interesadas. |
| **Automatización DAST** | Pruebas impulsadas por navegador para aplicaciones web — flujos de auth, formularios, contenido renderizado con JavaScript y comportamiento en tiempo de ejecución. Se integra con Caido para la inspección del tráfico del proxy. |

## ✨ Características

| Área           | Capacidades                                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 Panel      | Web UI local en `127.0.0.1:9137` por defecto, gestión de escaneos, estado en vivo, acciones de escaneo masivo y recuperación de escaneos históricos. |
| 🔍 Escaneo       | Flujos de objetivo único, DAST, comodines y multi-objetivo con fases de metodología seleccionables.                                   |
| 📡 Telemetría en vivo | Llamadas de herramientas, mensajes del agente, hallazgos, errores, actividad HTTP y actividad de LLM a través de WebSockets.                              |
| 🐞 Hallazgos       | Páginas de detalle de escaneo, filtros de severidad, detalles de CVSS, índice de hallazgos y flujos de trabajo de hallazgos verificados.                           |
| 📄 Informes      | Informes PDF con marca con nombre del objetivo/empresa, logo subido, lista de informes, acciones de abrir/descargar/eliminar.                     |
| 🔔 Integraciones   | Bandejas de entrada de prueba de AgentMail, correos de verificación, flujos de OTP, eventos de triaje de correo, notificaciones de Discord y Telegram.            |
| ⚙️ Configuración  | Ajustes del panel para LLM, AgentMail, Discord, Telegram, proxy, tiempo de ejecución, navegador, auth, límites de tasa y recursos.       |
| 🛡️ Seguridad en tiempo de ejecución | Límites de instancias conscientes de recursos y enlace solo a loopback a menos que se configure explícitamente acceso externo con auth.         |

## 📥 Instalación

Las rutas más rápidas no necesitan ningún conjunto de herramientas.

### ⚡ Instalación de una línea (binario precompilado)```bash
curl -sSL https://www.xalgorix.com/install | bash

Descarga el binario de la última versión para tu plataforma (Linux amd64/arm64) y lo instala en /usr/local/bin (o ~/.local/bin sin sudo). Se puede sobrescribir con XALGORIX_INSTALL_DIR o fijar una versión con XALGORIX_VERSION=vX.Y.Z.

Completa la configuración inicial de forma interactiva, sin necesidad de editar manualmente el archivo de entorno:```bash xalgorix --setup

El asistente conserva la configuración existente cuando se vuelve a ejecutar, oculta la entrada de la clave de API en una terminal y, opcionalmente, inicia la interfaz web al finalizar.

### 🐳 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 (o el más restringido --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined) otorga al conjunto de herramientas un acceso similar al del host. El sandbox predeterminado de Docker elimina capacidades y filtra llamadas al sistema, lo que rompe las herramientas de bajo nivel (cambios de iptables/route/interfaces, ARP-spoof/MITM, VPNs tun/tap, depuradores basados en ptrace). Una imagen no puede otorgarse estas capacidades a sí misma — son una decisión en tiempo de ejecución — así que pasa la bandera, o usa el docker-compose.yml proporcionado, que lo configura por ti.

La imagen es todo incluido: un extenso conjunto de herramientas ofensivas de seguridad está preinstalado (nmap, nuclei, httpx, subfinder, dnsx, naabu, katana, ffuf, gobuster, dalfox, feroxbuster, sqlmap, masscan, nikto, whatweb, hydra, y más), además de Chromium para DAST asistido por navegador. También mantiene disponible el conjunto completo de gestores de paquetes (apt, go, cargo, pipx, npm), por lo que el agente instala automáticamente cualquier cosa que falte en tiempo de ejecución. Los datos de escaneo persisten en el volumen /data, y el servidor se vincula a 0.0.0.0 dentro del contenedor — establece XALGORIX_USERNAME/XALGORIX_PASSWORD antes de exponerlo más allá de localhost.

El contenedor se ejecuta como root por diseño (el motor solo habilita la instalación automática en tiempo de ejecución para uid 0, y las instalaciones de apt/go/cargo necesitan acceso de escritura al sistema). Trátalo como un sandbox de escaneo desechable y aislado de la red. Está publicado para amd64; usa el instalador de una línea para hosts arm64.

En la primera ejecución, si no configuras la autenticación del panel, el contenedor genera una contraseña de administrador aleatoria y la imprime en los registros (la imagen se vincula a 0.0.0.0, lo que el motor no hará sin autenticación). Establece XALGORIX_USERNAME + XALGORIX_PASSWORD (o XALGORIX_PASSWORD_HASH) para usar las tuyas propias. El binario nunca se autoactualiza dentro del contenedor (XALGORIX_NO_AUTO_UPDATE=1) — extrae una nueva etiqueta de imagen para actualizar. El motor nuclei y sus plantillas de vulnerabilidades se actualizan a la última versión en cada compilación de imagen (el CI de lanzamiento y redeploy.sh lo fuerzan); pasa --build-arg NUCLEI_VERSION=vX.Y.Z para fijar el motor, o NUCLEI_REFRESH=0 ./redeploy.sh para reutilizar la caché de Docker.

📋 Requisitos (compilar desde el código fuente)

RequisitoNotas
LinuxPlataforma principal compatible.
Go1.25 o más reciente.
Node.js + npmRequerido al compilar la interfaz web React incluida desde el código fuente.
Herramientas de seguridadSe instalan bajo demanda solo cuando la instalación automática está habilitada.

Comprueba tu versión de Go:```bash go version

### 🔨 Compilar desde el código fuente```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 compila la interfaz web de React en internal/web/static y luego compila el binario de Go.

📦 Instalar con Go```bash

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

## 🔩 Configuración

Xalgorix carga la configuración en este orden. Las fuentes posteriores anulan a las anteriores.

| Orden | Fuente                                                         |
| ----- | -------------------------------------------------------------- |
| 1     | `/etc/xalgorix.env`                                            |
| 2     | `/home/<sudo-user>/.xalgorix.env` cuando se lanza mediante `sudo` |
| 3     | `~/.xalgorix.env`                                              |
| 4     | Variables de entorno ya presentes en el proceso                |

Crea el archivo de entorno local:```bash
nano ~/.xalgorix.env

🧩 Configuración mínima

Para obtener los resultados de escaneo autónomo más sólidos, selecciona un modelo frontera actual. El ID de modelo a continuación es un ejemplo concreto; se pueden introducir IDs de modelo compatibles más recientes sin esperar a una versión de Xalgorix.```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key

### 🔌 Ejemplos de Proveedores

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

Custom OpenAI-compatible provider:```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key

#### 🌉 Puertas de enlace compatibles con LiteLLM / OpenAI (GitHub Copilot, Claude Opus, Codex, OpenRouter, Azure, modelos locales)

Debido a que `XALGORIX_API_BASE` acepta cualquier endpoint `/v1/chat/completions` compatible con OpenAI,
Xalgorix funciona con un proxy [LiteLLM](https://docs.litellm.ai/) sin configuración adicional — no se
necesitan cambios en Xalgorix. LiteLLM gestiona la autenticación del proveedor upstream (inicio de
sesión de dispositivo de Copilot, claves de Azure, OpenRouter, Ollama, etc.); Xalgorix solo habla OpenAI con la puerta de enlace.

Ejecuta LiteLLM (ejemplo de `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

Apunte Xalgorix hacia él: use el prefijo custom/ para que el nombre del modelo se envíe tal cual y se utilice el protocolo de chat-completions de 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

El mismo patrón cubre GitHub Copilot Business/CLI, Claude Opus, modelos estilo Codex,
OpenRouter, Azure OpenAI y modelos locales de Ollama — cualquier cosa que LiteLLM pueda enrutar. Mantén
el prefijo `custom/` (o `openai/`) y una `XALGORIX_API_BASE` que no sea de Anthropic/Gemini para que Xalgorix
use la forma estándar de solicitud de OpenAI que LiteLLM espera.

### 🔔 Integraciones Opcionales```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

🔐 Autenticación del Panel```bash

XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password

> [!TIP]
> Prefiere `XALGORIX_PASSWORD_HASH` para despliegues en producción.

## 🆙 Actualización desde versiones anteriores

Esta versión incluye una mejora de estabilidad y aislamiento del espacio de trabajo con un cambio disruptivo y algunos ajustes nuevos que vale la pena conocer.

### 💥 Cambio disruptivo: el espacio de trabajo predeterminado se movió a `~/.xalgorix/data/`

La salida de escaneo, notas, programaciones y otros artefactos generados ahora se almacenan en `~/.xalgorix/data/` en lugar de `$CWD` (el directorio desde el que se lanzó el binario).

Para conservar el comportamiento anterior, apunta `XALGORIX_DATA_DIR` a tu directorio de trabajo actual:```bash
export XALGORIX_DATA_DIR=$(pwd)

A [MIGRATION] warning is emitted at startup when legacy markers (notes.json, _schedules/, vulnerabilities.json, or YYYY-MM-DD/scan-* directories) are detected in $CWD and XALGORIX_DATA_DIR is unset. Xalgorix never reads, copies, or deletes those legacy files automatically; the warning is informational and only fires once per process.

🆕 New environment variable

VariableDefaultDescription
XALGORIX_LLM_MAX_INFLIGHT4 × EffectiveMaxInstancesCaps simultaneous outbound LLM calls across all running scans. Minimum 1. Cancelled waiters do not consume a slot.

🩺 New health endpoint counters

GET /api/status now exposes:

FieldMeaning
panics_recoveredGoroutine, HTTP handler, and tool panics that were recovered without crashing.
path_rejectionsFilesystem writes refused by Path_Policy (outside data_dir / ~/.xalgorix/ / /tmp).
watchdog_killsSubprocesses terminated by the per-tool hard-timeout watchdog.
admission_refusalsScan admission requests denied due to the concurrency ceiling.
llm_inflight_capEffective XALGORIX_LLM_MAX_INFLIGHT value for this process.
data_dirResolved Data_Dir in use.
allow_listFilesystem roots accepted by Path_Policy.

🏃 Running

🪟 Web UI```bash

xalgorix --web

Abierto:```text
http://127.0.0.1:9137

Usa un puerto diferente:```bash xalgorix --web --port 8080

### 🌐 Acceso Externo

Vincula a otra interfaz solo después de habilitar la autenticación del panel:```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0

[!WARNING] El servidor rechaza el enlace externo sin autenticación del panel.

🏹 Escaneo CLI```bash

xalgorix --target https://example.com

Con instrucciones personalizadas:```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."

🧰 Modo de Servicio

Instalar e iniciar como un servicio del sistema:```bash sudo xalgorix --start

Gestiona el servicio:```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall

Ver registros:```bash journalctl -u xalgorix -f

### 🌍 Acceso a Servicios Remotos

Exponga el servicio a navegadores remotos solo después de habilitar la autenticación del panel:```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

Luego abre http://<server-ip>:9137.

Si el proceso está escuchando pero la página aún no carga de forma remota, permite el puerto TCP 9137 en el firewall del servidor o en el grupo de seguridad de la nube.

🏠 Escaneo de objetivos locales/internos

Por defecto, Xalgorix se niega a escanear direcciones de loopback, localhost, rangos privados o las direcciones de su propia interfaz — son la máquina en la que se ejecuta Xalgorix, no un objetivo. En un equipo autoalojado y de un solo inquilino, puedes optar por escanear una aplicación de demostración/ensayo alojada localmente:```bash echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env sudo xalgorix --restart

El propio listener del panel está **siempre** protegido, incluso con esto habilitado.

> **⚠️ Implementaciones compartidas / multiinquilino / alojadas: mantén esto DESACTIVADO.** Habilitarlo
> permitiría que el escaneo de un usuario llegara a la propia máquina del operador y a su red interna.
> Está desactivado por defecto, así que no se necesita ninguna acción para mantenerse seguro — no establezcas
> `XALGORIX_ALLOW_LOCAL_TARGETS` (o fija `XALGORIX_ALLOW_LOCAL_TARGETS=false`),
> y no expongas la página de Configuración del motor a usuarios no confiables.

## 🔁 Flujo de trabajo de la interfaz web

1. Abre el panel en `http://127.0.0.1:9137`.
2. Ve a Configuración y confirma el proveedor de LLM, la clave de API, los límites de tasa y las integraciones opcionales.
3. Crea un escaneo desde Nuevo escaneo.
4. Elige un modo de escaneo.
5. Selecciona las fases de metodología cuando quieras una ejecución enfocada.
6. Establece filtros de severidad cuando solo ciertas severidades deban informarse en vivo. El filtro afecta únicamente al feed del panel en tiempo real y a las notificaciones; el informe PDF y `/api/findings` siempre incluyen todas las vulnerabilidades que el agente descubrió.
7. Añade el nombre de la empresa y sube un logotipo para informes con marca.
8. Supervisa el progreso desde Resumen, Detalle de escaneo o Feed en vivo.
9. Abre los detalles de los hallazgos, descarga informes o gestiona escaneos históricos desde Escaneos e Informes.

## 🔀 Modos de escaneo

| Modo             | Ideal para                                                                      |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 Objetivo único    | Probar una URL u host conocido.                                                 |
| 🌐 Comodín / múltiple | Enumerar objetivos relacionados y escanear la superficie de ataque descubierta. |
| 🧭 DAST             | Pruebas asistidas por navegador para aplicaciones web, flujos de autenticación, formularios y comportamiento en tiempo de ejecución. |

## 📂 Escanea tu código (sin necesidad de objetivo)

Apunta Xalgorix a un código fuente — una URL de Git, una ruta local o un zip subido — y
escanea el código directamente. Sin URL implementada, sin infraestructura que levantar.```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
Modo de escaneo de códigoQué haceNivel de verificación
reviewLee el código fuente, rastrea la entrada del usuario desde el punto de entrada → sumidero peligroso, e informa vulnerabilidades alcanzables. Sin objetivo en vivo.Verificado por código fuente — comprobado como alcanzable en el código (claramente etiquetado como no explotado en tiempo de ejecución).
provisionInspecciona el repositorio, compila y ejecuta la aplicación en un puerto de bucle local, y luego ejecuta DAST guiado por caja blanca contra la instancia en ejecución. Vuelve a review si la aplicación no se puede compilar.Verificado por explotación — reproducido contra la aplicación en ejecución.
  • --source acepta una URL de Git (clonado superficial), un directorio local o una ruta a un archivo subido/extraído. En la interfaz web / aplicación alojada también puedes subir un .zip de tu código base (POST /api/upload-source).
  • También puedes combinar un repositorio y un objetivo en vivo para la mejora clásica de caja blanca — esa ruta no cambia. Los modos de escaneo de código son para cuando el código base es el sujeto completo.

El modo de aprovisionamiento ejecuta los comandos de compilación/inicio de tu aplicación en el sandbox del agente y solo realiza pruebas de penetración en el único puerto de bucle local donde levantó la aplicación — el panel y todo lo demás en la máquina queda fuera del alcance.

🧭 Metodología

Xalgorix organiza las pruebas autónomas en 22 fases.

FaseEnfoque
1Reconocimiento
2Descubrimiento manual de vulnerabilidades
3Descubrimiento de directorios y archivos
4Análisis de CORS y cookies
5Pruebas de autenticación y sesión
6Pruebas de inyección
7Pruebas de SSRF
8IDOR y control de acceso roto
9Pruebas de API y GraphQL
10Pruebas de subida de archivos
11Deserialización y RCE
12Condiciones de carrera y lógica de negocio
13Toma de control de subdominios
14Pruebas de redirección abierta
15Pruebas de seguridad de correo electrónico
16Nube e infraestructura
17Pruebas de WebSocket
18Pruebas específicas de CMS
19Secuestro de enlaces rotos y suplantación de contenido
20Verificación de explotación
21Descubrimiento de vulnerabilidades novedosas
22Informe final

La selección de fases en la interfaz web te permite ejecutar todas las fases o solo el subconjunto necesario para un compromiso específico.

📄 Informes

Los informes se generan como archivos PDF y pueden incluir:

SecciónContenido incluido
📌 ResumenResumen ejecutivo, metadatos del objetivo, metadatos del escaneo y descripción general de severidad.
🐞 HallazgosHallazgos verificados, detalles de CVSS, análisis técnico y prueba de explotación.
🔬 EvidenciaComandos de prueba de concepto, scripts, notas de payloads y observaciones de respaldo.
🩹 RemediaciónGuía de corrección y próximos pasos priorizados.
🎨 MarcaNombre de empresa/objetivo y logotipo subido.

Los informes están disponibles desde la página de detalles del escaneo y la página de Informes. Las filas de informes admiten abrir, descargar y eliminar.

🔧 Configuración

La mayoría de los ajustes operativos se pueden cambiar desde la interfaz web en Configuración.

ÁreaEjemplos
🤝 CompromisoLímites de tasa de solicitudes del panel
🧠 LLMModelo, clave de API, base de API, esfuerzo de razonamiento, reintentos, iteraciones máximas
📬 AgentMailPod y clave de API
🔔 NotificacionesWebhook de Discord y severidad mínima, token de bot de Telegram, ID de chat y severidad mínima
🕵️ ProxyURL del proxy, archivo de proxy, rotación, verificación TLS
🧱 Tiempo de ejecuciónEspacio de trabajo, ruta del navegador, controles de instalación automática
🔐 SeguridadNombre de usuario del panel, contraseña, hash de contraseña, dirección de enlace
📈 RecursosUmbrales de CPU/RAM/disco y presupuesto de concurrencia de escaneo

Algunos ajustes requieren un reinicio porque afectan el inicio del proceso o el enlace del servidor. La interfaz marca esos campos.

🧾 Variables de Entorno

🧱 Núcleo

VariablePredeterminadoDescripción
XALGORIX_LLMningunoID de modelo nativo del proveedor utilizado para solicitudes LLM.
XALGORIX_LLM_PROVIDERningunoProveedor seleccionado por el panel, almacenado por separado del ID del modelo.
XALGORIX_API_KEYningunoClave de API del proveedor LLM requerida.
XALGORIX_API_BASEpredeterminado del proveedorURL base de API personalizada compatible con OpenAI.
XALGORIX_REASONING_EFFORThighEsfuerzo de razonamiento: none, low, medium, high o xhigh (xhigh se asigna a high para Ollama).
XALGORIX_LANGUAGEenIdioma de salida para la prosa generada por IA (razonamiento del agente, notas, hallazgos, contenido del informe, chat posterior al escaneo). en o zh-CN. Los tokens técnicos (payloads, comandos, URLs, IDs de CVE/CWE) siempre permanecen en su forma original. Los idiomas no latinos se renderizan automáticamente en el panel y en el informe HTML.
XALGORIX_PDF_CJK_FONTningunoRuta absoluta a una fuente TrueType (.ttf) con glifos CJK, utilizada para renderizar idiomas no latinos (p. ej., chino simplificado) en el informe PDF exportado. Solo se admite .ttf (no .ttc/.otf). Sin ella, el PDF recurre a fuentes básicas y los glifos no latinos no se renderizarán (el informe HTML no se ve afectado).
XALGORIX_OLLAMA_COMPATIBLEfalseAplicar semántica de razonamiento de Ollama a un endpoint personalizado en un puerto no estándar. El puerto 11434 se detecta automáticamente.
XALGORIX_LLM_MAX_RETRIES5Número de reintentos para fallos transitorios de LLM.
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT30Tiempo de espera en segundos para la compresión de contexto.
XALGORIX_MAX_ITERATIONS0Límite de iteraciones del agente. 0 significa ilimitado.
XALGORIX_PPROF_ADDRningunoPerfilador Go opcional. Cuando se establece (p. ej., 127.0.0.1:6060), inicia un servidor pprof independiente en /debug/pprof/ en esa dirección para diagnóstico de CPU/memoria. Deshabilitado por defecto. Expone internos del proceso — enlaza a bucle local y accede a él mediante un túnel SSH; nunca lo expongas públicamente.
GEMINI_API_KEYningunoClave Gemini opcional para enriquecimiento de búsqueda web.

🔒 Web y Seguridad

VariablePredeterminadoDescripción
XALGORIX_BIND127.0.0.1Dirección de escucha del servidor web.
XALGORIX_ALLOW_LOCAL_TARGETSfalsePermitir escanear aplicaciones alojadas localmente (localhost / 127.0.0.1 / IPs privadas) en una instalación autoalojada. El propio listener del panel siempre está protegido. Déjalo desactivado en implementaciones compartidas/alojadas.
XALGORIX_USERNAMEningunoNombre de usuario del panel.
XALGORIX_PASSWORDningunoContraseña del panel.
XALGORIX_PASSWORD_HASHningunoHash de contraseña bcrypt preferido.
XALGORIX_WORKSPACEdirectorio actualRaíz del espacio de trabajo para la ejecución de escaneos.

🤝 Integraciones

VariablePredeterminadoDescripción
AGENTMAIL_PODningunoIdentificador del pod de AgentMail.
AGENTMAIL_API_KEYningunoClave de API de AgentMail.
XALGORIX_DISCORD_WEBHOOKningunoWebhook global de Discord.
XALGORIX_DISCORD_MIN_SEVERITYningunoSeveridad mínima enviada a Discord.
XALGORIX_TELEGRAM_BOT_TOKENningunoToken de bot de Telegram de @BotFather.
XALGORIX_TELEGRAM_CHAT_IDningunoID de chat/canal de Telegram (numérico o @nombredeusuario).
XALGORIX_TELEGRAM_MIN_SEVERITYningunoSeveridad mínima enviada a Telegram.
CAIDO_PORT0Puerto del proxy Caido. 0 significa detección automática.
CAIDO_API_TOKENningunoToken de API de Caido.

🚦 Límites de Tasa, Proxy y Tiempo de Ejecución

VariablePredeterminadoDescripción
XALGORIX_RATE_LIMIT_REQUESTS60Solicitudes del panel por ventana.
XALGORIX_RATE_LIMIT_WINDOW60Ventana de límite de tasa del panel en segundos.
XALGORIX_RATE_RPS10Tasa sostenida de solicitudes salientes.
XALGORIX_RATE_BURST20Tamaño de ráfaga saliente.
XALGORIX_USE_PROXYfalseHabilitar enrutamiento de proxy.
XALGORIX_PROXY_URLningunoURL de proxy única. Anula el archivo de proxy.
XALGORIX_PROXY_FILEningunoArchivo que contiene un proxy por línea.
XALGORIX_PROXY_ROTATIONroundrobinEstrategia de rotación de proxy: roundrobin o random.
XALGORIX_TLS_SKIP_VERIFYfalseOmitir verificación TLS para tráfico de pruebas.
XALGORIX_DISABLE_BROWSERfalseDeshabilitar automatización del navegador.
XALGORIX_BROWSER_PATHautomáticoRuta personalizada del ejecutable de Chrome/Chromium.
XALGORIX_ALLOW_AUTO_INSTALLsolo rootPermitir instalación automática de paquetes.
XALGORIX_AUTO_INSTALL_SUDOfalsePermitir instalaciones automáticas con prefijo sudo.

🔤 Prefijos de Proveedor

Cuando XALGORIX_API_BASE está vacío, Xalgorix infiere los valores predeterminados del proveedor a partir del prefijo del modelo.

PrefijoBase de API predeterminada
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

Los nombres de modelos no están codificados en esta lista. La página de Configuración acepta IDs de modelos escritos para que los modelos más nuevos del proveedor puedan usarse sin esperar una actualización del menú desplegable de la interfaz.

💻 Referencia de CLI

BanderaAliasDescripción
--web-wIniciar la interfaz web.
--port <port>-pPuerto de la interfaz web. Predeterminado: 9137.
--bind <addr>ningunoDirección de enlace. Predeterminado: 127.0.0.1.
--target <target>-tURL, host, IP o ruta del objetivo. Repetible.
--instruction <text>-iInstrucciones de escaneo personalizadas.
--model <model>-mAnular XALGORIX_LLM para esta ejecución.
--update-upActualizar a la última versión.
--version-vImprimir versión.
--startningunoInstalar e iniciar el servicio del sistema.
--stopningunoDetener el servicio del sistema.
--restartningunoReiniciar el servicio del sistema.
--uninstallningunoEliminar el servicio del sistema.
--help-hMostrar ayuda.

📡 Resumen de API

MétodoEndpointPropósito
POST/api/scanIniciar o guardar un escaneo.
POST/api/stopDetener todos los escaneos en ejecución.
GET/api/statusEstado global actual.
GET/api/scansListar escaneos.
GET/api/scans/:idObtener detalle del escaneo.
DELETE/api/scans/:idEliminar un escaneo y sus datos de informe.
GET/api/findingsListar todos los hallazgos (deduplicados entre escaneos).
GET/api/findings/summaryRecuento de severidad en todos los escaneos.
GET/api/report/:idDescargar un informe PDF.
GET/api/instancesListar instancias en vivo e históricas.
GET/api/instances/:id/eventsObtener historial de eventos almacenados en búfer.
POST/api/instances/:id/stopDetener una instancia específica.
POST/api/instances/:id/startIniciar un escaneo guardado o completado como una nueva ejecución.
POST/api/instances/:id/restartReiniciar con la misma configuración.
POST/api/instances/:id/pausePausar un escaneo en ejecución.
POST/api/instances/:id/resumeReanudar un escaneo pausado.
POST/api/upload-logoSubir un logotipo de informe.
POST/api/upload-targetsSubir una lista de objetivos.
GET/api/settings/environmentListar ajustes de entorno editables.
POST/api/settings/environmentGuardar ajustes de entorno.
GET/api/settings/llmObtener ajustes de LLM.
POST/api/settings/llmGuardar ajustes de LLM.
GET/api/settings/agentmailObtener ajustes de AgentMail.
POST/api/settings/agentmailGuardar ajustes de AgentMail.
GET/wsFlujo de eventos en vivo por WebSocket.

💾 Almacenamiento de Datos

Los datos de escaneo en modo web se almacenan en:```text ~/xalgorix-data/ |-- _saved/ |-- logos/ |-- queue_state.json -- <target>/ -- / -- <scan-id>/ |-- scan.json -- report.pdf

El servidor mantiene registros históricos de escaneos en disco para que la interfaz pueda recuperarse tras una actualización o reinicio.

## 🧪 Desarrollo

| Tarea                        | Comando                       |
| --------------------------- | ----------------------------- |
| 📦 Instalar dependencias de la interfaz web | `make webui-install`          |
| 🔨 Compilar todo            | `make build`                  |
| ✅ Ejecutar pruebas         | `go test ./...`               |
| 🖥️ Ejecutar la interfaz web desde el código fuente | `go run ./cmd/xalgorix --web` |
| ⚡ Ejecutar el servidor de desarrollo del frontend | `make webui-dev`              |

## 🚨 Notas de seguridad

- Utilice Xalgorix únicamente contra objetivos autorizados.
- No realice pruebas activas contra sistemas de terceros sin permiso.
- Revise las instrucciones de escaneo antes de iniciar.
- Configure los límites de velocidad y la configuración de proxy para cumplir con las reglas del compromiso.
- Exponer el panel de control externamente requiere autenticación.
- La instalación automática está deshabilitada por defecto para usuarios no root y debe habilitarse solo cuando confíe en el entorno.

## 📜 Licencia

Xalgorix se publica bajo la Licencia Apache 2.0. Consulte [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE).

## 🔗 Enlaces

| Recurso      | Enlace                                                                             |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ Alojado (Nube) | [www.xalgorix.com](https://www.xalgorix.com/)                                   |
| 📖 Documentación | [docs.xalgorix.com](https://docs.xalgorix.com)                                   |
| 🐛 Problemas        | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ Soporte       | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord)                     |

Categorías