🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSecretos en el código y en el estado
5 tareas · 40 min · Principiante
Una clave de acceso escrita en un archivo de Terraform viaja a donde viaje el repositorio: copias en los equipos, historial, revisiones de código, respaldos. Y aunque el código esté limpio, el estado que Terraform guarda puede contener las contraseñas que él mismo aplicó. En Alisio, el escáner de secretos de la canalización avisó el 29 de septiembre de 2026 de una clave de acceso en el historial. En esta sala se delimita el hallazgo con lo que hay en el repositorio: en qué archivo entró, cuándo, cuánto tiempo estuvo ahí y por qué «borrarla» no fue la corrección.
Objetivo de la sala
Una clave de acceso escrita en un archivo de Terraform viaja a donde viaje el repositorio: copias en los equipos, historial, revisiones de código, respaldos. Y aunque el código esté limpio, el estado que Terraform guarda puede contener las contraseñas que él mismo aplicó. En Alisio, el escáner de secretos de la canalización avisó el 29 de septiembre de 2026 de una clave de acceso en el historial. En esta sala se delimita el hallazgo con lo que hay en el repositorio: en qué archivo entró, cuándo, cuánto tiempo estuvo ahí y por qué «borrarla» no fue la corrección.Un repositorio guarda todo su historial: la línea que se borra en un commit nuevo sigue visible en el commit donde se escribió, en cada copia clonada y en cualquier respaldo. Por eso quitar una clave de un archivo es un paso de limpieza, no de contención. La contención es invalidar la credencial —desactivarla y emitir otra— y, después, revisar con el registro de la cuenta si alguien llegó a usarla en el tiempo que estuvo expuesta.
Reescribir el historial puede ser un paso adicional, pero no sustituye a la rotación: no hay forma de saber quién copió el repositorio mientras la clave estaba dentro.
Responde para continuar
Una clave de acceso se escribió en un commit y se eliminó en otro posterior. ¿Qué queda por hacer?
Ver pista de ayuda
La clave sigue existiendo en el historial y en cualquier copia clonada.
El primer paso para delimitar un secreto expuesto es encontrar el commit donde entró y qué archivo tocó. En diff-a41c9e7.txt está el cambio completo: las rutas de archivo aparecen en las líneas que empiezan por tres signos más. La clave es la de ejemplo que el proveedor publica en su documentación, y el valor secreto está omitido; lo que se aprende aquí es la lectura del rastro, no el valor.
Responde para continuar
¿En qué archivo se escribió la clave de acceso? Escribe el nombre del archivo.
Ver pista de ayuda
En el diff del commit, la línea con tres signos más y la letra b seguida de una barra nombra el archivo creado.
La clave de acceso no es el único secreto del repositorio. terraform.tfvars está versionado y trae el valor de una variable que es la contraseña de la base de reportes. Lo correcto para un valor así es no escribirlo nunca en el repositorio: se entrega a la canalización desde un servicio de secretos o desde una variable protegida del sistema de integración, o se deja que el servicio de bases de datos gestione la contraseña maestra. Para el informe se necesita el nombre de la variable, tal como se declara en variables.tf.
Responde para continuar
¿Cómo se llama la variable que guarda la contraseña de la base en el archivo de valores versionado?
Ver pista de ayuda
Abre terraform.tfvars y localiza la línea cuyo valor es una contraseña.
Declarar una variable o una salida como sensible hace que Terraform oculte su valor en la salida de la consola y en la interfaz de revisión. No lo elimina del estado ni del plan: la documentación oficial advierte que los valores sensibles se guardan en los dos archivos y que quien pueda leerlos puede ver esos valores. En el extracto del estado de Alisio, la contraseña de la base aparece con todas sus letras.
Por eso el control de un secreto en Terraform no es un atributo del lenguaje, sino quién puede leer el estado y qué valores llegan a él.
Responde para continuar
Una variable se declara como sensible. ¿Qué garantiza eso?
Ver pista de ayuda
Compara la política de la variable con el extracto del estado, que está en la carpeta.
El tiempo de exposición es lo que decide el alcance de la revisión posterior: durante esos días hay que mirar el registro de la cuenta buscando usos de la clave. Se cuenta desde el commit que la introdujo hasta la fecha de rotación, no hasta el commit que la «quitó», porque entre las dos fechas la clave seguía activa. El historial da la fecha de entrada y el registro de la respuesta da la fecha de rotación.
Responde para continuar
¿Cuántos días estuvo activa la clave dentro del repositorio, desde el commit que la introdujo hasta la rotación? Escribe solo el número.
Ver pista de ayuda
Fecha del commit que la introdujo en historial-git.txt, fecha de rotación en rotacion.txt; cuenta los días entre una y otra.
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.