Noir è uno strumento SAST che legge il codice sorgente ed estrae gli endpoint esposti da un'applicazione — percorsi, metodi, parametri, header, cookie e i file sorgente che li contengono. Le Shadow API, le route deprecate e i gestori non documentati emergono come parte dello stesso inventario; non sono una modalità separata.
L'inventario si rivolge a tre tipi di utenti:
Revisori umani. Gli ingegneri della sicurezza e gli auditor del codice ottengono un elenco mirato di entrypoint raggiungibili da un attaccante — percorsi, parametri, file sorgente, tag — invece di dover scorrere l'intero repository.
Auditor AI. Gli agenti SAST basati su LLM ricevono lo stesso elenco mirato, più un contesto di revisione per ogni endpoint (--include callee per i callee a 1 hop, --ai-context per guard, sink, validatori e segnali).
Strumenti DAST. ZAP, Burp Suite, Caido e Gori ottengono un elenco reale di route da scansionare, inclusi percorsi che non avrebbero mai raggiunto tramite crawling.
Cosa fa Noir
Estrazione degli endpoint. Analisi statica su 261 framework. Restituisce endpoint, parametri, header, cookie e i file sorgente da cui provengono.
Fallback LLM. Affida i framework non supportati (o un routing personalizzato una tantum) a OpenAI / Ollama / ecc. quando le regole statiche non si applicano.
Output per la fase successiva. JSON, YAML, OpenAPI, SARIF, cURL, Postman, HTML — qualunque formato legga il prossimo strumento della pipeline.
Integrazione DAST. Invia direttamente a ZAP, Burp Suite, Caido o Gori come target proxy, oppure esporta OpenAPI perché lo importino.
Contesto AI SAST. L'inventario degli endpoint (e, con --include callee, le funzioni a 1 hop invocate da ciascun handler) è il contesto mirato di cui un auditor LLM ha bisogno per trovare bug raggiungibili da un attaccante. --ai-context va oltre e allega un contesto di revisione aggregato per ogni endpoint — guard, callee, sink, validatori e segnali — così l'LLM non deve riscoprirli.
CI/CD. GitHub Action, output SARIF, codici di uscita — si integra nella pipeline che già usi.
Utilizzo
noir -h
Esempio
noir scan <source_dir>
Se lo usi con Github Action, fai riferimento a questo documento .
Per maggiori dettagli, visita la nostra pagina documentazione.
Roadmap
Noir è nato come supporto al testing WhiteBox: estrarre gli endpoint dal codice sorgente così che DAST possa scansionarli con maggiore accuratezza. Il lavoro è cresciuto — lo stesso inventario ora alimenta anche auditor umani e agenti SAST basati su AI. L'obiettivo da qui in avanti è servire ugualmente bene tutti e tre i consumatori: gli esseri umani che revisionano il codice, gli LLM che lo analizzano e gli strumenti DAST che lo scansionano.
Da qui:
Ampliare la copertura di linguaggi e framework; mantenere l'accuratezza onesta con fixture per ogni framework.
Fare maggior affidamento sugli LLM per i casi che l'analisi statica non riesce a raggiungere.
Arricchire il contesto di revisione per endpoint (guardie, funzioni chiamate, sink, validatori, segnali) così che i revisori umani e gli auditor AI condividano la stessa vista mirata di ciascun handler.
Mantenere l'integrazione DAST di prim'ordine — OpenAPI, target proxy e passaggi diretti a ZAP / Burp / Caido / Gori.
Progetto OWASP
OWASP Noir è entrato a far parte della OWASP Foundation a giugno 2024.
Maggio 2026: Rilasciata la v1.0.0 — introduce una linea 1.x stabile per tutti gli analizzatori, i tagger, la scansione passiva e una struttura CLI completamente nuova incentrata sui verbi.
Maggio 2026: Aggiornata la roadmap — l'obiettivo di Noir ora è servire ugualmente esseri umani, auditor AI e strumenti DAST come consumatori dello stesso inventario di endpoint.