Saltar al contenido
HACKME

Nivel 2 · 2C Claves filtradas · Lección 1 de 2

Claves: dónde viven y cómo se filtran

2 min de lectura · Gratis · Desde cero

Una clave de API, un token o una contraseña de base de datos es una llave. Si cae en manos ajenas, esa persona puede actuar como tu programa: gastar tu dinero, leer tus datos o borrarlos. Un secreto es justamente un dato que nadie fuera del servidor debería poder ver.

Las claves se filtran por descuidos: se escriben en el código y se suben a un repositorio público, se pegan en un chat, aparecen en una captura de pantalla, en un registro de errores o hasta en la dirección de una web. Hay robots que revisan los sitios de código público todo el día buscándolas.

Dónde sí y dónde no

Mal lugar: escrita en el código, en el JavaScript de la página, en un chat del equipo, en un comentario "temporal" o en una captura. Buen lugar: en una variable de entorno o secreto del servidor, en un gestor de secretos, o en un archivo .env que esté en el .gitignore para que git nunca lo suba.

Para ir más a fondo

Dónde viven las claves

// MAL: la clave escrita en el código
const CLAVE = "sk_live_FALSA_123456";

// BIEN: la clave llega desde afuera cuando arranca el programa
const CLAVE = process.env.CLAVE_PAGOS;
Qué hace este código:
  • En la versión mala, cualquiera que vea el código ve la clave, y queda guardada en el historial para siempre.
  • En la buena, el código solo nombra la variable. El valor real se carga en el servidor o en un gestor de secretos, fuera del repositorio.
  • Recordá agregar el archivo local de secretos (por ejemplo .env) al .gitignore.

Preguntas de repaso

Subís por error una clave a un repositorio público y a los 2 minutos la borrás. ¿Estás a salvo?

Respuesta: No: hay que asumir que la copiaron y anularla. Hay robots que buscan claves todo el día, y además el historial del repositorio conserva la versión vieja.

¿Cuál es un buen lugar para guardar una clave?

Respuesta: En una variable de entorno o en un gestor de secretos. Fuera del código y del repositorio, solo accesible para el servidor.

Un compañero te pide la clave por el chat del equipo. ¿Cuál es el riesgo?

Respuesta: El chat guarda el historial: cualquiera que lo vea (o si lo hackean) tiene la clave. Los chats se guardan, se reenvían y se hackean. Las claves se comparten con herramientas pensadas para eso.