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 SARIF | Valores máximos | Límites de visualización |
---|---|---|
Ejecuciones por archivo | 20 | None |
Resultados por ejecución | 25 000 | Solo se incluirán los 5000 resultados principales, priorizados por gravedad. |
Reglas por ejecución | 25 000 | None |
Extensiones de herramienta por ejecución | 100 | None |
Ubicaciones de flujo de subprocesos por resultado | 10 000 | Solo se incluirán las 1000 ubicaciones principales de flujo de subprocesos mediante la priorización. |
Ubicación por resultado | 1,000 | Solo se incluirán 100 ubicaciones. |
Etiquetas por regla | 20 | Solo 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í.
- 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".
- 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".