
grep rough audit - strumento di auditing del codice sorgente
graudit è un semplice script e set di firme che consente di trovare potenziali vulnerabilità di sicurezza nel codice sorgente utilizzando l'utility GNU grep. È paragonabile ad altre applicazioni di analisi statica come RATS, SWAAT e flaw-finder, mantenendo al minimo i requisiti tecnici ed essendo molto flessibile.
L'installazione può essere effettuata come utente o globalmente come root; basta eseguire make con l'argomento userinstall o install. Si consiglia tuttavia di utilizzare graudit direttamente clonando il repository git, poiché include regole di database aggiuntive non presenti nei file di distribuzione. Ciò consente anche di ottenere aggiornamenti tra le release. Per farlo, esegui il seguente comando:
git clone https://github.com/wireghoul/graudit
Puoi quindi aggiungere graudit al tuo PATH, utilizzando i valori appropriati per la tua shell preferita:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Se graudit non si trova nella tua home directory, potresti voler impostare la variabile d'ambiente GRDIR
sulla directory delle firme nel tuo file .bashrc.
export GRDIR=/path/to/graudit/signatures
graudit supporta diverse opzioni e cerca di seguire le buone pratiche di shell. Per un elenco delle opzioni puoi eseguire graudit -h o vedere sotto. Il modo più semplice per usare graudit è:
graudit [opts] /path/to/scan
OPZIONI
-d <dbname> database da utilizzare o /path/to/file.db (usa quello predefinito se non specificato)
-A esegui la scansione di file indesiderati e difficili (TUTTI)
-x escludi questi file (elenco separato da virgole: -x *.js,*.sql)
-i scansione senza distinzione tra maiuscole e minuscole
-c <num> numero di righe di contesto da visualizzare prima e dopo una corrispondenza, predefinito 1
-B sopprime il banner
-L righe compatibili con vim
-b modello per daltonici
-z sopprime i colori
-Z colori ad alto contrasto
-l elenca i database disponibili
-v stampa il numero di versione
-h stampa questa schermata di aiuto
È possibile impostare opzioni predefinite della riga di comando tramite la variabile d'ambiente GRARGS. Ciò potrebbe influenzare l'uso di graudit negli script, quindi si consiglia di utilizzare solo le opzioni B, L, b, z e Z per questo scopo.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit utilizza espressioni regolari estese (POSIX) come firme e viene fornito con diversi database pronti all'uso. È possibile estendere i database esistenti o crearne di propri se sono necessarie firme aggiuntive.
I database possono essere caricati da più posizioni; l'ordine di precedenza è il seguente:
Un elenco dei file di database in ordine di precedenza viene mostrato con l'opzione -l:
graudit -l
I seguenti database sono inclusi:
Un video tutorial/introduttivo è disponibile all'indirizzo: https://youtu.be/b8Xbzer1n94
Se desideri contribuire a graudit, per favore fai un fork del repository su https://github.com/wireghoul/graudit e usalo. In particolare, regole linguistiche, script aggiuntivi e contributi alla documentazione sono molto graditi. Se ti piace graudit, per favore ringrazia e condividilo.
Se desideri contattarmi, mandami un messaggio su GitHub o Twitter: @wireghoul