
grep rough audit - outil d'audit de code source
graudit est un script simple et des ensembles de signatures qui vous permettent de trouver des failles de sécurité potentielles dans le code source à l'aide de l'utilitaire GNU grep. Il est comparable à d'autres applications d'analyse statique comme RATS, SWAAT et flaw-finder tout en gardant les prérequis techniques à un minimum et en étant très flexible.
L'installation peut être effectuée en tant qu'utilisateur ou globalement en tant que root, il suffit d'exécuter make avec l'argument userinstall ou install. Il est toutefois recommandé d'utiliser graudit directement en clonant le dépôt git car il inclut des règles de base de données supplémentaires non incluses dans les fichiers de distribution. Cela vous permet également d'obtenir des mises à jour entre les versions. Pour ce faire, exécutez la commande suivante :
git clone https://github.com/wireghoul/graudit
Vous pouvez ensuite ajouter graudit à votre path, en utilisant les valeurs appropriées pour votre shell préféré :
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Si graudit ne se trouve pas dans votre répertoire personnel, vous pouvez définir la variable d'environnement GRDIR vers le répertoire des signatures dans votre fichier .bashrc.
export GRDIR=/path/to/graudit/signatures
graudit prend en charge plusieurs options et essaie de suivre les bonnes pratiques du shell. Pour obtenir la liste des options, vous pouvez exécuter graudit -h ou consulter ci-dessous. La façon la plus simple d'utiliser graudit est :
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
Vous pouvez définir les options de ligne de commande par défaut via la variable d'environnement GRARGS. Cela peut affecter l'utilisation de graudit dans les scripts, il est donc recommandé de n'utiliser que les options B, L, b, z et Z à cette fin.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit utilise des expressions régulières étendues (POSIX) comme signatures et est livré avec plusieurs bases de données prêtes à l'emploi. Vous pouvez étendre les bases de données existantes ou créer les vôtres si vous avez besoin de signatures supplémentaires.
Les bases de données peuvent être chargées depuis plusieurs emplacements, l'ordre de priorité est le suivant :
Une liste des fichiers de base de données par ordre de priorité est affichée avec l'option -l :
graudit -l
Les bases de données suivantes sont incluses :
Une vidéo de tutoriel/introduction est disponible à l'adresse : https://youtu.be/b8Xbzer1n94
Si vous souhaitez contribuer à graudit, veuillez forker le dépôt à l'adresse https://github.com/wireghoul/graudit et l'utiliser. Les contributions concernant notamment les règles de langage, les scripts supplémentaires et la documentation sont très bienvenues. Si vous aimez graudit, n'hésitez pas à remercier et à le partager.
Si vous souhaitez me contacter, écrivez-moi sur github @wireghoul.