Graudit: Análisis Estático de Código
Graudit: Análisis Estático de Código
Graudit (Grep Audit) es una herramienta de análisis estático de código fuente (SAST) muy ligera y eficaz que viene preinstalada o se puede usar fácilmente en Kali Linux. Su función principal es buscar funciones "peligrosas" o vulnerabilidades conocidas dentro del código fuente utilizando firmas basadas en grep.
Aquí tienes una guía rápida en español sobre cómo instalarlo y utilizarlo.
1. Instalación en Kali Linux
Aunque es una herramienta de línea de comandos sencilla, si no la tienes instalada, puedes clonar su repositorio oficial:
git clone https://github.com/wireghoul/graudit.git
cd graudit
Para poder usarlo desde cualquier carpeta, puedes crear un enlace simbólico o añadirlo a tu PATH:
sudo ln -s /ruta/a/graudit/graudit /usr/local/bin/graudit
2. Uso básico
La sintaxis general de graudit es:
graudit [opciones] /ruta/al/codigo
Ejemplo práctico:
Si quieres analizar una carpeta que contiene archivos PHP en busca de vulnerabilidades comunes:
graudit -d php /var/www/html/mi_proyecto
-d: Especifica la base de datos (lenguaje). En este caso,php.Ruta: El directorio o archivo que quieres examinar.
3. Bases de datos disponibles
Graudit utiliza archivos de firmas para diferentes lenguajes. Puedes ver la lista de lenguajes soportados revisando la carpeta signatures. Algunos de los más comunes son:
C/C++:
cPython:
pythonJava:
javaJavaScript:
jsRuby:
rubyActionScript:
actionscript
4. Opciones útiles
-l: Lista todas las bases de datos de firmas disponibles.-i: Ignora mayúsculas y minúsculas durante la búsqueda.-v: Modo "verbose" (muestra más información sobre lo que está haciendo).-x: Excluye archivos o extensiones específicas.
¿Por qué usar Graudit?
Velocidad: Al basarse en
grep, es extremadamente rápido incluso en proyectos grandes.Simplicidad: No requiere compilación ni configuraciones complejas de bases de datos de grafos como otras herramientas SAST.
Personalización: Puedes crear tus propios archivos de firmas en texto plano si quieres buscar patrones específicos de tu empresa o proyectos.
Nota importante: Graudit genera falsos positivos. No todas las funciones que marca son vulnerabilidades reales; simplemente te indica dónde deberías realizar una revisión manual porque se está usando una función potencialmente insegura (como
eval(),system(), ostrcpy()).