Apiiro encontró 1.122 archivos con credenciales reales en GitHub
1.122 archivos de configuración de Claude Code con credenciales sensibles quedaron accesibles públicamente en GitHub. Lo detectó Apiiro, una firma de seguridad de aplicaciones, tras revisar 104.185 copias públicas del archivo .claude/settings.local.json repartidas en 103.617 repositorios.
Cerca del 1,1% de esos archivos contenía lo que los investigadores Shmulik Cohen y Matan Giladi clasificaron como secretos reales: 1.379 credenciales distintas. Al ampliar el análisis a versiones históricas y a otros registros generados por herramientas de IA, el total subió a 2.539 credenciales en 1.994 repositorios públicos.
Los dueños de esos archivos incluyen 63 organizaciones, desde equipos pequeños y startups hasta proveedores de tecnología consolidados. Entre los hallazgos hay contraseñas de bases de datos de producción, una clave de administración en la nube de un proveedor de bases de datos y las credenciales de una aplicación que gestiona historiales médicos.
Leíste lo que hace la IA. ¿Y en tu negocio?
Un agente de IA puede quedarse con parte de tu día: ordenar lo pendiente y pedirte el OK antes de actuar. El Kit «tu mano derecha con IA» trae un video de 11 minutos y una ficha para dejar al tuyo trabajando. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →Los investigadores no intentaron iniciar sesión en los sistemas afectados ni probar si las claves seguían activas. Pero una de las organizaciones notificadas confirmó que una clave expuesta estaba operativa.
Por qué «Sí, y no volver a preguntar» guarda tus contraseñas
Claude Code no solo sugiere código: también propone y ejecuta comandos en la computadora del desarrollador, como conectarse a una base de datos para diagnosticar una aplicación o llamar a un servicio externo. Esas operaciones suelen requerir contraseñas.
Para no interrumpir el trabajo, el usuario puede elegir «Sí, y no volver a preguntar». El problema es que Claude Code no guarda solo el permiso: guarda el comando completo, con la contraseña o la clave incrustada, en el archivo local .claude/settings.local.json.
Ese archivo debería quedarse en la máquina. Anthropic lo agrega a la lista global de exclusión de Git del usuario, lo que en teoría evita que se suba. Pero esa protección vive en la configuración de Git de una persona en una computadora, no en el repositorio. Si el archivo ya estaba siendo rastreado por Git, si el proyecto se clona en otra máquina o si una carpeta se convierte en repositorio más tarde, la protección desaparece.
Según The Hacker News, en 539 de los 1.105 repositorios rastreados por Apiiro el commit que modificó el archivo tenía a Claude como coautor: en la práctica, el propio agente subió el archivo.
El punto ciego de los escáneres de secretos
Muchos equipos confían en herramientas automáticas como gitleaks o TruffleHog. Apiiro las corrió sobre las 1.122 copias comprometidas: gitleaks marcó 564 y TruffleHog 643, pero ninguna de las dos detectó 215 archivos.
La razón es el formato. Los escáneres buscan patrones de claves conocidas —un prefijo de proveedor, una cadena larga aleatoria—. Una contraseña escrita después de PGPASSWORD=, sshpass -p o mysql -p parece una palabra común dentro de un comando común.
El desglose de lo expuesto, según CryptoBriefing, incluye 379 contraseñas de bases de datos, 122 claves service-role de Supabase, 103 tokens de cuenta de Supabase, 43 accesos SSH (algunos como root) y 23 claves de AWS. Las claves service-role de Supabase son especialmente delicadas: están diseñadas para saltarse la seguridad a nivel de fila, lo que las acerca más a una llave maestra que a una llave de casa.
Qué significa esto para tu startup
El riesgo no termina cuando el agente deja de ejecutarse. Los registros que deja atrás siguen expuestos mucho después de que la tarea terminó.
Hay un dato de escala que ayuda a dimensionar el problema: según el informe Octoverse 2026 de GitHub, la plataforma pasó de 12.900 millones de commits en 2025 a 34.300 millones, y los repositorios con configuraciones de agentes registran en promedio ocho veces más commits que los que no las usan. En marzo, el 17% de los pull requests se iniciaban con un agente de IA; en septiembre, el 40%.
Más agentes escribiendo más código significa más archivos de configuración generados automáticamente. Y el blog de GitGuardian, citado por i-Programmer, señala que los commits asistidos por Claude Code ya filtran secretos con más frecuencia que los escritos por humanos.
Dos acciones concretas para tu equipo:
- Trata las carpetas de agentes como secretos.
.claude/,.cursor/,.gemini/y.specstory/, junto con los archivos de memoria del agente, deben considerarse tan sensibles como un.env. Inclúyelos en el escaneo previo al commit y en el CI, con el historial de Git incluido. - Deja de escribir secretos en los comandos. Refiérete a ellos como variables desde tu gestor de secretos:
$DB_URLen lugar de la cadena real. Así la regla guardada contiene el nombre de la variable, no la contraseña.
Vale aclarar el contexto de gobierno: en la encuesta VB Pulse de VentureBeat sobre seguridad e identidad de agentes, publicada en octubre de 2026, el 24% de 101 líderes empresariales de IA y seguridad dijo que sus agentes operan mayormente con claves compartidas o credenciales asociadas a personas o cuentas de servicio. Otro 20% admitió no tener forma automatizada de detectar cuándo un agente realiza una acción no autorizada.
Cinco verificaciones para hacer hoy
Apiiro recomienda estos pasos, en sus propias palabras:
- Busca en tu organización de GitHub los archivos
.claude/settings.local.jsony.claude/settings.json. - Revisa el historial de Git de cada repositorio, incluso si el archivo ya no está.
- Rota cada credencial que el archivo haya contenido alguna vez.
- Agrega
.claude/settings.local.jsona las plantillas de.gitignorede tu organización. - Deja de escribir secretos en los comandos. Refiérelos como
$VARdesde tu gestor de secretos, para que la regla registre$DB_URLy no el secreto.
El orden importa: rotar primero, limpiar después. Borrar el archivo no lo elimina del historial de Git ni de los forks. Según The Hacker News, al momento del análisis todos los archivos con secretos seguían en la rama principal de su repositorio, y en la mitad de esos repos llevaban allí al menos 217 días. Las versiones antiguas sumaban 734 secretos adicionales en 509 repositorios, y 211 forks de 74 repositorios arrastraban las mismas credenciales.
Qué dice Anthropic
Boris Cherny, responsable de Claude Code en Anthropic, respondió a los hallazgos en una discusión del 7 de noviembre en Hacker News. Dijo que el equipo estaba explorando mejoras, incluido un escaneo integrado de credenciales expuestas y salvaguardas adicionales en el sistema de permisos automáticos. No anunció una solución concreta ni una fecha de lanzamiento.
Cherny también señaló que el archivo no debería estar bajo control de versiones y recomendó usar el modo automático en lugar de mantener listas de permisos manuales.
Hay un antecedente incómodo: según The Hacker News, un reporte de bug presentado en agosto de 2025 ya describía que los comandos aprobados con claves y tokens se guardaban palabra por palabra en settings.local.json. Un bot lo cerró como «no planificado».
Conclusión
La lección para cualquier equipo que adopte agentes de IA no es dejar de usarlos, sino asumir que cada agente deja rastro. El archivo de configuración de un asistente de código es, en la práctica, un archivo de secretos.
Si usas Claude Code, revisa hoy tus repositorios públicos y el historial de Git. Si encuentras credenciales, rótalas antes de borrar nada. Y si tu equipo todavía escribe contraseñas directamente en los comandos, ese es el cambio de hábito con mayor retorno: cuesta minutos y elimina la causa raíz.
Fuentes
- VentureBeat (fuente original)
- Apiiro
- Ars Technica
- Cybernews
- CryptoBriefing
- The Hacker News
- i-Programmer
Leíste lo que hace la IA. ¿Y en tu negocio?
Un agente de IA puede quedarse con parte de tu día: ordenar lo pendiente y pedirte el OK antes de actuar. El Kit «tu mano derecha con IA» trae un video de 11 minutos y una ficha para dejar al tuyo trabajando. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.
👥 Quiero el Kit →













