
grep rough audit - herramienta de auditoría de código fuente
graudit es un script simple y conjuntos de firmas que te permiten encontrar posibles fallos de seguridad en el código fuente utilizando la utilidad GNU grep. Es comparable a otras aplicaciones de análisis estático como RATS, SWAAT y flaw-finder mientras mantiene los requisitos técnicos al mínimo y es muy flexible.
La instalación se puede realizar como usuario o globalmente como root, simplemente ejecuta make con el argumento userinstall o install. Sin embargo, se recomienda usar graudit directamente clonando el repositorio git, ya que incluye reglas de base de datos adicionales no incluidas en los archivos de distribución. Esto también te permite obtener actualizaciones entre versiones. Para hacer esto, ejecuta el siguiente comando:
git clone https://github.com/wireghoul/graudit
Luego puedes agregar graudit a tu path, usando los valores apropiados para tu shell preferido:
echo 'PATH="$HOME/graudit:${PATH:+:${PATH}}"; export PATH;' >> ~/.bashrc
Si graudit no está en tu directorio home, quizás quieras establecer la variable de entorno GRDIR
al directorio de firmas en tu archivo .bashrc.
export GRDIR=/path/to/graudit/signatures
graudit soporta varias opciones e intenta seguir buenas prácticas de shell. Para una lista de las opciones puedes ejecutar graudit -h o ver a continuación. La forma más simple de usar graudit es;
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
Puedes establecer opciones predeterminadas de línea de comandos a través de la variable de entorno GRARGS. Esto puede afectar el uso de graudit en scripts, por lo que solo se recomienda usar las opciones B, L, b, z y Z para este propósito.
echo 'GRARGS="-b -L"; export GRARGS' >> ~/.bashrc
graudit utiliza expresiones regulares extendidas (POSIX) como firmas y viene con varias bases de datos listas para usar. Puedes extender las bases de datos existentes o crear las tuyas propias si necesitas firmas adicionales.
Las bases de datos se pueden cargar desde múltiples ubicaciones, el orden de precedencia es el siguiente:
Una lista de los archivos de base de datos en orden de precedencia se muestra con el modificador -l:
graudit -l
Se incluyen las siguientes bases de datos:
Se puede encontrar un video tutorial/introductorio en: https://youtu.be/b8Xbzer1n94
Si deseas contribuir a graudit, por favor haz un fork del repositorio en https://github.com/wireghoul/graudit y usa ese. En particular, las reglas de lenguajes, scripts adicionales y contribuciones de documentación son muy bienvenidas. Si te gusta graudit, por favor agradece y compártelo.
Si deseas ponerte en contacto conmigo, envíame un mensaje en github @wireghoul.