
grep rough audit - outil d'audit de code source
graudit est un script simple et un ensemble de signatures qui vous permet 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 réduisant les exigences techniques au 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 cependant recommandé d'utiliser graudit directement en clônant 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 n'est pas dans votre répertoire personnel, vous pouvez définir la variable d'environnement GRDIR sur 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 de bonnes pratiques shell. Pour une liste des options, vous pouvez exécuter graudit -h ou voir 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é d'utiliser uniquement 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 dans l'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 peut être trouvée à 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. En particulier, les règles de langage, les scripts supplémentaires et les contributions à la documentation sont les bienvenus. Si vous aimez graudit, n'hésitez pas à remercier et à partager.
Si vous souhaitez me contacter, envoyez-moi un message sur GitHub ou Twitter : @wireghoul