🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEl formato SARIF campo a campo
5 tareas · 40 min · Principiante
Cada herramienta de análisis cuenta sus hallazgos a su manera, y un tablero que lea cinco dialectos distintos no llega lejos. SARIF es el formato de intercambio que lo evita. En esta sala abres un informe de Uvilla Alimentos, una empresa ficticia de alimentos, y lo lees campo a campo: dónde vive la regla, dónde el resultado, qué nivel manda y qué parte del formato queda en manos de cada herramienta.
Objetivo de la sala
Cada herramienta de análisis cuenta sus hallazgos a su manera, y un tablero que lea cinco dialectos distintos no llega lejos. SARIF es el formato de intercambio que lo evita. En esta sala abres un informe de Uvilla Alimentos, una empresa ficticia de alimentos, y lo lees campo a campo: dónde vive la regla, dónde el resultado, qué nivel manda y qué parte del formato queda en manos de cada herramienta.SARIF (Static Analysis Results Interchange Format) es un estándar abierto de OASIS, y su versión 2.1.0 es la que casi todas las herramientas y plataformas leen. Un archivo es un JSON con un campo version y una lista runs: cada run es una ejecución de una herramienta.
Dentro de un run hay dos mitades que conviene no confundir. En tool.driver está la herramienta (nombre, versión) y su lista rules, el catálogo de reglas que sabe aplicar, cada una con su id, su descripción y su nivel por defecto. En results están los hallazgos concretos: cada resultado apunta a su regla con ruleId (y ruleIndex, su posición en la lista) y dice dónde ocurrió.
Responde para continuar
En un informe SARIF, ¿dónde se encuentra la descripción general de una regla y dónde cada hallazgo concreto?
La ubicación de un resultado está en locations, una lista (un hallazgo puede tocar varios sitios). Cada elemento trae physicalLocation, y dentro dos cosas: artifactLocation, con el uri del archivo (relativo a la raíz del repositorio, o a una base que dice uriBaseId), y region, con la línea donde empieza (startLine) y, si la herramienta quiere, columnas.
Abre informes/analisis-estatico.sarif.
Responde para continuar
Escribe el uri del archivo donde está el resultado de la regla ue.hash-debil.
La regla trae un nivel por defecto en defaultConfiguration.level; el resultado puede traer su propio level. El estándar define una escala corta de cuatro niveles, de «ninguno» a «error». Cuando el resultado trae su nivel, ese es el que cuenta para ese hallazgo. Quien normaliza hallazgos debe saber de cuál de los dos campos lee, porque dos herramientas pueden llegar a niveles distintos para un mismo tipo de problema.
Busca el resultado de pedidos/auditoria.py.
Responde para continuar
¿Qué nivel tiene ese resultado (el campo level del propio resultado)?
Dos resultados pueden compartir regla y estar en archivos distintos: son dos hallazgos, no uno. Lo que los separa es la ubicación. Por eso un lector de SARIF siempre cruza ruleId, uri y startLine antes de decir que dos resultados hablan de lo mismo.
La regla ue.sql-armada aparece dos veces en el informe.
Responde para continuar
¿En qué línea (startLine) está el resultado de ue.sql-armada ubicado en pedidos/stock.py? Escribe solo el número.
Los resultados y las reglas tienen un campo properties: una bolsa de propiedades donde la herramienta puede guardar lo que quiera. En el informe de Uvilla cada regla trae ahí un security-severity. Ese nombre no lo define SARIF: es una convención que usan algunas plataformas, y otra herramienta podría llamarlo distinto o no ponerlo.
Esto es lo que vuelve difícil normalizar: el estándar fija la forma, pero el significado de lo que va en la bolsa lo fija cada herramienta.
Responde para continuar
Un tablero recibe informes de tres herramientas y solo una trae security-severity en properties. ¿Cómo se debe tratar ese campo?
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.