
Descoberta de vulnerabilidades orientada por IA e validação ao vivo
Um terminal de trabalho para descoberta de vulnerabilidades orientada por IA e validação ao vivo.

A maioria das ferramentas de "segurança com IA" para em sinalizar código que parece vulnerável. O RedAI vai além: depois que os agentes de varredura produzem achados candidatos, agentes validadores trabalham dentro de um ambiente ao vivo — uma instância em execução do alvo, mais as ferramentas necessárias para interagir com ele — e tentam provar ou refutar cada achado antes que ele apareça no relatório. Eles clicam na interface, acessam endpoints, escrevem scripts de prova de conceito (PoC), hospedam servidores auxiliares e salvam as evidências.
O ambiente é um plugin. O RedAI vem com dois — um navegador Chrome real e um Simulador iOS — e você pode criar o seu próprio (uma VM Linux, um emulador Android, um cluster Kubernetes, um shim de dispositivo embarcado) implementando uma interface pequena.
Ao final de uma execução, você obtém um relatório detalhado (Markdown, HTML e JSON) com achados classificados por severidade, passos de reprodução por achado, o veredito do validador (confirmado, refutado ou impossível de testar) e as evidências reais que os agentes coletaram — scripts PoC, transcrições HTTP, logs e capturas de tela — de modo que cada achado confirmado vem com prova, não apenas uma alegação. Veja examples/webapp/example-report.md ou examples/iosapp/example-report.md para exemplos reais.
Uso autorizado apenas. Use o RedAI apenas em software e ambientes que você possui ou está autorizado a avaliar. A saída dos agentes pode ser incompleta ou errada — revise os achados e as evidências antes de agir sobre eles.
O repositório inclui dois aplicativos de demonstração intencionalmente vulneráveis para que você possa ver o RedAI de ponta a ponta sem apontá-lo para seu próprio código: examples/webapp para o ambiente Navegador e examples/iosapp para o ambiente Simulador iOS.
# 1. instale o RedAI
bun install -g @kpolley/redai
# 2. inicie o alvo de demonstração em um terminal
cd examples/webapp && bun run dev # http://localhost:3000
# 3. inicie o RedAI em outro terminal
redai
No RedAI, crie um ambiente Navegador apontando para http://localhost:3000, faça login uma vez com exampleuser / examplepassword, marque-o como pronto, depois inicie uma varredura contra examples/webapp. Observe os validadores dirigirem o Chrome para confirmar achados reais.
O relatório completo de uma varredura real deste aplicativo está em examples/webapp/example-report.md — o GitHub renderiza inline para que você veja o que o RedAI produz sem executá-lo.
Via npm:
bun install -g @kpolley/redai
redai
Ou a partir de um checkout local:
git clone https://github.com/kpolley/redai.git
cd redai
bun install
bun run redai
O RedAI lê .env do diretório de trabalho quando credenciais são necessárias; variáveis de ambiente existentes no shell têm precedência.
Apenas uma chave de scanner é necessária — configure a que corresponde ao scanner que você planeja usar.
# Claude (escolha um)
ANTHROPIC_API_KEY=...
# ou Codex
OPENAI_API_KEY=...
Uma varredura precisa de duas coisas: um diretório de código-fonte e um ambiente de validação pronto — qualquer alvo ao vivo com o qual os agentes validadores irão interagir (um dos ambientes incluídos ou um que você adicionou).
pronto.Os agentes de scanner fazem triagem e sondam o código-fonte; os agentes validadores pegam os achados com aparência confirmada e os executam contra o ambiente ao vivo. O relatório é escrito em ~/.redai/runs/<runId>/report.md (e .html) quando a varredura termina.
Veja src/tui/README.md para atalhos de teclado.
Cada varredura passa por três fases:
confirmed, unable-to-test ou disproved.~/.redai/runs/<runId>/.Para o pipeline completo de nove estágios (pré-voo, modelagem de ameaças, priorização de arquivos, unidades de análise, varredura de unidade, agregação de achados, plano de validação, execução de validação, relatório), veja src/pipeline/README.md.
Um ambiente de validação é tudo o que um agente validador precisa para interagir com uma instância em execução do alvo. O RedAI trata ambientes como plugins: cada um implementa a pequena interface em src/validators/validator-plugin.ts, gerencia sua própria configuração/desmontagem e expõe as ferramentas que o agente deve ter dentro dele.
Novas varreduras só podem usar ambientes marcados como pronto. Uma vez que a varredura começa, os validadores fazem o que o plano pede — dirigem a interface, executam comandos de shell, escrevem scripts PoC, hospedam servidores auxiliares, coletam logs, salvam capturas de tela. Tudo isso vai para ~/.redai/runs/<runId>/artifacts/.

Dois ambientes são fornecidos como implementações de referência:
agent-browser. Veja src/validators/web-agent-browser/README.md.xcrun simctl. Veja src/validators/ios-simulator/README.md.Quer validar contra uma VM Linux, um emulador Android, um cluster de staging remoto ou algo mais exótico? Adicione um plugin — mesma interface dos dois incluídos.
O RedAI escreve estado local em ~/.redai/ (substitua com REDAI_HOME). Esses arquivos podem conter prompts derivados do código-fonte, transcrições de agentes, relatórios, evidências, credenciais, perfis de navegador e metadados de simulador.
Para a estrutura de diretórios, veja src/pipeline/README.md.
Comandos, organização do código e convenções do projeto estão em AGENTS.md. Para detalhes internos do pipeline, veja src/pipeline/README.md; para adicionar um novo ambiente validador, veja src/validators/validator-plugin.ts.
MIT — veja LICENSE.
| Escopo | Requisito |
|---|
| Núcleo | Bun ≥ 1.2, um diretório de código-fonte legível |
| Scanner (escolha um) | Claude: ANTHROPIC_API_KEY, CLAUDE_CODE_USE_BEDROCK, ou CLAUDE_CODE_USE_VERTEX — ou — Codex: OPENAI_API_KEY ou CODEX_API_KEY |
| Validador de navegador | Chrome, agent-browser, .agents/skills/agent-browser no espaço de trabalho alvo |
| Validador iOS | macOS, ferramentas de linha de comando do Xcode, xcrun simctl, um aplicativo compatível com simulador (ou ID de bundle instalado), .agents/skills/ios-simulator-skill no espaço de trabalho alvo |