Salta ai contenuti

Strix - Foglio di aiuto per l'agente di penetration testing basato su IA

Strix - Foglio di aiuto per l’agente di penetration testing basato su IA

Strix è uno strumento penetration testing basato su IA open-source che opera come un ricercatore di sicurezza piuttosto che come uno scanner statico. Invece di eseguire il pattern matching del codice sorgente, esegue dinamicamente l’applicazione di destinazione, interagisce con essa, sonda le vulnerabilità e convalida ogni risultato con un exploit proof-of-concept funzionante. Questo step di convalida è il differenziale: i risultati vengono forniti con prove che sono effettivamente sfruttabili, il che riduce il rumore dei falsi positivi che rende costoso il triage dell’output degli scanner tradizionali.

Solo test autorizzati. Strix attacca attivamente l’obiettivo e genera exploit funzionanti. Utilizzalo esclusivamente su sistemi che possiedi o per i quali hai un’autorizzazione scritta esplicita. L’uso non autorizzato è illegale.

Installazione

MetodoComando
pippip install strix-agent
Dockerdocker run -it strixagent/strix
Dal codice sorgentegit clone https://github.com/usestrix/strix && pip install -e .
Chiave LLMexport OPENAI_API_KEY=... (o un altro provider)
Verificastrix --version

Utilizzo principale

ComandoDescrizione
strix --target ./repoTesta una base di codice locale
strix --target https://staging.example.comTesta un’applicazione in esecuzione
strix --target ./repo --instruction "focus on auth"Guida l’agente
strix --helpElenco completo delle opzioni

Come funziona

FaseCosa fa l’agente
ReconMappa l’app: route, input, superfici di autenticazione
HypothesisRagiona sulle probabili classi di vulnerabilità
ExploitCrea e invia veri payload
ValidateConferma l’impatto con un PoC funzionante
ReportDocumenta il risultato + passaggi di riproduzione

La fase di convalida è ciò che distingue Strix da uno scanner: un risultato emerge solo se l’agente è riuscito effettivamente a attivarlo.

Classi di vulnerabilità

ClasseEsempi
InjectionSQLi, command injection, SSTI
XSSReflected, stored, DOM-based
Access controlIDOR, privilege escalation, broken authz
SSRFAccesso ai servizi interni
Business logicAbuso del flusso di lavoro che uno scanner non può modellare
AuthGestione della sessione, difetti del token

Controlli di ambito e sicurezza

ControlloScopo
Obiettivo esplicitoSolo l’obiettivo dichiarato è testato
Esecuzioni in sandboxEsegui l’agente in un contenitore isolato
Modalità di sola letturaLimita le azioni distruttive dove supportato
Rate limitingEvita di sovraccaricare l’obiettivo
Rivedi i PoCIspeziona sempre gli exploit generati prima del riutilizzo

Esegui Strix contro staging, non produzione, e circoscrivi l’uscita di rete dal contenitore.

Workflow comuni

# Valuta un'implementazione di staging che possiedi
strix --target https://staging.internal.example.com

# Revisione mirata di un modulo di autenticazione
strix --target ./app --instruction "audit the login and session handling"

# Esegui all'interno di un contenitore per l'isolamento
docker run --rm -it -e OPENAI_API_KEY strixagent/strix \
  --target https://staging.example.com

Lettura dell’output

CampoSignificato
FindingLa classe di vulnerabilità e la posizione
PoCLa richiesta/payload concreto che l’ha attivato
ImpactCosa guadagna un attaccante
ReproductionPassaggi per confermare manualmente

Poiché ogni risultato include un PoC, il triage diventa verifica piuttosto che investigazione.

Strix vs Strumenti tradizionali

AspettoStrixSAST (Semgrep)DAST (ZAP)
MetodoAgente IA, dinamico + convalidatoPattern matching staticoCrawl + attack
Falsi positiviBasso (PoC-validato)Più altoMedio
Business logicSì (ragiona sull’intenzione)NoLimitato
VelocitàPiù lento (agentico)VeloceMedio
Migliore perValutazione convalidata in profonditàCopertura ampia del codiceDAST a livello di app

Complementare piuttosto che sostitutivo: utilizza Semgrep per l’ampiezza, ZAP per il DAST di crawling, e Strix per la profondità convalidata.

Risorse