🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCuándo SAST por patrón y cuándo semántico
5 tareas · 40 min · Principiante
Un analizador por patrones y uno semántico no compiten: se equivocan de manera distinta. El primero es rápido y ve la forma del código; el segundo es lento y ve cómo viajan los datos. En esta sala pones cinco casos reales de api-pedidos delante de los dos y de una revisión manual, y aprendes a decidir qué herramienta toca cada sitio y qué se escapa a las dos.
Objetivo de la sala
Un analizador por patrones y uno semántico no compiten: se equivocan de manera distinta. El primero es rápido y ve la forma del código; el segundo es lento y ve cómo viajan los datos. En esta sala pones cinco casos reales de api-pedidos delante de los dos y de una revisión manual, y aprendes a decidir qué herramienta toca cada sitio y qué se escapa a las dos.Un analizador por patrones busca una forma en el código, como una llamada con una concatenación dentro. Es rápido, no necesita compilar ni construir una base, funciona con muchos lenguajes y se escribe una regla en minutos. Pero solo ve lo que cabe en un patrón local: no sabe de dónde viene el dato ni a dónde va después.
Un análisis semántico construye primero la base de datos y sigue los datos entre funciones y archivos. Ve fallos que cruzan varias líneas y distingue un dato de fuera de una constante. A cambio, tarda más, necesita extraer bien el código de cada lenguaje y las consultas son más difíciles de escribir.
Responde para continuar
Una consulta se arma con un dato de la petición que pasa por tres funciones antes de llegar a la base. ¿Qué herramienta es más probable que lo encuentre?
Cuando el patrón busca una concatenación dentro de la llamada y la consulta llega a la llamada ya armada, el patrón no la reconoce. El análisis semántico, que sigue el dato desde la petición, sí.
Compara los informes con la lista de casos. Uno de los casos lo ve el análisis semántico y no el analizador por patrones.
Responde para continuar
Escribe el identificador del caso que solo ve el análisis semántico.
Un patrón que marca toda concatenación marca también la que no tiene un dato de fuera. Cuando el equipo de pedidos recibió el informe del analizador por patrones, uno de los hallazgos no era un fallo, y la revisión manual lo confirma.
Responde para continuar
Escribe el identificador del caso que es un falso positivo del analizador por patrones.
Ninguna de las dos herramientas lo ve todo. El análisis semántico no puede seguir un dato cuando el destino se decide en tiempo de ejecución, por ejemplo cuando el nombre de la función a llamar llega como texto. El analizador por patrones tampoco ve ese caso, porque en el código no hay forma fija que buscar. Lo que los dos dejan pasar se encuentra con revisión manual, con pruebas o con consultas escritas a propósito.
Responde para continuar
Escribe el identificador del caso que ninguno de los dos análisis marcó.
Para medir qué tan bien lo hizo cada herramienta hay que saber cuántos fallos reales había. Eso no lo da ninguna: lo da la revisión manual, que decide caso por caso si es real o no.
Cuenta los casos que la revisión marca como reales.
Responde para continuar
¿Cuántos de los cinco casos son fallos reales según la revisión manual? Escribe solo el número.
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.