
grep rough audit - Quellcode-Audit-Tool
graudit ist ein einfaches Skript und Signatur-Sets, mit denen du potenzielle Sicherheitslücken im Quellcode mithilfe des GNU-Dienstprogramms grep finden kannst. Es ist vergleichbar mit anderen Anwendungen zur statischen Analyse wie RATS, SWAAT und flaw-finder, während die technischen Anforderungen minimal gehalten werden und es sehr flexibel ist.
Die Installation kann als Benutzer oder global als root erfolgen; führe einfach make mit dem Argument userinstall oder install aus. Es wird jedoch empfohlen, graudit direkt durch Klonen des Git-Repositories zu verwenden, da es zusätzliche Datenbankregeln enthält, die nicht in den Distributionsdateien enthalten sind. Dadurch erhältst du auch Updates zwischen den Releases. Führe dazu den folgenden Befehl aus:
git clone https://github.com/wireghoul/graudit
Anschließend kannst du graudit zu deinem Pfad hinzufügen, indem du die entsprechenden Werte für deine bevorzugte Shell verwendest:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Wenn graudit nicht in deinem Home-Verzeichnis liegt, möchtest du
möglicherweise die Umgebungsvariable GRDIR auf das Signaturverzeichnis in
deiner .bashrc-Datei setzen.
export GRDIR=/path/to/graudit/signatures
graudit unterstützt mehrere Optionen und versucht, gute Shell-Praktiken einzuhalten. Eine Liste der Optionen erhältst du mit graudit -h oder siehe unten. Die einfachste Art, graudit zu verwenden, ist:
graudit [opts] /path/to/scan
OPTIONS
-d <dbname> database to use or /path/to/file.db (uses default if not specified)
-A scan unwanted and difficult (ALL) files
-x exclude these files (comma separated list: -x *.js,*.sql)
-i case in-sensitive scan
-c <num> number of lines of context to display before and after a match, default is 1
-B suppress banner
-L vim friendly lines
-b colour blind friendly template
-z suppress colors
-Z high contrast colors
-l lists databases available
-v prints version number
-h prints this help screen
Du kannst Standard-Kommandozeilenoptionen über die Umgebungsvariable GRARGS festlegen. Dies kann die Verwendung von graudit in Skripten beeinflussen, daher wird für diesen Zweck nur die Verwendung der Optionen B, L, b, z und Z empfohlen.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit verwendet erweiterte reguläre Ausdrücke (POSIX) als Signaturen und wird mit mehreren einsatzbereiten Datenbanken geliefert. Du kannst die vorhandenen Datenbanken erweitern oder eigene erstellen, wenn du zusätzliche Signaturen benötigst.
Datenbanken können von mehreren Orten geladen werden; die Rangfolge ist wie folgt:
Eine Liste der Datenbankdateien in der Rangfolge wird mit dem Schalter -l
angezeigt:
graudit -l
Die folgenden Datenbanken sind enthalten:
Ein Tutorial-/Einführungsvideo findest du unter: https://youtu.be/b8Xbzer1n94
Wenn du zu graudit beitragen möchtest, forke bitte das Repository unter https://github.com/wireghoul/graudit und verwende dieses. Insbesondere Sprachregeln, zusätzliche Skripte und Dokumentationsbeiträge sind sehr willkommen. Wenn dir graudit gefällt, dann sag bitte Danke und teile es weiter.
Wenn du mit mir Kontakt aufnehmen möchtest, schreib mir eine Nachricht auf GitHub @wireghoul.