Voltar às atualizações
New releaseSep 7, 2026

xalgorix v4.6.72

Agentes autônomos de pentest com IA — reconhecimento em tempo real, detecção de vulnerabilidades e orquestração de exploração. Go + TypeScript.

Compartilhar
Xalgorix — Plataforma Autónoma de Testes de Penetração com IA

Go License Platform Hosted GitHub stars GitHub forks GitHub release

Ask DeepWiki

xalgorix/xalgorix | Trendshift

Xalgorix — Pentester de IA open-source que prova vulnerabilidades

A maioria dos scanners deteta. O Xalgorix prova. Um agente LLM autónomo executa uma metodologia completa de pentest, e depois um verificador independente re-explora cada descoberta antes de ser reportada — para que obtenha provas, não uma pilha de incertezas para triagem. Auto-hospedado, privado e com o seu próprio LLM. Construído em Go + TypeScript.

🚀 Início Rápido · 💡 Porquê o Xalgorix · ✨ Funcionalidades · 🎯 Casos de Uso · ☁️ Cloud Hospedado · 📖 Documentação


📸 Capturas de Ecrã

🖥️ Painel auto-hospedado — corre localmente em 127.0.0.1:9137

Painel de visão geralDetalhe do scanDescobertas
Xalgorix overview dashboardXalgorix scan detailXalgorix findings

☁️ Painel cloud hospedado — a versão totalmente gerida em www.xalgorix.com

Painel cloud hospedado do Xalgorix mostrando pontuação de segurança, tendências de vulnerabilidades, métricas de remediação e problemas abertos por categoria

🤝 Patrocinadores

Obrigado à Swiftproxy por patrocinar o Xalgorix.

Swiftproxy patrocina o Xalgorix — proxies residenciais para testes autorizados em várias localizações

A sua aplicação pode comportar-se de forma diferente dependendo da origem de um pedido. Para utilizadores do Xalgorix que verificam as suas próprias aplicações em várias regiões, a Swiftproxy oferece segmentação por localização para analisar o comportamento regional e sessões persistentes para ajudar a manter um IP consistente durante uma sessão de teste. Suporta HTTP(S) e SOCKS5, os mesmos protocolos de proxy que o Xalgorix suporta.

Proxies residenciais desde $0.70/GB. Testes gratuitos disponíveis, e os utilizadores do Xalgorix obtêm 10% de desconto com o código PROXY90.

Explore a Swiftproxy e solicite um teste gratuito →


🚀 Início Rápido

Instalação (uma linha):```bash curl -sSL https://www.xalgorix.com/install | bash

Isso baixa o binário pré-compilado para a sua plataforma (Linux ou macOS, amd64/arm64) a partir da versão mais recente. Em seguida, execute o assistente de configuração interativo:```bash
xalgorix --setup

Escolha o seu provedor, confirme um modelo e insira a chave de API quando solicitado. Para melhores resultados, use um modelo de fronteira atual com raciocínio forte, desempenho de contexto longo e chamada de ferramentas confiável — como o modelo GPT, Claude ou Gemini mais recente e capaz disponível para você. Modelos menores ou locais continuam suportados, mas podem exigir mais supervisão durante varreduras autônomas longas. O Xalgorix armazena a chave de forma privada em ~/.xalgorix.env (modo 0600) e pode iniciar o painel para você. O Ollama local não precisa de chave de API.

Se você optar por não iniciar imediatamente, inicie mais tarde com xalgorix --web e abra http://127.0.0.1:9137. Você pode alterar provedores ou opções avançadas a qualquer momento em Settings → LLM, ou executar novamente xalgorix --setup.

Ou execute com Docker — tudo incluído, sem necessidade de toolchain:```bash docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest

`--privileged` concede ao toolset o mesmo acesso ao host que ele tem quando executado nativamente como root. O sandbox padrão do Docker remove capacidades (como `NET_ADMIN`) e aplica um filtro seccomp, o que quebra ferramentas de baixo nível (alterações de iptables/route, ARP-spoof/MITM, VPNs tun/tap, depuradores baseados em ptrace, ajuste de interface do masscan). Como uma imagem não pode conceder isso a si mesma, essas permissões devem ser definidas em tempo de execução. O contêiner é um sandbox de varredura descartável e isolado de rede executando como root — privileged é a postura pretendida; nunca exponha o dashboard publicamente sem autenticação. Prefere privilégio mínimo? Troque `--privileged` por `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`.

Abra `http://localhost:9137`. Você **não precisa de uma chave de LLM para começar** — o dashboard inicia sem uma; defina o modelo + chave de API em **Settings → LLM** (persiste no volume `/data`). Se você não passar `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`, uma senha de admin aleatória é gerada e impressa nos logs do contêiner na primeira execução.

**Mais fácil — Docker Compose** (mapeia a porta + um volume persistente para você):```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

A imagem vem com um extenso conjunto de ferramentas de segurança ofensiva pré-instaladas (nmap, nuclei, httpx, subfinder, katana, ffuf, gobuster, sqlmap, masscan, dalfox, feroxbuster, e mais) e mantém todos os gestores de pacotes (apt, go, cargo, pipx, npm) disponíveis para que o agente ainda possa instalar automaticamente qualquer coisa em falta em tempo de execução. É executada como root dentro do contentor por design — trate o contentor como um sandbox de scanning descartável e isolado da rede e nunca exponha o dashboard sem autenticação. As imagens são publicadas tanto para amd64 como para arm64.

Ou compile a partir do código-fonte (requer Go 1.26+ e 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]
> Prefere configuração zero? Uma versão totalmente gerenciada roda em [www.xalgorix.com](https://www.xalgorix.com/) — clique para escanear, sem instalação ou chaves de API necessárias.

### 🤖 Revise pull requests automaticamente — GitHub App gratuito

Quer uma revisão de segurança em cada pull request com configuração zero? Instale o **[Xalgorix GitHub App](https://github.com/apps/xalgorix)**. Ele lê o diff de cada PR e comenta uma revisão de segurança — injeção, autenticação quebrada/IDOR, SSRF, segredos, padrões inseguros — diretamente no pull request. Atualiza no lugar em novos commits, e você pode comentar **`@xalgorix review`** para reexecutar sob demanda. Sem arquivo de workflow, sem chave de API, sem conta — e é gratuito.

<div align="center">

[**➕ Adicionar Xalgorix ao GitHub →**](https://github.com/apps/xalgorix/installations/new)

</div>

Para merge gating e pentests completos verificados por exploit em CI, use o [scanner hospedado](https://www.xalgorix.com/) ou a GitHub Action.

> [!IMPORTANT]
> Use o Xalgorix apenas em sistemas que você possui ou tem permissão explícita para testar.

> [!TIP]
> Prefere não auto-hospedar? Uma versão totalmente gerenciada está disponível em [www.xalgorix.com](https://www.xalgorix.com/) — clique para escanear, sem instalação ou chaves de API necessárias.

## 📚 Conteúdo

| | | |
| --- | --- | --- |
| 📸 [Capturas de tela](#-screenshots) | 🔩 [Configuração](#-configuration) | 🧾 [Variáveis de ambiente](#-environment-variables) |
| 🚀 [Início rápido](#-quick-start) | 🆙 [Atualização](#-upgrading-from-previous-versions) | 🔤 [Prefixos de provedor](#-provider-prefixes) |
| 🔎 [Visão geral](#-overview) | 🏃 [Execução](#-running) | 💻 [Referência da CLI](#-cli-reference) |
| 💡 [Por que Xalgorix](#-why-xalgorix) | 🧰 [Modo de serviço](#-service-mode) | 📡 [Resumo da API](#-api-summary) |
| 🎯 [Casos de uso](#-use-cases) | 🔁 [Fluxo de trabalho da Web UI](#-web-ui-workflow) | 💾 [Armazenamento de dados](#-data-storage) |
| ✨ [Recursos](#-features) | 🔀 [Modos de varredura](#-scan-modes) | 🧪 [Desenvolvimento](#-development) |
| 📥 [Instalação](#-installation) | 📂 [Escaneie seu código](#-scan-your-code-no-target-needed) | 🚨 [Notas de segurança](#-safety-notes) |
| 🧭 [Metodologia](#-methodology) | 📄 [Relatórios](#-reports) | 📜 [Licença](#-license) |
| 🔧 [Configurações](#-settings) | 🔗 [Links](#-links) | 🤝 [Patrocinadores](#-sponsors) |

## 🔎 Visão geral

Xalgorix é uma plataforma de teste de penetração com IA auto-hospedada para testes de segurança autorizados, avaliação de vulnerabilidades e fluxos de trabalho de bug bounty. Ela combina um agente autônomo orientado por LLM, automação de navegador, ferramentas de terminal, uma metodologia abrangente de testes em 22 fases, telemetria WebSocket ao vivo, gerenciamento de descobertas com pontuação CVSS, geração de relatórios PDF personalizados e integrações para AgentMail, Discord e Telegram.

Diferente de scanners DAST apenas em nuvem, o Xalgorix roda inteiramente na sua máquina. Você traz seu próprio provedor de LLM (OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama, MiniMax) e controla o modelo, esforço de raciocínio, limites de taxa e configuração de proxy. Nenhum dado de varredura, chave de API ou informação de alvo sai da sua infraestrutura.

A experiência padrão é a Web UI. A partir de um único painel local você pode iniciar varreduras, monitorar execuções ativas, inspecionar descobertas, configurar ajustes de modelo/provedor, gerenciar variáveis de ambiente, gerar relatórios PDF personalizados e excluir ou retomar varreduras históricas.

## 💡 Por que Xalgorix

A maioria dos scanners **detecta**. Xalgorix **prova**. Um agente autônomo trabalha através de uma metodologia de 22 fases, então um verificador independente retesta cada descoberta candidata antes de ser reportada — assim você obtém resultados verificados por exploit com evidências, não uma parede de "talvez" para triagem.

- 🧠 **Um agente de IA, não um motor de templates** — raciocina sobre fluxos de autenticação, lógica de negócios, IDOR/BOLA e exploits encadeados que scanners de assinatura perdem.
- ✅ **Descobertas verificadas por exploit** — um verificador separado reproduz independentemente cada descoberta; as inconclusivas são sinalizadas para revisão, nunca disfarçadas como confirmadas.
- 🔒 **Auto-hospedado e privado** — roda na sua máquina com sua própria chave de LLM; nenhum dado de alvo, chave ou descoberta sai da sua infraestrutura.
- 🧩 **Traga seu próprio LLM** — OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama ou MiniMax — ou qualquer gateway compatível com OpenAI como [LiteLLM](#-litellm--openai-compatible-gateways-github-copilot-claude-opus-codex-openrouter-azure-local-models) (GitHub Copilot, Codex, OpenRouter, Azure). Você controla modelo, esforço de raciocínio e custo.
- 📄 **Relatórios prontos para auditoria** — PDFs personalizados com pontuações CVSS, prova de conceito e remediação.

### 📊 Como se compara

|                                              | **Xalgorix**             | Scanners de template (ex.: Nuclei) | Scanners de crawling (ex.: OWASP ZAP) | DAST comercial        |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| Abordagem                                     | Agente de IA autônomo      | Assinaturas / templates          | Spider + regras ativas              | Assinaturas + heurísticas |
| Cobertura de lógica de negócios / IDOR / bypass de autenticação | ✅                       | Limitada                         | Limitada                            | Parcial                |
| Verificado por exploit (prova o impacto)             | ✅ verificador independente  | ❌                              | ❌                                 | Parcial                |
| Carga de falsos positivos                          | Baixa (provado)             | Dependente de template              | Alta                               | Média                 |
| Auto-hospedado / dados permanecem locais               | ✅                       | ✅                              | ✅                                 | Geralmente nuvem          |
| Traga seu próprio LLM                           | ✅                       | —                               | —                                  | ❌                     |
| Relatórios PDF personalizados                          | ✅                       | ❌                              | Básico                              | ✅                     |
| Custo                                         | Código aberto + seu LLM   | Gratuito                            | Gratuito                               | $$$                    |

> Comparação direcional — Nuclei e ZAP são excelentes no que fazem. Xalgorix adiciona a camada de descoberta com raciocínio pesado e verificação de exploit por cima.

### ☁️ Auto-hospedado vs Nuvem hospedada

Xalgorix é gratuito e de código aberto — auto-hospede para sempre, sem compromissos. A [nuvem hospedada](https://www.xalgorix.com/) roda o **mesmo** motor verificado por exploit; ela existe para pessoas que preferem não gerenciar chaves de API, infraestrutura e contas imprevisíveis de LLM. Ambos são de primeira classe — escolha o que se encaixa.

|                                    | **Auto-hospedado** (este repositório)              | **[Nuvem hospedada](https://www.xalgorix.com/)**   |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| Preço para começar                     | Motor gratuito, Apache-2.0                  | Conta gratuita · avaliação única de $1           |
| Chave de API do LLM                        | Traga e gerencie a sua                  | Incluída — nada para gerenciar                      |
| Custo por varredura                      | Tokens brutos de LLM — variável, pode disparar     | 1 crédito por host ativo — previsível            |
| Configuração e operações                        | Você instala, atualiza e executa o toolchain  | Nada para executar — varredura em ~60s                   |
| Infraestrutura out-of-band (SSRF/blind RCE) | Monte seu próprio servidor OOB             | OOB gerenciado incluído                            |
| Agendamento                         | Agendador integrado na sua infraestrutura | Agendamentos diários / por hora gerenciados             |
| Equipe · RBAC · créditos compartilhados        | Instância de operador único                 | Workspaces de organização no Team                 |
| Atualizações                            | `git pull` + rebuild                     | Sempre no motor mais recente                     |
| Residência de dados / offline           | ✅ permanece na sua infra · air-gap OK       | Roda na nossa infra (DPA disponível)               |

**Auto-hospede se** os dados devem permanecer na sua rede, você quer controle total, ou vai rodar offline/air-gapped — é exatamente para isso que serve. **Use a nuvem se** você prefere pular as chaves de API, infraestrutura e contas surpresa de tokens, e pagar apenas pelos hosts ativos que você realmente escaneia.

<div align="center">

[**☁️ Avalie a Nuvem hospedada — teste de $1 →**](https://www.xalgorix.com/pricing) &nbsp;·&nbsp; [**⚖️ Compare Nuvem e auto-hospedagem →**](https://www.xalgorix.com/hosted-vs-self-hosted)

</div>

Se o Xalgorix economiza um ciclo de triagem para você, por favor **[⭐ dê uma estrela ao repositório](https://github.com/xalgorix/xalgorix)** — isso genuinamente ajuda outros a encontrá-lo.

## 🎯 Casos de uso

| Caso de uso | Como o Xalgorix ajuda |
| -------- | ------------------ |
| **Teste de penetração** | Execute uma metodologia completa de 22 fases contra alvos autorizados. O agente de IA cuida de reconhecimento, descoberta de vulnerabilidades, testes de injeção, SSRF, IDOR, bypass de autenticação, condições de corrida e mais — depois verifica as descobertas antes de reportar. |
| **Caça a bug bounty** | Aponte o Xalgorix para um alvo no escopo e deixe o agente enumerar a superfície de ataque, testar classes comuns de vulnerabilidade e revelar descobertas verificadas com pontuações CVSS e evidências de prova de conceito. |
| **Operações de red team** | Use modos de varredura wildcard e multi-alvo para mapear a superfície de ataque externa de uma organização. DAST assistido por navegador lida com fluxos de autenticação, formulários e comportamento em tempo de execução que scanners estáticos perdem. |
| **Pesquisa de segurança** | A fase de descoberta de vulnerabilidades inéditas leva o agente além da correspondência de templates conhecidos. Traga seu próprio LLM (OpenAI, Anthropic, DeepSeek, Gemini, Ollama, MiniMax) para controlar profundidade de raciocínio e custo. |
| **Teste de segurança contínuo** | Execute como um serviço de sistema com `xalgorix --start`. Escaneie em um agendamento, transmita descobertas para Discord ou Telegram e gere relatórios PDF personalizados para stakeholders. |
| **Automação de DAST** | Testes orientados por navegador para aplicações web — fluxos de autenticação, formulários, conteúdo renderizado por JavaScript e comportamento em tempo de execução. Integra-se com Caido para inspeção de tráfego de proxy. |

## ✨ Recursos

| Área           | Capacidades                                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 Dashboard      | Web UI local em `127.0.0.1:9137` por padrão, gerenciamento de varreduras, status ao vivo, ações de varredura em massa e recuperação de varreduras históricas. |
| 🔍 Varredura       | Fluxos de alvo único, DAST, wildcard e multi-alvo com fases de metodologia selecionáveis.                                   |
| 📡 Telemetria ao vivo | Chamadas de ferramentas, mensagens do agente, descobertas, erros, atividade HTTP e atividade de LLM via WebSockets.                              |
| 🐞 Descobertas       | Páginas de detalhes de varredura, filtros de severidade, detalhes de CVSS, índice de descobertas e fluxos de trabalho de descobertas verificadas.                           |
| 📄 Relatórios      | Relatórios PDF personalizados com nome do alvo/empresa, logo enviado, lista de relatórios, ações de abrir/baixar/excluir.                     |
| 🔔 Integrações   | Caixas de entrada de teste do AgentMail, e-mails de verificação, fluxos de OTP, eventos de triagem de e-mail, notificações do Discord e Telegram.            |
| ⚙️ Configuração  | Configurações do dashboard para LLM, AgentMail, Discord, Telegram, proxy, runtime, navegador, autenticação, limites de taxa e recursos.       |
| 🛡️ Segurança em tempo de execução | Limites de instância cientes de recursos e vinculação apenas em loopback, a menos que o acesso externo seja explicitamente configurado com autenticação.         |

## 📥 Instalação

Os caminhos mais rápidos não precisam de toolchain algum.

### ⚡ Instalação em uma linha (binário pré-compilado)```bash
curl -sSL https://www.xalgorix.com/install | bash

Baixa o binário da versão mais recente para a sua plataforma (Linux ou macOS, amd64/arm64) e instala-o em /usr/local/bin (ou ~/.local/bin sem sudo). Substitua com XALGORIX_INSTALL_DIR ou fixe uma versão com XALGORIX_VERSION=vX.Y.Z.

Conclua a configuração inicial de forma interativa—sem necessidade de edição manual do ficheiro de ambiente:```bash xalgorix --setup

O assistente preserva as configurações existentes quando executado novamente, oculta a entrada da chave de API num terminal e, opcionalmente, inicia a Interface Web quando termina.

### 🐳 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 (ou o mais restrito --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined) concede ao conjunto de ferramentas acesso semelhante ao do host. O sandbox padrão do Docker remove capacidades e filtra syscalls, o que quebra ferramentas de baixo nível (alterações de iptables/route/interface, ARP-spoof/MITM, VPNs tun/tap, depuradores baseados em ptrace). Uma imagem não pode conceder isso a si mesma — é uma decisão de tempo de execução — então passe a flag, ou use o docker-compose.yml fornecido, que a define para você.

A imagem é batteries-included: um extenso conjunto de ferramentas de segurança ofensiva vem pré-instalado (nmap, nuclei, httpx, subfinder, dnsx, naabu, katana, ffuf, gobuster, dalfox, feroxbuster, sqlmap, masscan, nikto, whatweb, hydra, e mais), além do Chromium para DAST assistido por navegador. Ela também mantém o conjunto completo de gerenciadores de pacotes (apt, go, cargo, pipx, npm) disponível, então o agente instala automaticamente qualquer coisa que esteja faltando em tempo de execução. Os dados de scan persistem no volume /data, e o servidor escuta em 0.0.0.0 dentro do contêiner — defina XALGORIX_USERNAME/XALGORIX_PASSWORD antes de expô-lo além do localhost.

O contêiner roda como root por design (o engine só habilita a instalação automática em tempo de execução para uid 0, e as instalações via apt/go/cargo precisam de acesso de escrita ao sistema). Trate-o como um sandbox de scan descartável e isolado de rede. As mesmas tags publicam um manifesto multiplataforma para linux/amd64 e linux/arm64, então o Docker seleciona a imagem nativa automaticamente.

Na primeira execução, se você não definir a autenticação do dashboard, o contêiner gera uma senha de admin aleatória e a imprime nos logs (a imagem escuta em 0.0.0.0, o que o engine não faz sem autenticação). Defina XALGORIX_USERNAME + XALGORIX_PASSWORD (ou XALGORIX_PASSWORD_HASH) para usar as suas próprias. O binário nunca se auto-atualiza dentro do contêiner (XALGORIX_NO_AUTO_UPDATE=1) — baixe uma nova tag de imagem para atualizar. O engine nuclei e seus templates de vulnerabilidade são atualizados para a versão mais recente a cada build da imagem (o CI de release e o redeploy.sh forçam isso); passe --build-arg NUCLEI_VERSION=vX.Y.Z para fixar o engine, ou NUCLEI_REFRESH=0 ./redeploy.sh para reutilizar o cache do Docker.

📋 Requisitos (build a partir do código-fonte)

RequisitoObservações
SOLinux ou macOS (amd64/arm64).
Go1.26 ou mais recente.
Node.js + npmNecessário ao compilar a React Web UI incluída a partir do código-fonte.
Ferramentas de segurançaInstaladas sob demanda apenas quando a instalação automática está habilitada.

Verifique sua versão do Go:```bash go version

### 🔨 Compilar a Partir do Código-Fonte```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 a React Web UI em internal/web/static, depois compila o binário Go.

📦 Instalar com Go```bash

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

## 🔩 Configuração

O Xalgorix carrega a configuração nesta ordem. Fontes posteriores substituem as anteriores.

| Ordem | Fonte                                                          |
| ----- | -------------------------------------------------------------- |
| 1     | `/etc/xalgorix.env`                                            |
| 2     | `/home/<sudo-user>/.xalgorix.env` quando iniciado via `sudo`   |
| 3     | `~/.xalgorix.env`                                              |
| 4     | Variáveis de ambiente já presentes no processo                 |

Crie o arquivo de ambiente local:```bash
nano ~/.xalgorix.env

🧩 Configuração Mínima

Para obter os resultados mais fortes de varredura autônoma, selecione um modelo de fronteira atual. O ID do modelo abaixo é um exemplo concreto; IDs de modelos compatíveis mais recentes podem ser inseridos sem esperar por um lançamento do Xalgorix.```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key

### 🔌 Exemplos de Provedores

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

Provedor personalizado compatível com OpenAI:```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key

#### 🌉 Gateways compatíveis com LiteLLM / OpenAI (GitHub Copilot, Claude Opus, Codex, OpenRouter, Azure, modelos locais)

Como `XALGORIX_API_BASE` aceita qualquer endpoint `/v1/chat/completions` compatível com OpenAI,
o Xalgorix funciona com um proxy [LiteLLM](https://docs.litellm.ai/) imediatamente — sem
necessidade de alterações no lado do Xalgorix. O LiteLLM trata da autenticação do provedor upstream (login de dispositivo do Copilot,
chaves do Azure, OpenRouter, Ollama, etc.); o Xalgorix apenas fala OpenAI com o gateway.

Execute o LiteLLM (exemplo 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

Aponte o Xalgorix para ele — use o prefixo custom/ para que o nome do modelo seja enviado literalmente e o protocolo de chat-completions da OpenAI seja utilizado:```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

O mesmo padrão abrange GitHub Copilot Business/CLI, Claude Opus, modelos no estilo Codex,
OpenRouter, Azure OpenAI e modelos Ollama locais — qualquer coisa que o LiteLLM consiga rotear. Mantenha o
prefixo `custom/` (ou `openai/`) e um `XALGORIX_API_BASE` não-Anthropic/Gemini para que o Xalgorix
use o formato de requisição OpenAI padrão que o LiteLLM espera.

### 🔔 Integrações Opcionais```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

🔐 Autenticação do Dashboard```bash

XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password

> [!TIP]
> Prefira `XALGORIX_PASSWORD_HASH` para implantações em produção.

## 🆙 Atualizando de versões anteriores

Esta versão traz uma passagem de estabilidade e isolamento de workspace com uma mudança disruptiva e alguns novos ajustes que vale a pena conhecer.

### 💥 Mudança disruptiva: workspace padrão movido para `~/.xalgorix/data/`

A saída de varredura, notas, agendamentos e outros artefatos gerados agora residem em `~/.xalgorix/data/` em vez de `$CWD` (o diretório a partir do qual o binário foi iniciado).

Para manter o comportamento anterior, aponte `XALGORIX_DATA_DIR` para o seu diretório de trabalho atual:```bash
export XALGORIX_DATA_DIR=$(pwd)

Um aviso [MIGRATION] é emitido na inicialização quando marcadores legados (notes.json, _schedules/, vulnerabilities.json ou diretórios YYYY-MM-DD/scan-*) são detectados em $CWD e XALGORIX_DATA_DIR não está definido. O Xalgorix nunca lê, copia ou exclui esses arquivos legados automaticamente; o aviso é informativo e só é disparado uma vez por processo.

🆕 Nova variável de ambiente

VariávelPadrãoDescrição
XALGORIX_LLM_MAX_INFLIGHT4 × EffectiveMaxInstancesLimita chamadas LLM de saída simultâneas em todos os scans em execução. Mínimo 1. Esperas canceladas não consomem um slot.

🩺 Novos contadores do endpoint de saúde

GET /api/status agora expõe:

CampoSignificado
panics_recoveredPanics de goroutine, handler HTTP e ferramentas que foram recuperados sem travar.
path_rejectionsEscritas no sistema de arquivos recusadas pelo Path_Policy (fora de data_dir / ~/.xalgorix/ / /tmp).
watchdog_killsSubprocessos encerrados pelo watchdog de timeout rígido por ferramenta.
admission_refusalsSolicitações de admissão de scan negadas devido ao teto de concorrência.
llm_inflight_capValor efetivo de XALGORIX_LLM_MAX_INFLIGHT para este processo.
data_dirData_Dir resolvido em uso.
allow_listRaízes do sistema de arquivos aceitas pelo Path_Policy.

🏃 Executando

🪟 Interface Web```bash

xalgorix --web

Abrir:```text
http://127.0.0.1:9137

Use uma porta diferente:```bash xalgorix --web --port 8080

### 🌐 Acesso Externo

Vincule a outra interface somente após habilitar a autenticação do dashboard:```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0

[!WARNING] O servidor recusa vinculação externa sem autenticação do dashboard.

🏹 CLI Scan```bash

xalgorix --target https://example.com

Com instruções personalizadas:```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."

🧰 Modo de Serviço

Instale e inicie como um serviço de sistema:```bash sudo xalgorix --start

Gerenciar o serviço:```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall

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

### 🌍 Acesso Remoto ao Serviço

Exponha o serviço a navegadores remotos somente após habilitar a autenticação do dashboard:```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

Em seguida, abra http://<server-ip>:9137.

Se o processo estiver escutando, mas a página ainda não carregar remotamente, permita a porta TCP 9137 no firewall do servidor ou no grupo de segurança da nuvem.

🏠 Escaneando alvos locais/internos

Por padrão, o Xalgorix se recusa a escanear loopback, localhost, faixas de endereços privados ou seus próprios endereços de interface — eles são a máquina na qual o Xalgorix é executado, não um alvo. Em uma máquina auto-hospedada e de inquilino único, você pode optar por escanear um aplicativo de demonstração/staging hospedado localmente:```bash echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env sudo xalgorix --restart

O próprio listener do dashboard é **sempre** protegido, mesmo com isto ativado.

> **⚠️ Implementações partilhadas / multi-inquilino / alojadas: mantenha isto DESLIGADO.** Ativá-lo
> permitiria que o scan de um utilizador alcançasse a própria máquina do operador e a rede interna.
> Está desligado por predefinição, por isso não é necessária qualquer ação para se manter seguro — não defina
> `XALGORIX_ALLOW_LOCAL_TARGETS` (nem fixe `XALGORIX_ALLOW_LOCAL_TARGETS=false`),
> e não exponha a página Settings do motor a utilizadores não confiáveis.

## 🔁 Fluxo de Trabalho da Web UI

1. Abra o dashboard em `http://127.0.0.1:9137`.
2. Vá a Settings e confirme o fornecedor de LLM, a chave de API, os limites de taxa e as integrações opcionais.
3. Crie um scan a partir de New Scan.
4. Escolha um modo de scan.
5. Selecione as fases da metodologia quando quiser uma execução focada.
6. Defina filtros de severidade quando apenas certas severidades devem ser reportadas em tempo real. O filtro afeta apenas o feed do dashboard em tempo real e as notificações; o relatório PDF e `/api/findings` incluem sempre todas as vulnerabilidades que o agente descobriu.
7. Adicione o nome da empresa e carregue um logótipo para relatórios com marca.
8. Monitorize o progresso a partir de Overview, Scan Detail ou Live Feed.
9. Abra os detalhes dos achados, descarregue relatórios ou faça a gestão de scans históricos a partir de Scans e Reports.

## 🔀 Modos de Scan

| Modo             | Melhor para                                                                        |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 Alvo único    | Testar um URL ou host conhecido.                                                  |
| 🌐 Wildcard / multi | Enumerar alvos relacionados e fazer scan da superfície de ataque descoberta.         |
| 🧭 DAST             | Testes assistidos por browser para aplicações web, fluxos de autenticação, formulários e comportamento em runtime. |

## 📂 Faça Scan ao Seu Código (sem alvo necessário)

Aponte o Xalgorix a uma base de código — um URL Git, um caminho local ou um zip carregado — e
ele faz scan diretamente ao código-fonte. Sem URL implementado, sem infraestrutura para 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 varredura de códigoO que fazNível de verificação
reviewLê o código-fonte, rastreia a entrada do usuário do ponto de entrada → sink perigoso e reporta vulnerabilidades alcançáveis. Sem alvo ativo.Verificado na fonte — comprovadamente alcançável no código (claramente rotulado como não explorado em tempo de execução).
provisionInspeciona o repositório, compila e executa o aplicativo em uma porta de loopback e, em seguida, executa DAST guiado por whitebox contra a instância em execução. Recorre ao review se o aplicativo não puder ser compilado.Verificado por exploração — reproduzido contra o aplicativo em execução.
  • --source aceita uma URL Git (clonada superficialmente), um diretório local ou um caminho para um arquivo enviado/extraído. Na interface Web / aplicativo hospedado, você também pode enviar um .zip do seu código-fonte (POST /api/upload-source).
  • Você ainda pode combinar um repositório e um alvo ativo para o clássico aumento whitebox — esse caminho permanece inalterado. Os modos de varredura de código são para quando o código-fonte é o assunto completo.

O modo provision executa os comandos de compilação/inicialização do seu aplicativo no sandbox do agente e só realiza pentest na única porta de loopback em que o aplicativo foi iniciado — o dashboard e todo o resto na máquina ficam fora do escopo.

🧭 Metodologia

O Xalgorix organiza os testes autônomos em 22 fases.

FaseFoco
1Reconhecimento
2Descoberta manual de vulnerabilidades
3Descoberta de diretórios e arquivos
4Análise de CORS e cookies
5Testes de autenticação e sessão
6Testes de injeção
7Testes de SSRF
8IDOR e controle de acesso quebrado
9Testes de API e GraphQL
10Testes de upload de arquivos
11Desserialização e RCE
12Condições de corrida e lógica de negócios
13Tomada de subdomínio
14Testes de redirecionamento aberto
15Testes de segurança de e-mail
16Nuvem e infraestrutura
17Testes de WebSocket
18Testes específicos de CMS
19Sequestro de links quebrados e falsificação de conteúdo
20Verificação de exploração
21Descoberta de vulnerabilidades inéditas
22Relatório final

A seleção de fases na interface Web permite executar todas as fases ou apenas o subconjunto necessário para um engajamento específico.

📄 Relatórios

Os relatórios são gerados como arquivos PDF e podem incluir:

SeçãoConteúdo incluído
📌 ResumoResumo executivo, metadados do alvo, metadados da varredura e visão geral da severidade.
🐞 AchadosAchados verificados, detalhes de CVSS, análise técnica e prova de exploração.
🔬 EvidênciasComandos de prova de conceito, scripts, notas de payload e observações de suporte.
🩹 RemediaçãoOrientação de correção e próximos passos priorizados.
🎨 BrandingNome da empresa/alvo e logotipo enviado.

Os relatórios estão disponíveis na página de detalhes da varredura e na página de Relatórios. As linhas de relatório suportam abertura, download e exclusão.

🔧 Configurações

A maioria das configurações operacionais pode ser alterada na interface Web em Configurações.

ÁreaExemplos
🤝 EngajamentoLimites de taxa de requisições do dashboard
🧠 LLMModelo, chave de API, base da API, esforço de raciocínio, tentativas, iterações máximas
📬 AgentMailPod e chave de API
🔔 NotificaçõesWebhook do Discord e severidade mínima, token do bot do Telegram, ID do chat, severidade mínima e resumos de conclusão de varredura opcionais
🕵️ ProxyURL do proxy, arquivo de proxy, rotação, verificação TLS
🧱 RuntimeWorkspace, caminho do navegador, controles de instalação automática
🔐 SegurançaNome de usuário do dashboard, senha, hash de senha, endereço de bind
📈 RecursosLimites de CPU/RAM/disco e orçamento de concorrência de varredura

Algumas configurações exigem reinicialização porque afetam a inicialização do processo ou o bind do servidor. A interface marca esses campos.

🧾 Variáveis de Ambiente

🧱 Núcleo

VariávelPadrãoDescrição
XALGORIX_LLMnenhumID de modelo nativo do provedor usado para requisições LLM.
XALGORIX_LLM_PROVIDERnenhumProvedor selecionado pelo dashboard, armazenado separadamente do ID do modelo.
XALGORIX_API_KEYnenhumChave de API do provedor LLM obrigatória.
XALGORIX_API_BASEpadrão do provedorURL base de API compatível com OpenAI personalizada.
XALGORIX_REASONING_EFFORThighEsforço de raciocínio: none, low, medium, high ou xhigh (xhigh mapeia para high no Ollama).
XALGORIX_LANGUAGEenIdioma de saída para texto gerado por IA (raciocínio do agente, notas, achados, conteúdo do relatório, chat pós-varredura). en ou zh-CN. Tokens técnicos (payloads, comandos, URLs, IDs CVE/CWE) sempre permanecem em sua forma original. Idiomas não latinos são renderizados no dashboard e no relatório HTML automaticamente.
XALGORIX_PDF_CJK_FONTnenhumCaminho absoluto para uma fonte TrueType (.ttf) com glifos CJK, usada para renderizar idiomas não latinos (por exemplo, chinês simplificado) no relatório PDF exportado. Apenas .ttf é suportado (não .ttc/.otf). Sem isso, o PDF recorre às fontes principais e glifos não latinos não serão renderizados (o relatório HTML não é afetado).
XALGORIX_OLLAMA_COMPATIBLEfalseAplica semântica de raciocínio do Ollama a um endpoint personalizado em uma porta não padrão. A porta 11434 é detectada automaticamente.
XALGORIX_LLM_MAX_RETRIES5Contagem de tentativas para falhas transitórias do LLM.
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT30Tempo limite em segundos para compressão de contexto.
XALGORIX_MAX_ITERATIONS0Limite de iterações do agente. 0 significa ilimitado.
XALGORIX_PPROF_ADDRnenhumProfiler Go opcional. Quando definido (por exemplo, 127.0.0.1:6060), inicia um servidor pprof autônomo em /debug/pprof/ nesse endereço para diagnóstico de CPU/heap. Desabilitado por padrão. Expõe detalhes internos do processo — vincule ao loopback e acesse via túnel SSH; nunca exponha publicamente.
GEMINI_API_KEYnenhumChave Gemini opcional para enriquecimento de pesquisa na web.

🔒 Web e Segurança

VariávelPadrãoDescrição
XALGORIX_BIND127.0.0.1Endereço de escuta do servidor web.
XALGORIX_ALLOW_LOCAL_TARGETSfalsePermite varredura de aplicativos hospedados localmente (localhost / 127.0.0.1 / IPs privados) em uma instalação auto-hospedada. O próprio listener do dashboard é sempre protegido. Deixe desativado em implantações compartilhadas/hospedadas.
XALGORIX_USERNAMEnenhumNome de usuário do dashboard.
XALGORIX_PASSWORDnenhumSenha do dashboard.
XALGORIX_PASSWORD_HASHnenhumHash de senha bcrypt preferido.
XALGORIX_WORKSPACEdiretório atualRaiz do workspace para execução de varredura.

🤝 Integrações

VariávelPadrãoDescrição
AGENTMAIL_PODnenhumIdentificador do pod AgentMail.
AGENTMAIL_API_KEYnenhumChave de API do AgentMail.
XALGORIX_DISCORD_WEBHOOKnenhumWebhook global do Discord.
XALGORIX_DISCORD_MIN_SEVERITYnenhumSeveridade mínima enviada ao Discord.
XALGORIX_TELEGRAM_BOT_TOKENnenhumToken do bot do Telegram do @BotFather.
XALGORIX_TELEGRAM_CHAT_IDnenhumID de chat/canal do Telegram (numérico ou @username).
XALGORIX_TELEGRAM_MIN_SEVERITYnenhumSeveridade mínima enviada ao Telegram.
XALGORIX_NOTIFY_SCAN_COMPLETEfalseEnvia resumos de fim de varredura para destinos Discord/Telegram configurados. Isso é opcional e não afeta alertas por vulnerabilidade.
CAIDO_PORT0Porta do proxy Caido. 0 significa detecção automática.
CAIDO_API_TOKENnenhumToken de API do Caido.

🚦 Limites de Taxa, Proxy e Runtime

VariávelPadrãoDescrição
XALGORIX_RATE_LIMIT_REQUESTS60Requisições do dashboard por janela.
XALGORIX_RATE_LIMIT_WINDOW60Janela de limite de taxa do dashboard em segundos.
XALGORIX_RATE_RPS10Taxa de requisições de saída sustentada.
XALGORIX_RATE_BURST20Tamanho de rajada de saída.
XALGORIX_USE_PROXYfalseHabilita roteamento por proxy.
XALGORIX_PROXY_REQUIREDfalseExige um proxy upstream para caminhos HTTP/navegador do alvo sem fallback direto.
XALGORIX_PROXY_URLnenhumURL de proxy única. Substitui o arquivo de proxy.
XALGORIX_PROXY_FILEnenhumArquivo contendo um proxy por linha.
XALGORIX_PROXY_ROTATIONroundrobinEstratégia de rotação de proxy: roundrobin ou random.
XALGORIX_TLS_SKIP_VERIFYfalseIgnora a verificação TLS para tráfego de teste.
XALGORIX_DISABLE_BROWSERfalseDesabilita a automação do navegador.
XALGORIX_BROWSER_PATHautoCaminho personalizado do executável Chrome/Chromium.
XALGORIX_ALLOW_AUTO_INSTALLsomente rootPermite instalação automática de pacotes.
XALGORIX_AUTO_INSTALL_SUDOfalsePermite instalações automáticas com prefixo sudo.

🔤 Prefixos de Provedor

Quando XALGORIX_API_BASE está vazio, o Xalgorix infere os padrões do provedor a partir do prefixo do modelo.

PrefixoBase de API padrão
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

Os nomes dos modelos não são fixados a esta lista. A página de Configurações aceita IDs de modelo digitados, para que modelos mais recentes dos provedores possam ser usados sem esperar por uma atualização do menu suspenso da interface.

💻 Referência da CLI

FlagAliasDescrição
--web-wInicia a interface Web.
--port <port>-pPorta da interface Web. Padrão: 9137.
--bind <addr>nenhumEndereço de bind. Padrão: 127.0.0.1.
--target <target>-tURL, host, IP ou caminho do alvo. Repetível.
--instruction <text>-iInstruções de varredura personalizadas.
--model <model>-mSubstitui XALGORIX_LLM para esta execução.
--update-upAtualiza para a versão mais recente.
--version-vImprime a versão.
--startnenhumInstala e inicia o serviço do sistema.
--stopnenhumPara o serviço do sistema.
--restartnenhumReinicia o serviço do sistema.
--uninstallnenhumRemove o serviço do sistema.
--help-hMostra a ajuda.

📡 Resumo da API

MétodoEndpointPropósito
POST/api/scanInicia ou salva uma varredura.
POST/api/stopPara todas as varreduras em execução.
GET/api/statusStatus global atual.
GET/api/scansLista varreduras.
GET/api/scans/:idObtém detalhes da varredura.
DELETE/api/scans/:idExclui uma varredura e seus dados de relatório.
GET/api/findingsLista todos os achados (deduplicados entre varreduras).
GET/api/findings/summaryContagem de severidade em todas as varreduras.
GET/api/report/:idBaixa um relatório PDF.
GET/api/instancesLista instâncias ativas e históricas.
GET/api/instances/:id/eventsObtém o histórico de eventos em buffer.
POST/api/instances/:id/stopPara uma instância específica.
POST/api/instances/:id/startInicia uma varredura salva ou concluída como uma nova execução.
POST/api/instances/:id/restartReinicia com a mesma configuração.
POST/api/instances/:id/pausePausa uma varredura em execução.
POST/api/instances/:id/resumeRetoma uma varredura pausada.
POST/api/upload-logoEnvia um logotipo de relatório.
POST/api/upload-targetsEnvia uma lista de alvos.
GET/api/settings/environmentLista configurações de ambiente editáveis.
POST/api/settings/environmentSalva configurações de ambiente.
GET/api/settings/llmObtém configurações de LLM.
POST/api/settings/llmSalva configurações de LLM.
GET/api/settings/agentmailObtém configurações do AgentMail.
POST/api/settings/agentmailSalva configurações do AgentMail.
GET/wsFluxo de eventos ao vivo via WebSocket.

💾 Armazenamento de Dados

Os dados de varredura no modo Web são armazenados em:```text ~/xalgorix-data/ |-- _saved/ |-- logos/ |-- queue_state.json -- <target>/ -- / -- <scan-id>/ |-- scan.json -- report.pdf

O servidor mantém registros históricos de varredura em disco para que a UI possa se recuperar após atualização ou reinicialização.

## 🧪 Desenvolvimento

| Tarefa                        | Comando                       |
| --------------------------- | ----------------------------- |
| 📦 Instalar dependências da Web UI | `make webui-install`          |
| 🔨 Compilar tudo            | `make build`                  |
| ✅ Executar testes                   | `go test ./...`               |
| 🖥️ Executar Web UI a partir do código-fonte      | `go run ./cmd/xalgorix --web` |
| ⚡ Executar servidor de desenvolvimento do frontend     | `make webui-dev`              |

## 🚨 Notas de Segurança

- Use o Xalgorix apenas contra alvos autorizados.
- Não execute testes ativos contra sistemas de terceiros sem permissão.
- Revise as instruções de varredura antes de iniciar.
- Configure limites de taxa e configurações de proxy para corresponder às regras do engajamento.
- Expor o dashboard externamente requer autenticação.
- A instalação automática está desabilitada por padrão para usuários não-root e deve ser habilitada apenas quando você confiar no ambiente.

## 📜 Licença

Xalgorix é distribuído sob a Apache License 2.0. Consulte [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE).

## 🔗 Links

| Recurso      | Link                                                                             |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ Hospedado (Cloud) | [www.xalgorix.com](https://www.xalgorix.com/)                                   |
| 📖 Documentação | [docs.xalgorix.com](https://docs.xalgorix.com)                                   |
| 🐛 Issues        | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ Suporte       | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord)                     |

Categorias