Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Riesgos del código sugerido por un modelo

4 tareas · 35 min · Principiante

Un asistente de programación escribe código que compila, que se lee bien y que muchas veces funciona a la primera. Eso no dice nada de si es seguro. Hualle Pagos es una empresa ficticia que procesa pagos de pequeños comercios; desde agosto sus 30 desarrolladores usan Diucón, un asistente dentro del editor. El equipo de seguridad tomó al azar diez sugerencias aceptadas en septiembre y las revisó una por una. Tienes esa muestra. La lees como quien quiere saber qué clase de fallos trae el código sugerido y por dónde se cuelan. Es solo lectura: nada se ejecuta.

0 de 4 · 0%

Objetivo de la sala

Un asistente de programación escribe código que compila, que se lee bien y que muchas veces funciona a la primera. Eso no dice nada de si es seguro. Hualle Pagos es una empresa ficticia que procesa pagos de pequeños comercios; desde agosto sus 30 desarrolladores usan Diucón, un asistente dentro del editor. El equipo de seguridad tomó al azar diez sugerencias aceptadas en septiembre y las revisó una por una. Tienes esa muestra. La lees como quien quiere saber qué clase de fallos trae el código sugerido y por dónde se cuelan. Es solo lectura: nada se ejecuta.

Un modelo de lenguaje propone el código que, según lo que aprendió, es más probable que siga a lo que ya está escrito. Aprendió de enormes cantidades de código público, y en ese código abundan los ejemplos viejos, los tutoriales que se saltan la validación «para simplificar» y las soluciones rápidas que alguien publicó para salir del paso. Lo frecuente no es lo correcto: si la forma insegura aparece mucho, el modelo la propone con toda naturalidad.

Además, el modelo no conoce tu sistema. No sabe que esa función recibe texto de un formulario público, que ese servicio maneja dinero o que tu empresa prohíbe guardar el número completo de una tarjeta. Escribe lo que encaja con el contexto que ve, que es una ventana de código, no el modelo de amenazas de la aplicación.

Por eso el código sugerido falla de una manera particular: suele funcionar en el caso normal y fallar justo en lo que nadie probó, que es lo que le interesa a quien ataca.

Responde para continuar

¿Por qué un asistente puede proponer código inseguro que además funciona en las pruebas normales?

Ver pista de ayuda

Ejecuta `SELECT * FROM sugerencias` y mira la columna `que_hace_el_codigo` junto a `problema_encontrado`: casi todas hacen lo que se pidió.

Cuando una aplicación llama a un servicio por internet, el certificado del servidor es la prueba de que habla con quien cree. Si el código apaga esa comprobación, la conexión sigue cifrada pero ya no sabe con quién: alguien que se interponga en el camino puede hacerse pasar por el destino. Es una de las «soluciones» más repetidas en foros cuando un certificado da problemas en desarrollo, y por eso aparece en sugerencias.

Revisa la muestra y busca la sugerencia que hizo eso con un tercero y que, además, ya está en la rama principal.

Responde para continuar

¿Qué sugerencia que llegó a main deja la conexión con un tercero sin comprobar su identidad?

Ver pista de ayuda

En `sugerencias`, busca en `problema_encontrado` lo que tiene que ver con el certificado y comprueba `llego_a_main`.

Un fallo detenido en revisión es el sistema funcionando; un fallo fusionado es un hallazgo. Para dimensionar el problema importa separar las dos cosas: cuántas sugerencias con algún problema terminaron en la rama principal, sin contar las que se detuvieron ni las que no tenían nada.

Responde para continuar

¿Cuántas sugerencias de la muestra tenían algún problema y aun así llegaron a main?

Ver pista de ayuda

En `sugerencias`, descarta las que tienen `ninguno` en `problema_encontrado` y cuenta las restantes con `si` en `llego_a_main`.

Una muestra pequeña es útil para saber qué clase de fallos aparecen, no para dar una cifra sobre el total. Con diez casos, un solo fallo más o menos cambia el porcentaje diez puntos. Lo honesto es decir lo que la muestra sí muestra —que hay fallos clásicos que llegan a la rama principal sin un comentario de seguridad— y pedir lo que falta para medir: una muestra mayor o una medición sobre todos los cambios.

Responde para continuar

Con la tabla `muestra` delante, ¿qué conclusión puedes llevar al informe?

Ver pista de ayuda

Ejecuta `SELECT * FROM muestra` y lee la nota del final.

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