Sighthound es un escáner SAST (Static Application Security Testing) de código abierto basado en reglas, publicado por Corgea en GitHub, que analiza el código fuente en busca de vulnerabilidades de seguridad mediante reglas conscientes del AST (árbol de sintaxis abstracta). La herramienta admite dos modos de análisis: patrón, para coincidencia de patrones, y taint, que rastrea el flujo de datos desde el origen hasta el sumidero. Está escrita en Rust y se compila con la versión 1.85 o superior. Su instalación parte de un repositorio clonado con git, una compilación con cargo build --release y, opcionalmente, un contenedor Docker compatible con Linux para exportar el binario a otras plataformas.
En la práctica, Sighthound detecta automáticamente el lenguaje del proyecto y aplica las reglas embebidas. Soporta Python, JavaScript, TypeScript/TSX, Java, PHP, C#, Go, Ruby, HTML y plantillas Django, cada uno con su analizador sintáctico y su conjunto de reglas empaquetadas. Por el contrario, no es compatible aún con Razor (.cshtml) ni con C/C++ (.c, .h). El usuario también puede invocar el binario con un idioma y una carpeta de reglas personalizadas. Las reglas se escriben en formato RON y pueden declararse como search o taint, lo que permite definir manualmente orígenes, sumideros y sanitizadores. La salida puede ser texto, JSON o CSV, y admite proyectos multiarchivo con ejecución en paralelo.
El proyecto incorpora una serie de puertas de calidad mediante Makefile: make check (formato, lint, tests y reporte de supresiones), make pre-commit, make pre-push y make ci, además de chequeos de complejidad, auditoría, cobertura mínima del 0 % mediante cargo harness y un límite de CRAP (código de mala calidad) de 30. Entre sus limitaciones, la propia documentación señala que pueden pasar desapercibidas vulnerabilidades en rutas de código dinámicas, que los archivos muy grandes elevan el tiempo de análisis y que el análisis taint multiarchivo es una área aún en maduración.
