Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Del hallazgo a la corrección

5 tareas · 45 min · Principiante

Un hallazgo no está resuelto cuando alguien abre una propuesta de corrección, sino cuando se comprueba que la corrección funciona y no trae otro problema. En esta sala revisas tres propuestas del equipo de Naranjal Seguros como lo haría quien aprueba: lees el código de antes y de después, comparas arreglos que compiten, interpretas el reescaneo y decides qué hace falta para dar cada hallazgo por cerrado. Todo es lectura de cambios y de informes.

0 de 5 · 0%

Objetivo de la sala

Un hallazgo no está resuelto cuando alguien abre una propuesta de corrección, sino cuando se comprueba que la corrección funciona y no trae otro problema. En esta sala revisas tres propuestas del equipo de Naranjal Seguros como lo haría quien aprueba: lees el código de antes y de después, comparas arreglos que compiten, interpretas el reescaneo y decides qué hace falta para dar cada hallazgo por cerrado. Todo es lectura de cambios y de informes.

Ante un hallazgo suelen llegar varios arreglos y no todos valen. Un buen arreglo elimina la causa. Uno malo filtra lo que hoy se conoce como peligroso: quitar un carácter concreto, limitar el largo, rechazar una lista de palabras. La lista de lo malo siempre queda incompleta, porque quien escribe el arreglo solo conoce las formas que se le ocurrieron. En una consulta, la causa es que el dato y la instrucción viajan mezclados en el mismo texto; el arreglo que la elimina es el que los mantiene separados, de modo que el dato nunca se interpreta como parte de la instrucción.

Esta pregunta sirve para cualquier hallazgo: ¿el arreglo quita la mezcla o solo disimula una de sus formas?

Responde para continuar

Para SAST-0412 se proponen tres arreglos. ¿Cuál elimina la causa?

Ver pista de ayuda

Los tres están en el archivo candidatas-consulta.txt. Busca el que no deja que el dato se mezcle con la instrucción.

Después de cada propuesta se repite el mismo análisis sobre el código nuevo y se compara con el de la rama base. El resultado de cada hallazgo es uno de tres: cerrado (ya no aparece), sigue abierto (la corrección no lo tocó, o lo tocó mal) o nuevo (la propuesta introdujo algo que antes no había). El reescaneo es más fiable que la descripción de la propuesta, porque no depende de lo que su autor crea haber hecho.

La propuesta PR-0907 trae tres correcciones. Una de ellas no resolvió su hallazgo.

Responde para continuar

Escribe el identificador del hallazgo que sigue abierto tras el reescaneo de la propuesta PR-0907.

Ver pista de ayuda

Abre el informe de reescaneo de esa propuesta y busca la palabra «abierto» junto a un identificador SAST.

La corrección del archivo adjunto de PR-0907 reemplaza una secuencia concreta del nombre y deja el resto como estaba: es filtrar. Funciona contra la forma que su autor tenía en mente y contra ninguna otra, y el análisis, que mira el flujo y no la forma del texto, sigue viendo un nombre de fuera uniéndose a una ruta sin comprobar. La segunda propuesta cambia el enfoque: en lugar de limpiar el texto que llega, construye la ruta completa, la resuelve y comprueba que quede dentro del directorio permitido.

Comprobar el resultado en vez de limpiar la entrada es una pauta general: lo que importa es dónde termina la ruta, no qué caracteres trae.

Responde para continuar

¿Qué hace PR-0911 que PR-0907 no hacía?

Ver pista de ayuda

Compara los dos archivos de cambios de los adjuntos. Uno modifica el nombre; el otro verifica el resultado.

Corregir con prisa a veces cambia un problema por otro. En la propuesta de las contraseñas el resumen rápido se sustituyó por un algoritmo con costo, que está bien, pero para la sal —el valor que hace distinto el resultado de cada usuario— se escribió un texto fijo en el código. Una sal igual para todos no cumple la función de una sal. El reescaneo lo detecta como un hallazgo nuevo, y por eso hay que leerlo entero: un informe que solo comprueba que los hallazgos viejos se cerraron se pierde justo esto.

Revisar una corrección incluye mirar lo que añade, no solo lo que quita.

Responde para continuar

Escribe la regla del hallazgo nuevo que introdujo la propuesta PR-0907.

Ver pista de ayuda

En el reescaneo de esa propuesta busca la fila marcada como nuevo, no las que tienen un identificador SAST.

Un hallazgo se cierra con evidencia, no con una frase en el ticket. Hace falta el reescaneo que ya no lo marca y, además, una prueba de regresión: una prueba automática que falle con el código de antes y pase con el de después. Si la prueba pasa también con el código viejo, no prueba nada. Y la prueba se queda en el repositorio para que, si alguien reintroduce el fallo dentro de seis meses, salte en la fusión.

El archivo de pruebas de regresión de los adjuntos muestra cómo se lee esa evidencia: tres versiones del código, tres resultados.

Responde para continuar

¿Cuándo se da SAST-0413 por cerrado?

Ver pista de ayuda

Fíjate en qué tiene que hacer la prueba con el código de antes: si no falla, no demuestra nada.

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