Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Git en la terminal y fuga de secretos

4 tareas · 20 min · Principiante

Git es el estándar absoluto para gestionar versiones de código y colaborar en proyectos. Sin embargo, para un analista de seguridad, un repositorio Git es también una fuente inagotable de hallazgos: los desarrolladores cometen el error habitual de subir contraseñas y claves de API y luego creen que borrarlas en el commit siguiente soluciona el problema. En esta sala aprenderás los comandos básicos de Git y cómo inspeccionar el historial forense.

0 de 4 · 0%

Objetivo de la sala

Git es el estándar absoluto para gestionar versiones de código y colaborar en proyectos. Sin embargo, para un analista de seguridad, un repositorio Git es también una fuente inagotable de hallazgos: los desarrolladores cometen el error habitual de subir contraseñas y claves de API y luego creen que borrarlas en el commit siguiente soluciona el problema. En esta sala aprenderás los comandos básicos de Git y cómo inspeccionar el historial forense.

Git gestiona los cambios en tres zonas: 1) El directorio de trabajo (Working Directory), donde editas los archivos con tu editor. 2) El área de preparación (Staging Area / Index), donde seleccionas qué cambios incluirás con git add. 3) El repositorio local, donde se sellan los cambios con git commit -m 'mensaje'. Cada commit genera un hash criptográfico SHA-1 o SHA-256 único que identifica el estado exacto del código en ese instante.

Responde para continuar

¿Qué comando de Git traslada los archivos modificados desde el directorio de trabajo hacia el área de preparación (Staging Area)?

Ver pista de ayuda

Añade los ficheros modificados a la lista de cambios que formarán parte del próximo commit.

Un desarrollador pega por error su clave de AWS en un script, hace commit y push a GitHub. Al notar el error cinco minutos después, borra la línea de la clave, hace un segundo commit ('fix: remove secret') y respira aliviado creyendo que la clave desapareció. Grave error: Git está diseñado para recordar toda la historia. La clave sigue intacta y visible para cualquiera que clone el repositorio e inspeccione los commits anteriores.

Responde para continuar

¿Por qué eliminar una contraseña en un commit posterior no protege la credencial que fue subida a un repositorio Git?

Ver pista de ayuda

El historial de versiones almacena cada estado previo del código sin destruirlo.

Para buscar secretos en un proyecto recién recibido, el auditor utiliza el comando git log -p: muestra la lista cronológica de commits junto con el diff línea a línea de todo lo añadido (+) y borrado (-). Combinando git log -p -S 'password' o git log -p -G '(api_key|secret)', Git busca instantáneamente en todos los commits del proyecto cualquier línea donde se haya introducido o eliminado esa palabra clave.

Responde para continuar

¿Qué parámetro del comando git log permite ver las diferencias detalladas de código (diff) introducidas en cada commit?

Ver pista de ayuda

Genera el parche visual de modificaciones para cada confirmación de la historia.

La prevención en Git se apoya en dos pilares: 1) El archivo .gitignore: lista qué archivos y carpetas locales (como .env, node_modules/ o carpetas de claves .pem) NUNCA deben añadirse al control de versiones. 2) Ganchos de pre-commit (Pre-commit hooks) y herramientas automatizadas (como TruffleHog o Gitleaks) que escanean los archivos antes de confirmar el commit, bloqueando la acción si detectan entropía o patrones de tokens privados.

Responde para continuar

¿Cuál es la función del archivo .gitignore en la raíz de un proyecto?

Ver pista de ayuda

Evita que archivos de configuración local o secretos se incorporen por descuido al repositorio.

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 y la seguridad de tu sesión y, solo si lo autorizas, analítica. Puedes aceptar, rechazar o personalizar. Política de Cookies · Política de Privacidad