
CQ, a code security scanner
Code Query, uno strumento universale di scansione della sicurezza del codice.
CQ esegue la scansione del codice alla ricerca di vulnerabilità di sicurezza e altri elementi di interesse per i revisori del codice focalizzati sulla sicurezza. Genera file di testo contenenti riferimenti ai problemi trovati, in una directory di output. Questi file di output possono poi essere esaminati, filtrati con strumenti da riga di comando unix come grep, o utilizzati come mezzo per 'saltare' all'interno del codebase al riferimento file:riga specificato.
Una modalità d'uso popolare consiste nel considerare i file di output come una lista 'todo', eliminando i riferimenti man mano che vengono esaminati e considerati falsi positivi, oppure copiando i riferimenti in un file di report per esaminarli in dettaglio o per fornire la base per un bug report.
Lo strumento è estremamente semplice, in gran parte manuale, e presuppone una conoscenza approfondita delle vulnerabilità della sicurezza applicativa e del code review. Ha però il vantaggio di essere relativamente veloce e affidabile, e di funzionare anche quando è disponibile solo codice parziale.
CQ è Code Query, o Sécurité, o CQD, o "Seek You".
CQ è pensato per essere utilizzato in un contesto di code review di sicurezza da esperti umani. Non è pensato per l'uso in scenari automatizzati, anche se potrebbe essere applicato in quel contesto.
CQ genera file di testo semplice, in genere con un risultato per riga, utilizzando la convenzione percorso completo:numero di riga per rappresentare le posizioni nel codebase. Questo formato viene utilizzato per consentire una facile manipolazione con gli strumenti standard della riga di comando unix, come grep, wc, sed e simili, e con le funzionalità basate su righe di molti editor come vi, Sublime Text, Atom e Visual Studio Code.
L'attenzione nel segnalare tutti gli elementi di interesse produce uno strumento che troverà molti punti di interesse in quasi tutti i codebase, ma che segnalerà anche un gran numero di 'falsi positivi'. Questi falsi positivi possono essere rimossi dai risultati sia tramite ispezione che in modo automatizzato, grazie al metodo di segnalazione basato su righe.
Non viene fornita alcuna o quasi spiegazione dei problemi; si presuppone che tu sia a conoscenza del contesto, dell'impatto e delle caratteristiche dei problemi segnalati.