Si usas Claude Code, el asistente de programación de Anthropic, hay un archivo en tu proyecto que conviene revisar hoy. Una investigación de la empresa de seguridad Apiiro encontró miles de contraseñas y llaves de acceso publicadas por accidente en GitHub dentro de ese archivo.
El problema no es una falla escondida en el código. Nace de un botón muy cómodo que muchos usamos sin pensar: el de aprobar un comando y pedir que no vuelva a preguntar.
¿Qué pasó?
El 5 de noviembre de 2026, los investigadores Shmulik Cohen y Matan Giladi, de Apiiro, publicaron un análisis de repositorios públicos de GitHub. Revisaron datos reunidos entre el 1 y el 3 de noviembre, y avisaron a las empresas afectadas antes de hacerlo público.
El archivo en cuestión es .claude/settings.local.json. Cuando Claude Code te pide permiso para ejecutar un comando y eliges la opción Yes, and don’t ask again, la herramienta guarda ese comando completo como una regla permitida. Si el comando llevaba una contraseña escrita, por ejemplo para conectarse a una base de datos, la contraseña queda guardada tal cual.
Según Apiiro, en GitHub hay 104,185 copias públicas de ese archivo. De ellas, 1,122 contenían 1,379 secretos distintos. Al ampliar la búsqueda al historial de cambios, a archivos de configuración compartidos y a transcripciones, la cifra subió a 2,539 secretos en 1,994 repositorios. Una de las empresas avisadas confirmó que su llave seguía activa.
Claude Code sí intenta protegerte: la primera vez que crea ese archivo en un repositorio, lo agrega a tu lista global de archivos que Git debe ignorar. El detalle es que esa lista vive en tu computadora y no viaja con el proyecto, así que no protege a tus compañeros ni a otras máquinas.
¿Por qué te importa?
Una contraseña de base de datos o una llave de la nube en un repositorio público es una puerta abierta. Cualquiera que la encuentre puede leer datos de tus clientes, borrar información o generar gastos a tu nombre.
Además, el riesgo no desaparece al borrar el archivo. Git guarda el historial, así que una contraseña que subiste hace meses puede seguir visible en un cambio anterior. Por eso los investigadores insisten en que lo primero es cambiar la contraseña, no esconderla.
Un detalle que señala iTWire: escribir la contraseña como variable de entorno dentro del mismo comando no te salva, porque sigue formando parte del texto que se guarda como regla.
¿Qué puedes hacer?
- Busca
.claude/settings.local.jsonen tus repositorios. Si contiene contraseñas, tokens o llaves, cámbialos de inmediato en el servicio correspondiente. - Deja de darle seguimiento a ese archivo en Git y agrégalo al
.gitignorede cada proyecto, para que la protección viaje con el repositorio. - Revisa el historial de cambios de tus proyectos públicos con una herramienta de escaneo de secretos antes de dar el tema por cerrado.
- Guarda tus credenciales en un gestor de secretos o en variables de entorno definidas fuera del comando, nunca escritas dentro de él.
- Piensa dos veces antes de usar la opción de no volver a preguntar en comandos que llevan datos sensibles; mejor apruébalos uno por uno.
Sigue leyendo
- Una copia falsa de Claude Code en Cursor instaló puertas traseras
- OpenCode sufrió una brecha: rota tus llaves de OpenAI y Anthropic
Fuentes
- GBHackers: Claude Code’s ‘Don’t Ask Again’ Feature Exposes 2,539 Secrets Across 1,994 GitHub Repositories
- iTWire: Claude Code approval files found exposing company secrets on GitHub, says Apirro researchers
Imagen de portada: imagen de TheDigitalWay en Pixabay.