¿Qué es una huella digital?
La huella digital es el mecanismo que utiliza Corgea para identificar de forma unívoca las vulnerabilidades de una base de código. Funciona como el “ADN” de cada hallazgo: permite reconocer la misma vulnerabilidad en distintos escaneos aunque el código cambie ligeramente.Las huellas digitales se generan automáticamente en segundo plano. No requieren configuración ni mantenimiento y funcionan desde el primer escaneo.
¿Cómo funciona?
Cuando Corgea escanea el código y detecta un hallazgo de seguridad, crea una huella digital a partir de sus características principales:- Ubicación: Ruta del archivo y número de línea del hallazgo
- Contexto: La línea de código específica y su estructura circundante
- Clasificación: El tipo de vulnerabilidad de seguridad (por ejemplo, inyección SQL, XSS, etc.)
Inteligencia basada en AST
Corgea analiza el árbol de sintaxis abstracta (AST) para que las huellas digitales sean más precisas y resistentes a los cambios en el código.¿Qué es un árbol de sintaxis abstracta (AST)?
¿Qué es un árbol de sintaxis abstracta (AST)?
Un árbol de sintaxis abstracta representa la estructura del código y las relaciones entre sus elementos, no solo su contenido textual.Los métodos tradicionales que solo tienen en cuenta el texto o el número exacto de línea dejan de funcionar fácilmente al:
- Añadir o eliminar líneas en blanco o comentarios
- Reformatear el código, por ejemplo al cambiar la sangría o los espacios
- Refactorizar nombres de variables o firmas de funciones
- Reconocer la misma vulnerabilidad incluso cuando ocurren cambios superficiales en el código
- Centrarse en el significado semántico en lugar de limitarse a comparar texto
- Mantener el seguimiento durante la reorganización y refactorización del código
- Reducir los falsos positivos cuando aparecen problemas similares pero diferentes
¿Dónde se utilizan las huellas digitales?
- Seguimiento de hallazgos
- Deduplicación
- Historial del hallazgo
- Informes
Cuando realizas varios escaneos, Corgea utiliza las huellas digitales para determinar si un hallazgo:
- Persiste desde escaneos anteriores
- Se ha corregido y ya no se detecta
- Ha reaparecido después de corregirse
Cuándo y por qué cambian las huellas digitales
Aunque las huellas digitales de Corgea están diseñadas para mantenerse estables ante cambios menores en el código, pueden cambiar en determinadas situaciones. Comprenderlas ayuda a interpretar correctamente los resultados del escaneo.Situaciones que generarán una nueva huella digital
Movimientos o cambios de nombre de archivos
Movimientos o cambios de nombre de archivos
Qué ocurre: Si mueves un archivo a otro directorio o lo renombras, la vulnerabilidad obtendrá una nueva huella.Ejemplo: Mover
src/utils/database.py a src/core/db.py crea una huella digital nueva aunque el código vulnerable sea idéntico.Por qué: La ruta del archivo es un componente central de la huella digital. Esto es intencionado: ayuda a rastrear dónde existen vulnerabilidades en la estructura de tu proyecto.Lo que verás: El hallazgo anterior puede aparecer como “corregido” y se detectará otro en la ubicación nueva.Refactorización significativa del código
Refactorización significativa del código
Qué ocurre: Una refactorización importante que cambia la estructura o el contexto del código vulnerable generará una nueva huella digital.Ejemplo: Convertir una consulta SQL en línea vulnerable en una función auxiliar de base de datos con la misma vulnerabilidad cambiaría significativamente la estructura AST.Por qué: Aunque las huellas basadas en el AST toleran refactorizaciones menores, los cambios estructurales importantes indican que el contexto del código ha cambiado.Lo que verás: El hallazgo original se cierra y aparece otro nuevo, aunque el patrón de vulnerabilidad subyacente no haya cambiado.
Desplazamientos de número de línea más allá del umbral
Desplazamientos de número de línea más allá del umbral
Qué ocurre: Grandes inserciones o eliminaciones que desplazan significativamente dónde se encuentra el código vulnerable pueden modificar la huella digital.Ejemplo: Añadir 200 líneas de código nuevo sobre una vulnerabilidad podría cambiar su contexto lo suficiente como para modificar la huella digital.Por qué: Aunque la huella digital es resistente a pequeños cambios en el número de línea, los cambios drásticos sugieren que el contexto del código dentro del archivo ha cambiado.Lo que verás: El hallazgo puede parecer corregido y reaparecer en otro número de línea.
Esto es raro debido a la inteligencia AST, pero si ocurre, verifica que el problema sea realmente el mismo antes de marcarlo como duplicado.
Cambios en la clasificación de vulnerabilidades
Cambios en la clasificación de vulnerabilidades
Qué ocurre: Si el análisis de Corgea determina que un problema debe reclasificarse (por ejemplo, de “Potencial inyección SQL” a “Inyección SQL confirmada”), recibe una nueva huella.Ejemplo: Contexto adicional en análisis posteriores podría elevar o cambiar la forma en que se clasifica una vulnerabilidad.Por qué: La clasificación es uno de los datos que identifican de forma única un hallazgo. Cada clasificación puede requerir un enfoque de remediación distinto.Lo que verás: Se cierra un hallazgo y aparece otro con una gravedad o un tipo distintos en la misma ubicación.
Cambios en el propio código vulnerable
Cambios en el propio código vulnerable
Qué ocurre: Modificar la línea de código vulnerable (incluso sin corregirla) puede modificar la huella dactilar.Ejemplo:
Cambiando esto:A esto:Mantiene la vulnerabilidad de inyección SQL pero cambia la huella digital.Por qué: El contexto específico del código forma parte de la huella digital. El cambio indica que alguien modificó el código y ofrece la oportunidad de corregirlo correctamente.Lo que verás: El problema antiguo parece resuelto, y aparece otro nuevo y similar.
Situaciones que no cambiarán la huella
Los siguientes cambios normalmente no afectan a la huella digital:
- Añadir o eliminar comentarios
- Cambios de espacios en blanco o sangría
- Renombrar variables locales (en la mayoría de los casos)
- Añadir código antes o después de la línea vulnerable (dentro de lo razonable)
- Reformateo según guías de estilo
- Añadir sentencias de registro o depuración cercanas
Cómo gestionar los cambios de huellas digitales
1
Consulta el historial de la edición
Corgea registra todos los eventos históricos por huella, por lo que puedes consultar la cronología del hallazgo original.
2
Revisar los cambios en el código
Utiliza el sistema de control de versiones para saber qué cambió entre los escaneos.
3
Seguimiento de actualizaciones
Si estás siguiendo problemas en sistemas externos (JIRA, etc.), puede que necesites actualizar las referencias.
4
Considéralo una oportunidad
Una huella digital modificada suele indicar que alguien cambió el código vulnerable. Aprovecha para comprobar que la corrección sea completa y adecuada.
5
Contacta con el soporte
Si crees que una huella digital cambió de forma incorrecta o inesperada, nuestro equipo puede ayudarte a investigarlo.
¿Por qué este diseño?
¿Por qué este diseño?
Puede que te preguntes por qué no se conserva siempre la misma huella digital. El enfoque de Corgea ofrece estas ventajas:
- Precisión: Cuando el contexto cambia, una huella nueva permite seguir el estado actual de la base de código.
- Visibilidad: Los cambios de huella indican que el código se ha modificado, algo importante para los equipos de seguridad.
- Flexibilidad: Evita el seguimiento de problemas “obsoleto” cuando un problema se marca como solucionado pero la vulnerabilidad persiste en una forma ligeramente diferente.
- Cumplimiento: Las auditorías son más precisas cuando reflejan cambios reales en el código, no solo la existencia continua.
Beneficios clave
- Para equipos de seguridad
- Para equipos de desarrollo
- Para la gestión
Obtén una comprensión precisa de tu postura de seguridad sin inflación falsa por detecciones duplicadas. Entiende cuándo los cambios en el código afectan a las vulnerabilidades rastreadas.
¿Preguntas?
Si tienes dudas sobre cómo afectan las huellas digitales a tu caso de uso, observas cambios inesperados o quieres saber más sobre el seguimiento de hallazgos, contacta con el equipo de soporte de Corgea.¿Necesitas ayuda?
Contacta con nuestro equipo de soporte si necesitas ayuda con las huellas digitales.
