
grep rough audit - Quellcode-Audit-Tool
graudit ist ein einfaches Skript und Signatursätze, mit denen Sie potenzielle Sicherheitslücken im Quellcode mithilfe des GNU-Dienstprogramms grep finden können. Es ist mit anderen statischen Analyseanwendungen wie RATS, SWAAT und flaw-finder vergleichbar, hält die technischen Anforderungen jedoch minimal und ist sehr flexibel.
Die Installation kann als Benutzer oder global als root erfolgen, einfach make mit dem userinstall- oder install-Argument ausführen. Es wird jedoch empfohlen, graudit direkt durch Klonen des Git-Repositorys zu verwenden, da es zusätzliche Datenbankregeln enthält, die nicht in den Distributionsdateien enthalten sind. Dies ermöglicht Ihnen auch, Updates zwischen den Versionen zu erhalten. Führen Sie dazu den folgenden Befehl aus:
git clone https://github.com/wireghoul/graudit
Sie können dann graudit zu Ihrem Pfad hinzufügen, indem Sie die entsprechenden Werte für Ihre bevorzugte Shell verwenden:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Wenn sich graudit nicht in Ihrem Home-Verzeichnis befindet, können Sie die GRDIR-Umgebungsvariable
in Ihrer .bashrc-Datei auf das Signaturverzeichnis setzen.
export GRDIR=/pfad/zu/graudit/signatures
graudit unterstützt mehrere Optionen und versucht, gute Shell-Praktiken zu befolgen. Eine
Liste der Optionen erhalten Sie mit graudit -h oder siehe unten. Die einfachste Art,
graudit zu verwenden, ist:
graudit [opts] /pfad/zum/scan
OPTIONEN
-d <dbname> zu verwendende Datenbank oder /pfad/zu/datei.db (verwendet Standard, wenn nicht angegeben)
-A unerwünschte und schwierige (ALLE) Dateien scannen
-x diese Dateien ausschließen (kommagetrennte Liste: -x *.js,*.sql)
-i Groß-/Kleinschreibung ignorieren
-c <num> Anzahl der anzuzeigenden Kontextzeilen vor und nach einem Treffer, Standard ist 1
-B Banner unterdrücken
-L vim-freundliche Zeilen
-b farbenblindfreundliche Vorlage
-z Farben unterdrücken
-Z hohe Kontrastfarben
-l listet verfügbare Datenbanken auf
-v gibt die Versionsnummer aus
-h zeigt diese Hilfe an
Sie können Standard-Befehlszeilenoptionen über die Umgebungsvariable GRARGS festlegen. Dies kann die Verwendung von graudit in Skripten beeinflussen, daher wird empfohlen, nur die Optionen B, L, b, z und Z für diesen Zweck zu verwenden.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit verwendet erweiterte reguläre Ausdrücke (POSIX) als Signaturen und wird mit mehreren einsatzbereiten Datenbanken ausgeliefert. Sie können die vorhandenen Datenbanken erweitern oder eigene erstellen, wenn Sie zusätzliche Signaturen benötigen.
Datenbanken können von mehreren Orten geladen werden, die Prioritätsreihenfolge ist wie folgt:
Eine Liste der Datenbankdateien in der Reihenfolge der Priorität wird mit dem Schalter -l
angezeigt:
graudit -l
Die folgenden Datenbanken sind enthalten:
Ein Tutorial-/Einführungsvideo finden Sie unter: https://youtu.be/b8Xbzer1n94
Wenn Sie zu graudit beitragen möchten, forken Sie bitte das Repository unter https://github.com/wireghoul/graudit und verwenden Sie dieses. Insbesondere Sprachregeln, zusätzliche Skripte und Dokumentationsbeiträge sind sehr willkommen. Wenn Ihnen graudit gefällt, sagen Sie bitte Danke und teilen Sie es.
Wenn Sie mit mir Kontakt aufnehmen möchten, schreiben Sie mir eine Nachricht auf GitHub oder Twitter: @wireghoul