> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Huellas digitales de los hallazgos

> Descubre cómo Corgea identifica y sigue vulnerabilidades concretas entre distintos escaneos

## ¿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.

<Info>
  Las huellas digitales se generan automáticamente en segundo plano. No requieren configuración ni mantenimiento y funcionan desde el primer escaneo.
</Info>

## ¿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.)

Estos elementos se combinan para crear un identificador único y consistente que persiste a través de múltiples escaneos de tu base de código.

### 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.

<Accordion title="¿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
</Accordion>

**Por qué el AST es importante para ti:**

Al incorporar la información del AST a las huellas digitales, Corgea puede:

* **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

<Tip>
  Las huellas digitales basadas en el AST proporcionan un seguimiento más estable y fiable de los hallazgos a medida que evoluciona el código.
</Tip>

## ¿Dónde se utilizan las huellas digitales?

<Tabs>
  <Tab title="Seguimiento de hallazgos">
    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
  </Tab>

  <Tab title="Deduplicación">
    Las huellas digitales evitan hallazgos duplicados. Si una vulnerabilidad aparece en varios escaneos o ramas, Corgea la reconoce como el mismo hallazgo y no llena el panel de duplicados.
  </Tab>

  <Tab title="Historial del hallazgo">
    La huella de cada hallazgo está vinculada a un historial que registra:

    * Cuándo se detectó por primera vez
    * Cambios de estado a lo largo del tiempo
    * A quién se asignó su corrección
    * Qué acciones de resolución se llevaron a cabo

    Esto te proporciona una auditoría completa para el seguimiento de cumplimiento y seguridad.
  </Tab>

  <Tab title="Informes">
    Los paneles e informes de Corgea utilizan huellas digitales para mostrar:

    * **Recuentos de vulnerabilidades únicas** (sin duplicados que aumenten las cifras)
    * **Análisis de tendencias** a lo largo del tiempo
    * **Métricas de seguridad a nivel de proyecto**
    * **Distribución de hallazgos por categorías**
  </Tab>
</Tabs>

## 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.

<Warning>
  Comprender cuándo cambian las huellas digitales es importante para realizar un seguimiento preciso de los hallazgos y gestionar la seguridad.
</Warning>

### Situaciones que generarán una nueva huella digital

<AccordionGroup>
  <Accordion title="Movimientos o cambios de nombre de archivos" icon="folder-arrow-up">
    **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.

    <Tip>
      Si vas a hacer una reorganización de archivos a gran escala, coordina con tu equipo de seguridad para que entiendan el contexto.
    </Tip>
  </Accordion>

  <Accordion title="Refactorización significativa del código" icon="code">
    **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.

    <Tip>
      Aprovecha las refactorizaciones importantes para corregir la vulnerabilidad, no solo para moverla.
    </Tip>
  </Accordion>

  <Accordion title="Desplazamientos de número de línea más allá del umbral" icon="arrow-down-1-9">
    **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.

    <Note>
      Esto es raro debido a la inteligencia AST, pero si ocurre, verifica que el problema sea realmente el mismo antes de marcarlo como duplicado.
    </Note>
  </Accordion>

  <Accordion title="Cambios en la clasificación de vulnerabilidades" icon="tag">
    **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.

    <Tip>
      Presta atención a los cambios en la clasificación: a menudo indican información nueva y importante sobre el riesgo de seguridad.
    </Tip>
  </Accordion>

  <Accordion title="Cambios en el propio código vulnerable" icon="pen-to-square">
    **Qué ocurre:** Modificar la línea de código vulnerable (incluso sin corregirla) puede modificar la huella dactilar.

    **Ejemplo:**
    Cambiando esto:

    ```python theme={null}
    query = "SELECT * FROM users WHERE id=" + user_id
    ```

    A esto:

    ```python theme={null}
    query = "SELECT id, name FROM users WHERE id=" + user_id
    ```

    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.

    <Tip>
      Al modificar código vulnerable, aprovecha para solucionar el problema de seguridad correctamente en lugar de simplemente cambiarlo superficialmente.
    </Tip>
  </Accordion>
</AccordionGroup>

### Situaciones que no cambiarán la huella

<Check>
  Los siguientes cambios normalmente **no** afectan a la huella digital:
</Check>

* 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

<Steps>
  <Step title="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.
  </Step>

  <Step title="Revisar los cambios en el código">
    Utiliza el sistema de control de versiones para saber qué cambió entre los escaneos.
  </Step>

  <Step title="Seguimiento de actualizaciones">
    Si estás siguiendo problemas en sistemas externos (JIRA, etc.), puede que necesites actualizar las referencias.
  </Step>

  <Step title="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.
  </Step>

  <Step title="Contacta con el soporte">
    Si crees que una huella digital cambió de forma incorrecta o inesperada, nuestro equipo puede ayudarte a investigarlo.
  </Step>
</Steps>

<Accordion title="¿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.
</Accordion>

## Beneficios clave

<Tabs>
  <Tab title="Para equipos de seguridad">
    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.
  </Tab>

  <Tab title="Para equipos de desarrollo">
    Evita confusiones sobre qué hallazgos requieren atención y cuáles ya se han resuelto. Sigue refactorizando y mejorando el código sin perder de vista los problemas de seguridad.
  </Tab>

  <Tab title="Para la gestión">
    Obtén métricas fiables para seguir la evolución de la seguridad y demostrar el cumplimiento. Comprende el efecto real de los cambios en el código sobre la postura de seguridad.
  </Tab>
</Tabs>

## ¿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.

<Card title="¿Necesitas ayuda?" icon="headset" href="mailto:help@corgea.com">
  Contacta con nuestro equipo de soporte si necesitas ayuda con las huellas digitales.
</Card>
