Skip to main content

Los resultados de SARIF superan uno o más límites

Aprende a resolver problemas si code scanning ha rechazado un archivo SARIF porque se han superado uno o varios límites.

Acerca de los límites de code scanning en los resultados de SARIF

# SARIF results exceed soft limits
  Locations for an alert exceeded limits
  Analysis SARIF file exceeded alert limits
  Rule tags in SARIF file exceed limits
  Alert in SARIF upload exceeded thread flow location limits

# SARIF results exceed hard limit
  Alert(s) in SARIF file exceeded thread flow location limits
  Analysis SARIF file rejected due to extension limits
  Analysis SARIF file rejected due to location limit
  Analysis SARIF file rejected due to rule tag limits
  Analysis SARIF file rejected due to result limits
  Analysis SARIF file rejected due to rule limits
  Analysis SARIF file rejected due to run limits

Code scanning establece dos tipos de límites en los campos de los archivos de resultados SARIF.

  • Límites flexibles que determinan la cantidad de datos que se almacenan y se muestran a los usuarios.
  • Límites estrictos que determinan la cantidad máxima de datos aceptados para su procesamiento.

Estos errores pueden aparecer en los archivos SARIF generados por CodeQL o por herramientas de análisis de terceros.

Datos de SARIFValores máximosLímites de visualización
Ejecuciones por archivo20None
Resultados por ejecución25 000Solo se incluirán los 5000 resultados principales, priorizados por gravedad.
Reglas por ejecución25 000None
Extensiones de herramienta por ejecución100None
Ubicaciones de flujo de subprocesos por resultado10 000Solo se incluirán las 1000 ubicaciones principales de flujo de subprocesos mediante la priorización.
Ubicación por resultado1,000Solo se incluirán 100 ubicaciones.
Etiquetas por regla20Solo se incluirán 10 etiquetas.

Para más información sobre cómo validar el archivo SARIF, consulta "Soporte de SARIF para escaneo de código".

Corrección de errores de límite flexible

Cuando se superan los límites flexibles, code scanning muestra la información de prioridad más alta. A menudo no es necesario realizar ningún cambio en la configuración de code scanning. A medida que el equipo corrige las alertas, el número de resultados notificados en cada ejecución se reducirá hasta que se encuentren dentro de los límites flexibles y se muestren todos los resultados. O bien, puedes usar los enfoques descritos para los errores de límite estricto.

Corrección del "archivo SARIF de análisis rechazado debido a los límites de resultados"

Hay muchas consideraciones y posibles soluciones para reducir el número de resultados incluidos en un archivo SARIF. Para más información, consulta "El archivo de resultados SARIF es demasiado grande".

Corrección de "Las alertas en el archivo SARIF superaron los límites de ubicación del flujo de subprocesos"

Puedes configurar el análisis para limitar el número de rutas de acceso de flujo de datos incluidas en los resultados. De forma predeterminada, se incluyen 4 rutas de acceso de flujo de datos para cada resultado.

  • Configuración avanzada de CodeQL para code scanning: actualice el paso analyze para limitar el número de rutas de acceso a un máximo de uno o cero.

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3
      env: 
        CODEQL_ACTION_EXTRA_OPTIONS: '{"database":{"interpret-results":["--max-paths", 1]}}'
    
  • CodeQL CLI database analyze: actualice el comando de análisis de la base de datos para incluir la marca --max-paths=1. Para obtener más información, vea «database analyze».

Nota: El valor max-paths afecta a los resultados de todas las consultas de flujo de datos.

Corrección del "archivo SARIF de análisis rechazado debido a los límites de ejecución"

El enfoque más sencillo es generar un nuevo archivo SARIF para cada ejecución y cargar cada archivo por separado. Puedes agregar una "categoría" a cada resultado y esto permite a code scanning almacenar y mostrar los resultados correctamente. Para obtener más información, vea «Soporte de SARIF para escaneo de código».

Corrección del "archivo SARIF de análisis rechazado debido a los límites de reglas"

Hay dos enfoques posibles aquí.

  1. Reducir el número de reglas que se usan para analizar el código. Para más información, consulta "Definición del conjunto de consultas que se va a ejecutar" y "Exclusión de una consulta del análisis" en "Archivo de resultados SARIF demasiado grande".
  2. Ejecutar el análisis dos veces, cada vez con un conjunto diferente de reglas y cargar ambos archivos de resultados en code scanning. Para obtener más información, vea «Soporte de SARIF para escaneo de código».

Corrección del "archivo SARIF de análisis rechazado debido a los límites de extensión"

El enfoque más sencillo es crear un archivo SARIF independiente cada vez que ejecute la herramienta y cargar cada archivo por separado. Es posible que también tenga que ponerse en contacto con el responsable de mantenimiento de la herramienta. Para obtener más información, vea «Soporte de SARIF para escaneo de código».

El análisis de CodeQL no genera este error. Si aparece este error al usar la acción CodeQL o CodeQL CLI, debes ponerte en contacto con Soporte de GitHub e informarnos. Para obtener más información, vea «Contactar al Soporte de GitHub».

Corrección del "archivo SARIF de análisis rechazado debido a los límites de ubicación"

La mejor manera de resolver este problema suele ser identificar la consulta que notifica demasiadas ubicaciones y excluirla del análisis. Para más información sobre cómo hacer esto, consulta "El archivo de resultados SARIF es demasiado grande".

Corrección del "archivo SARIF de análisis rechazado debido a los límites de etiquetas de reglas"

Debes actualizar el archivo SARIF o el generador para que la matriz de etiquetas notificadas para cada objeto reportingDescriptor sea inferior a 10. Para más información, consulta properties.tags[] en "Soporte de SARIF para escaneo de código".