Claude Code expone credenciales en GitHub: 2.539 secretos reales encontrados en 1.994 repositorios públicos

Claude Code, el agente de programación de Anthropic, está escribiendo credenciales sensibles en archivos de configuración local que acaban en repositorios públicos de GitHub: los investigadores han identificado 2.539 credenciales reales en 1.994 repositorios, pertenecientes a 63 organizaciones.

El hallazgo lo ha publicado la firma de seguridad Apiiro y lo recoge Ars Technica. Según el informe, más de 100.000 archivos de configuración local de Claude Code han sido subidos a repositorios públicos y alrededor de 1.100 de ellos contienen secretos reales: contraseñas de bases de datos, tokens de API, claves privadas o credenciales de acceso root.

¿Qué está ocurriendo exactamente?

El problema tiene su origen en la forma en que Claude Code gestiona los permisos para ejecutar comandos. Cuando el agente pregunta al usuario si permite ejecutar un comando de shell, este puede responder “sí, y no volver a preguntar”. Esa autorización se guarda en un archivo local llamado .claude/settings.local.json.

El archivo no guarda solo la regla de autorización. También puede conservar el texto completo del comando, y si ese comando incluye una contraseña, un token o una clave, esos datos quedan registrados en el archivo.

Por diseño, ese archivo debería estar incluido en el .gitignore global del desarrollador para que Git no lo rastree. Pero esa configuración no siempre se aplica a repositorios concretos. Si el proyecto se clona en otro ordenador, o si una carpeta normal se convierte más tarde en un repositorio Git, el archivo puede acabar subiéndose sin que el usuario lo sepa.

El alcance de la filtración

Los investigadores no se limitaron a contar archivos. Combinaron el historial de Git, los archivos de configuración compartidos y los registros de conversación del agente para identificar credenciales reales. El resultado:

  • 2.539 credenciales verificadas en 1.994 repositorios.
  • 63 organizaciones afectadas, entre ellas equipos de estudiantes, startups, agencias de software y proveedores consolidados.
  • Tipos de secretos expuestos: contraseñas de bases de datos de Azure, tokens de producción de Square, credenciales de acceso SSH root y contraseñas de bases de datos con registros médicos.

El informe señala un patrón claro: cuanto más grande es el archivo de configuración, más probable es que contenga secretos. Uno de cada diez archivos de más de 8 KB contiene credenciales reales. En archivos de menos de 500 bytes, la proporción cae a menos de uno de cada quinientos.

La explicación es sencilla: cuanto más tiempo pasa un desarrollador pulsando “no volver a preguntar”, más comandos se acumulan en el archivo, y más oportunidades hay de que alguno incluya datos sensibles.

Un problema que ya se había reportado

No es la primera vez que se documenta este riesgo. En agosto de 2025, un informe de errores de Claude Code ya señalaba que los archivos de configuración podían no estar correctamente incluidos en el .gitignore, o que comandos sensibles podían escribirse en archivos no protegidos por Git. Esos informes se cerraron tras 60 días sin actividad.

El problema persiste, y la investigación de Apiiro demuestra que las consecuencias son reales y medibles.

La respuesta de Anthropic

Boris Cherny, miembro del equipo de Claude Code, respondió el 7 de noviembre en Hacker News. Según su mensaje, el equipo está trabajando en medidas de prevención y reconoce que el archivo de configuración no debería haberse subido nunca al control de versiones.

Cherny recomendó a los usuarios utilizar herramientas de escaneo de secretos para limpiar credenciales expuestas y afirmó que están considerando incorporar la detección de secretos directamente en Claude Code.

¿Por qué el borrado del archivo no siempre resuelve el problema?

Incluso si el desarrollador elimina el archivo del repositorio, la credencial puede seguir siendo accesible. Si otro usuario ha creado un fork del repositorio, la copia mantiene el archivo y los secretos que contiene. El historial de Git también conserva versiones anteriores del archivo, lo que significa que una credencial eliminada en un commit reciente puede recuperarse desde un commit anterior.

La recomendación en estos casos es rotar las credenciales expuestas y no confiar en que el borrado del archivo sea suficiente.

Recomendaciones para los desarrolladores que usan Claude Code

Si utilizas Claude Code en tus proyectos, conviene revisar la configuración y tomar medidas:

  • Comprobar si el archivo .claude/settings.local.json está en el .gitignore de cada repositorio, no solo en la configuración global de Git.
  • Revisar el historial del repositorio en busca de versiones anteriores del archivo que puedan contener secretos.
  • Utilizar un escáner de secretos (como git-secrets, TruffleHog o Gitleaks) antes de subir cambios a repositorios públicos.
  • Rotar cualquier credencial que haya podido quedar expuesta en un archivo de configuración.
  • Limitar el uso de “no volver a preguntar” a comandos que no incluyan datos sensibles.

Lo que falta por confirmar

Anthropic no ha especificado qué medidas concretas está implementando ni cuándo estarán disponibles. Tampoco ha detallado si la detección de secretos que planea incorporar será una función activa por defecto o requerirá configuración adicional.

La investigación de Apiiro se ha centrado en repositorios públicos. No hay datos sobre cuántos repositorios privados pueden contener archivos de configuración con credenciales, aunque en esos casos el riesgo de exposición es menor porque el acceso está restringido.

Vistas: 1

Descubre más desde CIBERED

Suscríbete y recibe las últimas entradas en tu correo electrónico.

Scroll al inicio