Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Revisión de código con verificación

5 tareas · 30 min · Principiante

Leer código ajeno buscando el fallo es lento, y un modelo lo hace a una velocidad que un humano no tiene: recorre cientos de líneas y señala lo que le parece peligroso en segundos. También señala fallos que no existen y pasa por alto los que sí, porque no ejecuta el código ni ve siempre cómo se conectan las piezas. Astilla te entregó, dentro del alcance, el código de uno de sus servicios para revisarlo. Aquí usas el modelo como un primer barrido y practicas lo que lo hace útil de verdad: triar su salida contra el código real antes de escribir un solo hallazgo. Se razona sobre lo que el modelo reporta; nada se explota.

0 de 5 · 0%

Objetivo de la sala

Leer código ajeno buscando el fallo es lento, y un modelo lo hace a una velocidad que un humano no tiene: recorre cientos de líneas y señala lo que le parece peligroso en segundos. También señala fallos que no existen y pasa por alto los que sí, porque no ejecuta el código ni ve siempre cómo se conectan las piezas. Astilla te entregó, dentro del alcance, el código de uno de sus servicios para revisarlo. Aquí usas el modelo como un primer barrido y practicas lo que lo hace útil de verdad: triar su salida contra el código real antes de escribir un solo hallazgo. Se razona sobre lo que el modelo reporta; nada se explota.

El modelo revisa una función de Astilla y reporta, con total seguridad, una inyección de SQL. Vas al código: la consulta usa parámetros enlazados y la entrada nunca se concatena. El modelo vio la forma de una consulta con entrada de usuario y completó el patrón «esto suele ser inyectable», sin comprobar que aquí no lo es. Es un falso positivo, y suena idéntico a un hallazgo real.

Un fallo reportado por un modelo es una hipótesis a verificar, no un hallazgo. Se confirma leyendo el código y, cuando toca, reproduciéndolo en el laboratorio antes de que entre en el informe.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El modelo afirma que una función de Astilla tiene inyección de SQL, pero la consulta usa parámetros enlazados. ¿Qué es esa afirmación?

Ver pista de ayuda

El modelo reconoce la forma de una consulta con entrada de usuario, no si aquí es explotable. Léelo contra el código antes de creerlo.

Le pasas al modelo un archivo y te dice que no encontró nada preocupante. El problema real de ese servicio, sin embargo, nace de cómo un archivo recibe la entrada y otro archivo la usa sin sanear: el fallo vive en la conexión entre dos piezas que el modelo no miró juntas. «El modelo no encontró nada» no significa «no hay nada»; significa «no hay nada en lo que miró y como lo miró».

Un barrido de modelo acota, no cierra. La ausencia de hallazgos en su salida no es un veredicto de código limpio, sobre todo cuando el flujo peligroso cruza varios archivos.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El modelo revisó un archivo y no reportó nada, pero el fallo real surge de cómo ese archivo y otro comparten la entrada sin sanearla. ¿Cómo se interpreta el «no encontré nada»?

Ver pista de ayuda

«No encontró nada» es «nada en lo que miró». Un fallo que cruza dos archivos se le escapa a un barrido que los miró por separado.

El modelo dice que una librería del servicio de Astilla arrastra una vulnerabilidad conocida y suelta un identificador con forma de CVE. Puede ser real, puede estar mal atribuido a otra versión, o puede ser inventado: un modelo genera identificadores plausibles con la misma facilidad con que cita los verdaderos. Un CVE en un informe se contrasta siempre contra la fuente oficial, no contra la memoria del modelo.

Poner en un informe un CVE que no existe, o que no afecta a la versión que el cliente usa, destruye la credibilidad del trabajo entero. La verificación aquí es barata —consultar la base oficial— y el error es caro.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El modelo cita un identificador tipo CVE para una librería de Astilla. ¿Qué haces antes de ponerlo en el informe?

Ver pista de ayuda

Un modelo inventa identificadores plausibles igual que cita los reales. Un CVE se comprueba en la fuente oficial, no en su palabra.

El modelo etiqueta un hallazgo como crítico, con seguridad. Pero la severidad depende de cosas que el modelo no conoce: si el código vulnerable es alcanzable de verdad, qué datos toca, qué protecciones hay alrededor, qué significa para el negocio de Astilla. Una etiqueta de severidad sin tu evidencia de que el fallo se puede alcanzar y explotar es una opinión con formato.

La severidad final la calcula el operador con el contexto del engagement: la reproducción en el laboratorio, la exposición real y el impacto para el cliente. El modelo puede sugerir; el veredicto lo sostiene la evidencia.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El modelo marca un hallazgo de Astilla como «crítico». ¿Qué determina la severidad que va al informe?

Ver pista de ayuda

El modelo no sabe si el fallo es alcanzable ni qué toca en el negocio del cliente. La severidad la sostiene tu evidencia, no su etiqueta.

Abre la estación. El modelo citó un identificador de vulnerabilidad para una librería del servicio; no lo des por bueno por su tono. Contrástalo contra el índice local de CVE antes de creerlo.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El modelo citó un identificador de CVE que, al contrastarlo con el índice local, no existe. Haz el contraste y escribe el código que acompaña al resultado «no encontrado».

Formato esperado: IAO-____

Ver pista de ayuda

El modelo cita el identificador en ~/modelo/revision.txt; búscalo en ~/indice-cve/consulta.txt. El código está junto al resultado de la búsqueda.

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

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

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