902 04 32 89
info@nallam.es

Noticias

11 Abr 2025

El error silencioso que compromete tu seguridad: almacenar credenciales en el código

//
Comments0

 Como ingeniero informático, seguramente trabajas con Git, despliegues automáticos y múltiples entornos de desarrollo. Y aunque la prioridad siempre es que el código funcione, hay un riesgo silencioso que puede poner en jaque todo tu proyecto: guardar credenciales directamente en el repositorio.

Este error es más común de lo que parece, incluso en empresas grandes. Y lo peor es que muchas veces ni siquiera somos conscientes de haberlo cometido.

 

 ¿Cómo ocurre?

  • Un desarrollador copia una clave API en su código para probar una integración.
  • Ejecuta git add . sin revisar.
  • Hace un push al repositorio remoto.
  • Las credenciales quedan expuestas para siempre en el historial de Git (aunque luego las borres del archivo).

¿El resultado? Accesos no autorizados, brechas de seguridad, posibles sanciones (si hay datos personales) y pérdida de confianza.

 Herramientas para detectar credenciales expuestas

 1. TruffleHog

Escanea el historial de Git y detecta patrones comunes de secretos: claves de AWS, tokens, contraseñas hardcodeadas, etc.

trufflehog git@github.com:tu-org/repositorio.git

 2. Gitleaks

Muy rápido y configurable. Detecta leaks en tiempo real o en pipelines CI/CD.

gitleaks detect –source=.

 ¿Cómo evitarlo?

1. Usa archivos de entorno (.env)

Guarda tus variables de entorno en un archivo .env que esté incluido en el .gitignore. Por ejemplo:

bash

CopiarEditar

API_KEY=1234abcdSECRET

DB_PASSWORD=supersecure

2. Servicios de gestión de secretos

Para entornos productivos, usa herramientas profesionales como:

  • AWS Secrets Manager
  • HashiCorp Vault
  • Azure Key Vault
  • Google Secret Manager

Estas soluciones cifran y almacenan tus secretos, los auditan y permiten rotación automática.

3. Control de accesos y revisión de commits

  • Revisa los commits antes de hacer push.
  • Limita el acceso a los repositorios y tokens.
  • Configura hooks de pre-commit para bloquear secretos antes de subirlos.

Precaución post-commit

Es importante recordar que agregar un archivo al fichero .gitignore después de haber realizado un commit no elimina los datos ya almacenados en el historial de Git. Esto significa que si por error haces commit de un archivo con claves (y éste no está en el fichero .gitignore), incluso si posteriormente lo añades al archivo de exclusión, el archivo y sus datos sensibles continuarán existiendo en los commits anteriores.
Para mitigar esto, es necesario:

  • Utilizar herramientas como git filter-branch o BFG Repo-Cleaner para reescribir el historial del repositorio y eliminar de forma segura la información comprometida.
  • Revocar y regenerar las credenciales expuestas, ya que pueden haber sido clonadas o indexadas por terceros.

 

 Mucho Ojo!

Guardar credenciales en el código es como dejar las llaves de casa en el buzón. Puede que no pase nada hoy, pero el riesgo está ahí.

La seguridad empieza en el desarrollo. Y cuanto antes lo interioricemos, menos incidentes tendremos que lamentar.

Leave a Reply