Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Triaje: verdadero, falso y no explotable

5 tareas · 40 min · Principiante

Un informe de análisis estático no es una lista de fallos: es una lista de sospechas, y el trabajo del auditor es decidir cuáles lo son. Seguros Caobo pidió una corrida de auditoría de su cotizador sin aplicar ninguna supresión y salieron diez resultados. Te entregan sus criterios de triaje, el código alrededor de cada resultado, el mapa de quién importa a quién y lo que entra en la imagen de producción.

0 de 5 · 0%

Objetivo de la sala

Un informe de análisis estático no es una lista de fallos: es una lista de sospechas, y el trabajo del auditor es decidir cuáles lo son. Seguros Caobo pidió una corrida de auditoría de su cotizador sin aplicar ninguna supresión y salieron diez resultados. Te entregan sus criterios de triaje, el código alrededor de cada resultado, el mapa de quién importa a quién y lo que entra en la imagen de producción.

Verdadero o falso se queda corto. Un falso positivo es un error del motor: el dato que llega al punto peligroso no lo controla nadie de fuera, o el uso no es el que la regla teme (una función de resumen débil que solo nombra un archivo de caché no protege nada). Un verdadero positivo es un fallo real, alcanzable, con un dato que alguien de fuera puede elegir.

Entre los dos hay una clase que se suele perder: el patrón es real y peligroso, pero hoy ningún camino lo ejecuta, porque el código no se despliega o nadie lo importa. No se descarta como ruido: se borra el código o se corrige con plazo largo, porque el día que alguien lo importe vuelve a ser un verdadero sin que nadie lo note. Y aparte queda lo que no es producto, como las pruebas, que se excluye por configuración y no resultado a resultado.

Responde para continuar

¿Qué separa un falso positivo de un verdadero no alcanzable?

Ver pista de ayuda

Pregúntate en cuál de los dos el patrón sería peligroso si se ejecutara.

Abre el laboratorio y lee criterios-triaje.txt y luego informe-cotizador.txt. Hay dos reglas de SQL: una de flujo de datos y otra de forma, que avisa cada vez que una consulta se arma con formato de texto, venga de donde venga lo que se mete. Busca en fragmentos.txt el resultado de la regla de forma y mira qué se interpola en la consulta y de dónde sale.

Responde para continuar

¿Qué resultado es un falso positivo porque lo que se interpola en la consulta es una constante del propio código? Escribe su identificador.

Ver pista de ayuda

Busca la consulta en la que el valor del cliente viaja aparte, como parámetro.

Dos resultados de la regla de flujo de datos tienen exactamente la misma forma: un parámetro de la petición pegado a una consulta. Uno de ellos vive en un módulo que no importa ningún otro y que no entra en la imagen de producción. Para saberlo no basta el fragmento: hay que cruzarlo con mapa-de-importaciones.txt y con despliegue.txt.

Responde para continuar

¿Qué resultado es un verdadero no alcanzable, un patrón real en código que hoy no se ejecuta? Escribe su identificador.

Ver pista de ayuda

Mira qué carpeta no se copia a la imagen y qué módulo no importa nadie.

Clasifica los diez con los criterios del equipo. Para cada uno pregúntate tres cosas, en este orden: ¿alguien de fuera elige el dato que llega al punto señalado?, ¿el uso es el que la regla teme?, ¿ese código se despliega y lo alcanza una ruta? Ojo con dos casos: un nombre de archivo temporal que genera el propio sistema no lo elige nadie de fuera, y una redirección a una ruta interna fija tampoco.

Responde para continuar

¿Cuántos de los diez resultados son verdaderos positivos según los criterios de Caobo?

Ver pista de ayuda

Descuenta los falsos, el no alcanzable y el de pruebas; quedan los que leen la petición, la cookie o el parámetro y llegan a algo peligroso.

Marcar un resultado como falso no es borrarlo: queda una nota que otra persona leerá dentro de seis meses, cuando el código haya cambiado. Una nota útil dice qué evidencia sostiene la decisión (de dónde sale el dato, por qué no llega a quien la regla teme), quién la revisó y qué tendría que cambiar en el código para que la decisión deje de valer.

Responde para continuar

¿Qué nota de triaje deja bien cerrado el falso positivo de la consulta con la columna de orden?

Ver pista de ayuda

La buena nota dice por qué y cuándo dejaría de ser cierta.

Inicia sesión para registrar tus puntos y progreso en el ranking.

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