
noir v1.3.1
Dai la caccia a ogni Endpoint nel tuo codice, scopri le Shadow API, mappa la superficie d'attacco.
Caccia ogni Endpoint nel tuo codice, esponi le Shadow API, mappa la superficie di attacco.
Documentazione • Installazione • Utilizzo • Github Action • Contribuire • Changelog
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. Shadow API, route deprecate e handler non documentati emergono come parte dello stesso inventario; non sono una modalità separata.
L'inventario serve 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 ottengono lo stesso elenco mirato, più il contesto di revisione per ogni endpoint (
--include calleeper i callee a 1 hop,--ai-contextper guard, sink, validator e signal). - Strumenti DAST. ZAP, Burp Suite, Caido e Gori ottengono una vera lista di route da scansionare, inclusi percorsi che non avrebbero mai raggiunto tramite crawling.
Cosa fa Noir
- Estrazione degli endpoint. Analisi statica su 206 framework. Restituisce endpoint, parametri, header, cookie e i file sorgente da cui provengono.
- Fallback LLM. Affida framework non supportati (o 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 lo strumento successivo nella pipeline.
- Integrazione DAST. Collega direttamente a ZAP, Burp Suite, Caido o Gori come proxy target, oppure esporta OpenAPI per far sì che 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-contextva oltre e allega a ogni endpoint un contesto di revisione aggregato — guard, callee, sink, validator e signal — così l'LLM non deve riscoprirli. - CI/CD. GitHub Action, output SARIF, exit code — si integra nella pipeline che già utilizzi.
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 di documentazione.
Roadmap
Noir è nato come supporto al WhiteBox testing: estrarre gli endpoint dal sorgente così che il DAST possa scansionarli con maggiore accuratezza. Il lavoro è cresciuto — lo stesso inventario ora serve anche agli auditor umani e agli agenti AI SAST. L'obiettivo da qui in avanti è servire ugualmente bene tutti e tre i consumatori: gli umani che revisionano il codice, gli LLM che lo analizzano e gli strumenti DAST che lo scansionano.
Da qui in avanti:
- Ampliare la copertura di linguaggi e framework; mantenere l'accuratezza onesta con fixture per framework.
- Puntare maggiormente sugli LLM per i casi che l'analisi statica non riesce a coprire.
- Arricchire il contesto di revisione per ogni endpoint (guard, callee, sink, validator, signal) 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, proxy target e passaggi diretti a ZAP / Burp / Caido / Gori.
Progetto OWASP
OWASP Noir è entrato a far parte della OWASP Foundation a giugno 2024.
- Pagina ufficiale del progetto: https://owasp.org/projects/noir
- OWASP Nest: https://nest.owasp.org/projects/noir
Notizie e aggiornamenti
- Maggio 2026: Rilasciata la v1.0.0 — introduce una linea stabile 1.x per tutti gli analyzer, i tagger, il passive-scan e una nuovissima struttura CLI incentrata sui verbi.
- Maggio 2026: Aggiornata la roadmap — l'obiettivo di Noir è ora servire ugualmente bene umani, auditor AI e strumenti DAST come consumatori dello stesso inventario di endpoint.
- Agosto 2025: Presentato all'OWASP Seoul Meetup. (Open Source Gardening)
- Novembre 2024: Pubblicato un guest blog post "Powering Up DAST with ZAP and Noir" sul blog di ZAP.
- Giugno 2024: Entrato in OWASP come OWASP Noir
- Rinominata l'organizzazione GitHub da noir-cr a owasp-noir
- Passaggio alla co-leadership con @ksg97031
- Novembre 2023: Spostato il repository Noir nell'organizzazione GitHub noir-cr.
- Agosto 2023: Avviato come progetto personale di @hahwul.
Core Team
Contribuire
Noir è un progetto open-source fatto con ❤️. Se desideri contribuire, consulta CONTRIBUTING.md e invia una Pull Request.