El problema no era el código. Era lo que Git guardaba.

Por ·

Ciber Seguridad

El problema no era el código. Era lo que Git guardaba.

Hay un error que aparece con demasiada frecuencia cuando hacemos auditorías. Un desarrollador detecta que tiene una API Key expuesta dentro del código, la elimina y hace commit. La aplicación parece limpia. El problema queda resuelto, o eso cree.

Pero Git no olvida. Si esa credencial estuvo en algún momento dentro del repositorio, sigue ahí, enterrada en commits anteriores y perfectamente accesible para quien sepa dónde mirar.

Una de las herramientas que empleamos para detectar esta situación es TruffleHog. Aplicada sobre un repositorio autorizado, por ejemplo así:

tss@kali:~$ trufflehog git file:///home/tss/proyecto

Permite localizar elementos como:

API Keys, tokens, credenciales cloud, claves privadas, secretos de aplicaciones y credenciales que alguien dio por eliminadas pero que siguen presentes en el historial.

Y aquí está la parte que más importa: borrar el secreto del fichero no resuelve el problema por sí solo. Si esa información llegó a estar publicada en el repositorio, aunque fuese durante unos pocos minutos, nuestra recomendación es tratarla directamente como comprometida.

El protocolo en estos casos pasa por: revocar → regenerar → revisar el uso → investigar accesos → limpiar el historial si corresponde.

El error más habitual es pensar «ya lo he quitado del código». Pero un atacante no está mirando el estado actual del repositorio. Está mirando su historial.

La herramienta está disponible en la página oficial de descarga de TruffleHog.

Las herramientas hacen la parte de la búsqueda. El trabajo del auditor viene después: determinar si esos secretos siguen siendo válidos, qué permisos tienen asociados y qué impacto real tendría que alguien los utilizase.

TSS Ciberseguridad — Pentesting | Auditoría | DFIR | SOC | AI Security — info@tssciberseguridad.com


TruffleHog y la exposición de secretos en el historial de Git: lo que el código limpio no garantiza

Resumen técnico

El problema central es la persistencia de credenciales en el historial de Git tras su eliminación del código fuente. La herramienta TruffleHog permite analizar repositorios completos mediante el comando trufflehog git file:///ruta/proyecto, detectando API Keys, tokens de autenticación, credenciales cloud, claves privadas y secretos de aplicación embebidos en commits anteriores. Un secreto eliminado del fichero activo sigue siendo recuperable desde cualquier commit previo. El protocolo recomendado ante una exposición confirmada es secuencial: revocar → regenerar → revisar permisos → investigar accesos → limpiar historial. La ventana de exposición, aunque sea de minutos, obliga a tratar la credencial como comprometida.

Análisis de implicaciones

La eliminación de un secreto mediante un nuevo commit no borra el objeto en el grafo de Git: el blob original permanece referenciado en el historial. Esto implica que cualquier actor con acceso de lectura al repositorio, incluso en modalidad bare clone, puede recuperar la credencial con comandos estándar como git log -p o git show. El impacto se amplifica en repositorios migrados a plataformas públicas o compartidos entre equipos sin auditoría previa. La limpieza efectiva requiere herramientas como git filter-repo o BFG Repo Cleaner, seguidas de un force push coordinado y la invalidación inmediata de la credencial afectada.

Aplicación práctica

Durante una auditoría de seguridad sobre repositorios autorizados, la ejecución de TruffleHog sobre el historial completo permite identificar secretos con contexto: commit exacto, autor, timestamp y entropía de la cadena detectada. El auditor debe validar si la credencial sigue activa consultando las APIs del proveedor correspondiente, por ejemplo AWS IAM, GitHub Tokens o GCP Service Accounts. En entornos DevSecOps, la integración de TruffleHog en pipelines de CI/CD como pre-receive hook previene que el secreto llegue a registrarse. El análisis post-exposición incluye revisar los logs de uso de la credencial para determinar si fue explotada.

Contexto del sector

La exposición accidental de credenciales en repositorios es uno de los vectores de compromiso más frecuentes según los informes de threat intelligence actuales. Alternativas como GitLeaks, detect-secrets o Semgrep cubren casos similares, pero TruffleHog destaca por su análisis de entropía y sus detectores específicos por proveedor. La tendencia del sector se orienta hacia Secrets Management centralizado con herramientas como HashiCorp Vault o AWS Secrets Manager, eliminando la necesidad de almacenar secretos en el código fuente.

Artículo relacionado

TSS Ciberseguridad

Ver publicación original

Compartir este artículoLinkedInFacebookWhatsAppTelegram

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Lorenzo Lardillier Sanchez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento: No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a htpps://www.unelink.es que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad