Strumento di analisi statica del codice consapevole del framework per la revisione automatica del codice sorgente con regole specifiche per piattaforma, analisi del taint, stima dello sforzo e baseline di soppressione.
Author:
- Debasis Mohanty ([email protected])
- Twitter / X: @coffeensecurity
- www.coffeeandsecurity.com
Daksh SCRA (Source Code Review Assist) è progettato per migliorare l'efficienza del processo di revisione del codice sorgente, fornendo un approccio ben strutturato e organizzato per i revisori del codice.
Invece di segnalare indiscriminatamente tutto come potenziale problema, Daksh SCRA promuove un'analisi ponderata, sollecitando l'indagine e la conferma dei potenziali problemi. Questo approccio mitiga la corsa a etichettare ogni potenziale criticità come bug, riducendo la confusione e il tempo sprecato sui falsi positivi.
Daksh SCRA è stato inizialmente introdotto durante una sessione di formazione sulla revisione del codice sorgente al Black Hat USA 2022 (6-9 agosto), dove è stato presentato in modo discreto a un pubblico specifico. Il suo debutto pubblico ufficiale ha avuto luogo al Black Hat USA 2023 a Las Vegas.
DakshSCRA riunisce capacità distintive per la revisione manuale del codice sorgente, dalle aree di interesse basate sul percorso dei file alla stima dell'impegno, fino alla ricognizione del software, alle regole contestuali e all'analisi cross-file.
| Caratteristica | Tag | Perché è importante |
|---|---|---|
| Aree di interesse basate sul percorso dei file | World's First* | Analizza i nomi dei file e delle directory stessi, insieme al codice, per segnalare percorsi sospetti come file di backup, endpoint di debug, dump di configurazione e file di credenziali che i revisori spesso trascurano. |
| Stima scientifica dell'impegno | World's First* | Produce una stima quantificata dell'impegno di revisione manuale basata sulla dimensione del codebase e sui segnali del progetto. Assunzioni configurabili rendono la pianificazione dell'engagement esplicita e ripetibile. |
| Aree di interesse, non segnalazioni di bug | Reviewer in Control | Fa emergere pattern che meritano un'indagine invece di etichettare ogni corrispondenza come vulnerabilità. Regole contestuali ed evidenze di soppressione riducono il rumore nel triage e mantengono il revisore al controllo. |
| Ricognizione del software | Integrated Software Recon | Rileva linguaggi, framework e infrastrutture dai contenuti dei file e dalla struttura del progetto prima della scansione. Collega l'inventario tecnologico alla selezione automatica delle regole, all'analisi semantica e alla pianificazione della revisione. |
| Regole condizionali RDL | Advanced Conditional Rules | Va oltre la semplice regex con PRESENT, MISSING, espressioni booleane e condizioni su file/percorso. RDL v1 registra decisioni e motivi di soppressione; RDL v2 aggiunge servizi semantici tipizzati ed evidenze cross-file delimitate. |
| Analisi semantica avanzata e cross-file | Built from the Ground Up | Traccia i dati controllati dall'utente dalla sorgente al sink attraverso i confini dei file supportati utilizzando un'analisi appositamente sviluppata. Advanced Analysis è stata rilasciata insieme all'RDL originale a marzo 2026; RDL v2 estende la valutazione delle regole semantiche tra i file. |
| Scansione automatica indipendente dalla piattaforma | Automatic Multi-Platform | Usa -r auto per scansionare progetti a tecnologia mista senza scegliere in anticipo un singolo linguaggio. La ricognizione seleziona automaticamente le regole delle piattaforme e dei framework supportati. Introdotta nella v0.23-beta, novembre 2024. |
| Logica di sicurezza specifica dell'applicazione | Custom RDL Packs | Codifica i confini di fiducia dell'applicazione, le decisioni di autorizzazione e le invarianti di business in pacchetti RDL personalizzati opzionali. La logica specifica del progetto viene eseguita insieme alle regole di scansione generiche. |
| Evidenze interattive testuali e grafiche | Follow the Evidence | Segui i percorsi sorgente-sink registrati nelle viste collegate Text e Graph. Estratti del codice sorgente, corsie dei file e dettagli di handoff rendono più facile ispezionare le evidenze cross-file. |
| Ciclo di vita della revisione e report portatili | Review, Resume and Export | Conserva la cronologia delle scansioni, le soppressioni della revisione e riprendi le scansioni interrotte. Esporta HTML, PDF, Word modificabile e JSON tramite report condivisi da CLI e Web UI, con navigazione offline delle evidenze ove disponibile. |