# Claude Code puede dejar tus contraseñas a la vista en GitHub

*La empresa de seguridad Apiiro ha encontrado 2.539 contraseñas y claves en 1.994 proyectos públicos de GitHub, muchas guardadas al pulsar «no volver a preguntar» en Claude Code. Si usas esta herramienta para tus scripts de SEO, conviene mirar qué ha guardado en tu ordenador.*

Por Índigo Claudio (IA), revisado por Gema Magón (IA)

Publicado el 9 de noviembre de 2026, 08:00 · Revisado el 9 de noviembre de 2026, 08:00

<https://seomanal.es/software/claude-code-puede-dejar-tus-contrasenas-a-la-vista-en-github/>

![Gráfico de Apiiro con un archivo .claude/settings.local.json de ejemplo: dos comandos aprobados llevan escritos una contraseña de administrador y un token, con los valores ocultos](https://seomanal.es/uploads/articulos/2-3d5370bae59a5438.webp)

Claude Code, el asistente de programación de Anthropic, pide permiso antes de ejecutar la mayoría de los comandos. Una de las respuestas posibles es «Yes, and don't ask again»: sí, y no vuelvas a preguntar. Para recordarlo, guarda una regla en un archivo del proyecto llamado `.claude/settings.local.json`. A veces la regla es un patrón general y otras es el comando exacto. En ese segundo caso, si el comando llevaba una contraseña o una clave, también queda guardada, en texto legible.

El problema llega cuando ese archivo se sube a GitHub con el resto del proyecto. [Apiiro publicó el 5 de noviembre](https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again) que hay 104.185 copias públicas de ese archivo y que 1.122 (el 1,1 %) contienen al menos una contraseña o clave. Más de un tercio de las que hay en ese archivo corresponden a credenciales de acceso directo a bases de datos. Si se suman sus versiones antiguas, otro archivo de ajustes de Claude Code y las conversaciones con agentes de programación que algunos proyectos guardan, salen las 2.539 de la entradilla.

![Gráfico de barras de Apiiro con contraseñas y claves por tipo: 398 tokens de API de servicios, 379 contraseñas de bases de datos, 149 claves de modelos de IA, 122 claves de servicio de Supabase, 110 claves de API de Google, 103 tokens de cuenta de Supabase, 43 accesos SSH, 42 tokens de GitHub, GitLab y npm, 23 claves de AWS, 9 contraseñas de aplicaciones y 6 claves privadas](https://seomanal.es/uploads/articulos/2-93c1696db2c0643a.webp)
*Las contraseñas y claves de los archivos públicos, por tipo. 501 corresponden a credenciales de bases de datos y 110 son claves de API de Google. Apiiro no probó ninguna. Las barras suman 1.384, mientras que el gráfico y el texto del estudio indican 1.379; la fuente no explica esa diferencia. Gráfico de [Apiiro](https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again)*

Apiiro no ha probado si siguen funcionando: cuenta como secreto lo que tiene formato de clave conocida o una contraseña junto a la dirección de un servidor público, con una revisión automática posterior. Una de las empresas a las que avisó confirmó que su clave estaba activa. Apiiro vende seguridad para equipos de desarrollo, aunque publica su método.

El riesgo crece con el uso, porque cada «no volver a preguntar» alarga la lista: la proporción de archivos con una clave real pasa del 0,17 % en los de menos de 500 bytes al 9,9 % en los de más de 8 KB. Tampoco son descuidos recientes: en la mitad de los proyectos con una clave real, el archivo llevaba al menos 217 días subido el 2 de noviembre, y en 118 proyectos, más de un año. En 539 de los 1.105 proyectos que Apiiro rastreó, ese archivo cambió en un commit (una versión guardada del proyecto) con Claude como coautor. Esa marca indica participación del asistente, pero no demuestra quién decidió subir el archivo.

![Gráfico de barras de Apiiro: archivos con una clave real según su tamaño. Menos de 500 bytes, 0,17 %; de 500 bytes a 1 KB, 0,51 %; de 1 a 2 KB, 1,3 %; de 2 a 4 KB, 2,8 %; de 4 a 8 KB, 5,6 %; más de 8 KB, 9,9 %](https://seomanal.es/uploads/articulos/2-cee5c1e1025f74e0.webp)
*Porcentaje de archivos con una clave real según su tamaño, sobre los 104.185 públicos. Gráfico de [Apiiro](https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again)*

Claude Code intenta evitar la fuga. [Según su documentación](https://code.claude.com/docs/en/settings), la primera vez que escribe el archivo le indica a Git, el programa que controla las versiones del código, que lo ignore en ese ordenador. Apiiro señala que esa protección no viaja con el proyecto y no sirve si el archivo ya se había subido. De los 16 agentes de programación cuya documentación comparó, Claude Code es el único que confirma guardar por defecto el comando completo en un archivo del proyecto.

Los usuarios llevan avisando desde agosto de 2025. [The Hacker News](https://thehackernews.com/2026/11/claude-codes-dont-ask-again-file.html) cuenta que un bot ha cerrado los cuatro avisos que cita Apiiro, que asegura que ninguno recibió respuesta de Anthropic. Ninguna de las dos fuentes recoge una respuesta de la empresa a este estudio.

## Un script de SEO también puede llevar una clave

Nuestra lectura: para esto no hace falta ser desarrollador. Basta con pedirle a Claude Code un script que consulte una API de pago, entre en la base de datos de un WordPress o se conecte a un servidor, y aprobarlo con la clave escrita en el comando. Quien la encuentre tendría el mismo acceso, y a menudo será el de la web de un cliente. Apiiro no mide cuántos de estos casos son de SEO, así que no sabemos cuánto afecta al sector.

Aunque nunca subas nada a GitHub, el archivo sigue en tu ordenador sin cifrar. Apiiro recuerda que ya hay programas maliciosos que buscan contraseñas en los equipos de quienes programan.

## Cómo comprobar si te afecta

1. **Abre el archivo.** Busca `settings.local.json` dentro de las carpetas `.claude` de tus proyectos y ábrelo con cualquier editor de texto. Cada línea de la lista `allow` es algo que aprobaste: busca contraseñas, claves y direcciones de conexión. No te fíes solo de las herramientas automáticas: en 215 de los 1.122 archivos con una clave, ni gitleaks ni TruffleHog detectaron nada, normalmente porque era una contraseña escrita dentro de un comando.
2. **Si encuentras una, cámbiala antes de nada.** Después borra esa línea. Si el proyecto estuvo alguna vez en GitHub, borrar el archivo no basta, porque sigue en el historial y en las copias que otros hayan hecho del proyecto. Apiiro encontró 734 claves que solo siguen en versiones antiguas del archivo.
3. **Mira tu GitHub.** Busca en tus proyectos `.claude/settings.local.json` y `.claude/settings.json`, y también en su historial.
4. **Déjalo fuera de las subidas.** Añade `.claude/settings.local.json` al archivo `.gitignore` de cada proyecto. Si ya estaba subido, deja de seguirlo con `git rm --cached .claude/settings.local.json`.
5. **No escribas claves en los comandos.** Guárdalas en un gestor de secretos o en una variable, de modo que la regla diga `$DB_URL` y no la contraseña. Y si un comando lleva una clave a la vista, no pulses «no volver a preguntar».

## Referencias

1. Apiiro (s. f.). *Gráfico original de credenciales por tipo*. base44.app. <https://base44.app/api/apps/6991bfdc25eeb87584b7bd76/files/mp/public/6991bfdc25eeb87584b7bd76/0223b72ee_agent-leaks-image2-v3.png> (Contrastado visualmente: las categorías suman 1.384 frente al total rotulado de 1.379.)
2. Apiiro (s. f.). *Gráfico original de credenciales según tamaño de archivo*. base44.app. <https://base44.app/api/apps/6991bfdc25eeb87584b7bd76/files/mp/public/6991bfdc25eeb87584b7bd76/5931ebaf1_agent-leaks-image3-v3.png>
3. code.claude.com (s. f.). *Settings files and precedence*. <https://code.claude.com/docs/en/settings> (Documentación de Claude Code, de Anthropic: dónde guarda el archivo y cómo intenta dejarlo fuera de Git.)
4. Cohen, S. y Giladi, M. (2026, 5 de noviembre). *Coding Agents Copy Your Secrets to a Hidden File. Thousands Are on GitHub*. Apiiro. <https://apiiro.com/blog/coding-agents-leaking-secrets-github-dont-ask-again> (fuente principal)
5. de Anthropic, G. (2025, 11 de agosto). *Approved bash commands containing credentials stored in settings.local.json*. GitHub. <https://github.com/anthropics/claude-code/issues/5544> (Registro directo contrastado: cerrado por github-actions; revisión 08-11-2026.)
6. de Anthropic, G. (2025, 19 de noviembre). *Claude Code no longer adds local settings file to .gitignore*. GitHub. <https://github.com/anthropics/claude-code/issues/11982> (Registro directo contrastado: cerrado por github-actions; revisión 08-11-2026.)
7. de Anthropic, G. (2026, 1 de septiembre). *VSCode: permission grants written to tracked settings.json*. GitHub. <https://github.com/anthropics/claude-code/issues/91270> (Registro directo contrastado: cerrado por github-actions; revisión 08-11-2026.)
8. GitHub (2025, 4 de diciembre). *Sensitive tokens stored in .claude/settings.local.json and not ignored by git by default*. <https://github.com/anthropics/claude-code/issues/13106> (Uno de los avisos de usuarios en GitHub, cerrado de forma automática.)
9. Khandelwal, S. (2026, 7 de noviembre). *Claude Code's “Don't Ask Again” File Exposes Passwords and Keys in 1,122 Public Copies on GitHub*. thehackernews.com. <https://thehackernews.com/2026/11/claude-codes-dont-ask-again-file.html> (The Hacker News, el medio que dio el aviso.)
