
Scoperta di vulnerabilità guidata dall'IA e validazione in tempo reale
Un banco di lavoro terminale per la scoperta di vulnerabilità guidata dall'IA e la validazione live.

La maggior parte degli strumenti di "sicurezza IA" si ferma a segnalare codice che sembra vulnerabile. RedAI va oltre: dopo che gli agenti scanner producono risultati candidati, gli agenti validatori lavorano in un ambiente live — un'istanza in esecuzione del target, più gli strumenti necessari per interagire con esso — e cercano di provare o confutare ogni risultato prima che appaia nel report. Cliccano attraverso l'interfaccia, colpiscono endpoint, scrivono script PoC, ospitano server helper e salvano le prove.
L'ambiente è un plugin. RedAI include due — un vero browser Chrome e un simulatore iOS — e puoi scrivere il tuo (una VM Linux, un emulatore Android, un cluster Kubernetes, uno shim per dispositivi embedded) implementando una piccola interfaccia.
Alla fine di un'esecuzione ottieni un report dettagliato (Markdown, HTML e JSON) con risultati ordinati per gravità, passaggi di riproduzione per ogni risultato, il verdetto del validatore (confermato, confutato o impossibile da testare), e le prove effettive raccolte dagli agenti — script PoC, trascrizioni HTTP, log e screenshot — così ogni risultato confermato ha una prova, non solo un'affermazione. Vedi examples/webapp/example-report.md o examples/iosapp/example-report.md per esempi reali.
Solo uso autorizzato. Usa RedAI su software e ambienti di tua proprietà o per cui sei autorizzato a valutare. L'output degli agenti può essere incompleto o errato — rivedi i risultati e le prove prima di agire su di essi.
Il repository include due app demo intenzionalmente vulnerabili così puoi vedere RedAI end-to-end senza puntarlo al tuo codice: examples/webapp per l'ambiente Browser e examples/iosapp per l'ambiente Simulatore iOS.
# 1. install RedAI
bun install -g @kpolley/redai
# 2. start the demo target in one terminal
cd examples/webapp && bun run dev # http://localhost:3000
# 3. start RedAI in another terminal
redai
In RedAI, crea un ambiente Browser puntato a http://localhost:3000, accedi una volta con exampleuser / examplepassword, contrassegnalo come pronto, poi avvia una scansione su examples/webapp. Guarda i validatori guidare Chrome per confermare risultati reali.
Il report completo di una scansione reale di questa app si trova in examples/webapp/example-report.md — GitHub lo renderizza inline così puoi vedere cosa produce RedAI senza eseguirlo.
Da npm:
bun install -g @kpolley/redai
redai
Oppure da un checkout locale:
git clone https://github.com/kpolley/redai.git
cd redai
bun install
bun run redai
RedAI legge .env dalla directory di lavoro quando sono necessarie credenziali; le variabili d'ambiente esistenti hanno la precedenza.
È richiesta solo una chiave scanner — imposta quella che corrisponde allo scanner che intendi usare.
# Claude (pick one)
ANTHROPIC_API_KEY=...
# or Codex
OPENAI_API_KEY=...
Una scansione necessita di due cose: una directory sorgente e un ambiente di validazione pronto — qualunque target live con cui gli agenti validatori interagiranno (uno degli ambienti inclusi o uno che hai aggiunto).
ready.Gli agenti scanner triage e analizzano il codice; gli agenti validatori prendono i risultati che sembrano confermati e li eseguono contro l'ambiente live. Il report viene scritto in ~/.redai/runs/<runId>/report.md (e .html) quando la scansione termina.
Vedi src/tui/README.md per le scorciatoie da tastiera.
Ogni scansione attraversa tre fasi:
confirmed, unable-to-test o disproved.~/.redai/runs/<runId>/.Per la pipeline completa a nove fasi (preflight, modello di minaccia, prioritizzazione file, unità di analisi, scansione unità, aggregazione risultati, piano di validazione, esecuzione validazione, reportistica), vedi src/pipeline/README.md.
Un ambiente di validazione è tutto ciò di cui un agente validatore ha bisogno per interagire con un'istanza in esecuzione del target. RedAI tratta gli ambienti come plugin: ciascuno implementa la piccola interfaccia in src/validators/validator-plugin.ts, gestisce il proprio setup/teardown ed espone gli strumenti che l'agente dovrebbe avere al suo interno.
Le nuove scansioni possono usare solo ambienti contrassegnati come ready. Una volta che una scansione inizia, i validatori fanno tutto ciò che il piano richiede — guidare l'interfaccia, eseguire comandi shell, scrivere script PoC, ospitare server helper, raccogliere log, salvare screenshot. Tutto finisce in ~/.redai/runs/<runId>/artifacts/.

Due ambienti sono inclusi come implementazioni di riferimento:
agent-browser. Vedi src/validators/web-agent-browser/README.md.xcrun simctl. Vedi src/validators/ios-simulator/README.md.Vuoi validare contro una VM Linux, un emulatore Android, un cluster di staging remoto o qualcosa di più esotico? Aggiungi un plugin — stessa interfaccia dei due inclusi.
RedAI scrive stato locale sotto ~/.redai/ (sostituibile con REDAI_HOME). Questi file possono contenere prompt derivati dal codice sorgente, trascrizioni degli agenti, report, prove, credenziali, profili browser e metadati del simulatore.
Per la struttura delle directory, vedi src/pipeline/README.md.
Comandi, organizzazione del codice e convenzioni di progetto si trovano in AGENTS.md. Per i dettagli interni della pipeline vedi src/pipeline/README.md; per aggiungere un nuovo ambiente validatore vedi src/validators/validator-plugin.ts.
MIT — vedi LICENSE.
| Ambito | Requisito |
|---|
| Core | Bun ≥ 1.2, una directory sorgente leggibile |
| Scanner (scegli uno) | Claude: ANTHROPIC_API_KEY, CLAUDE_CODE_USE_BEDROCK, o CLAUDE_CODE_USE_VERTEX — oppure — Codex: OPENAI_API_KEY o CODEX_API_KEY |
| Validatore Browser | Chrome, agent-browser, .agents/skills/agent-browser nella workspace target |
| Validatore iOS | macOS, strumenti da riga di comando Xcode, xcrun simctl, un'app compatibile con il simulatore (o bundle ID installato), .agents/skills/ios-simulator-skill nella workspace target |