Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon La opción de Claude Code "Sí, y no preguntar más" puede filtrar claves y contraseñas en GitHub


La opción "Sí, y no volver a preguntar" de Claude Code puede provocar la filtración de contraseñas y claves API en repositorios públicos de GitHub. Investigadores de Apiiro descubrieron 2.539 secretos en 1.994 repositorios públicos, afectando a 63 organizaciones, principalmente empresas de software, demostrando que una aprobación rutinaria puede exponer credenciales privadas.



La opción “Sí, y no vuelvas a preguntar” de Claude Code puede guardar contraseñas y claves API dentro de la configuración del proyecto que luego llegan a repositorios públicos de GitHub.

Investigadores de Apiiro encontraron 2.539 secretos distintos en 1.994 repositorios públicos, demostrando cómo una aprobación rutinaria puede convertir credenciales privadas en datos públicos.

La investigación identificó 63 organizaciones afectadas, principalmente empresas de software. Las credenciales expuestas incluyeron una clave de nube de nivel administrador de un proveedor de bases de datos, una contraseña de Azure PostgreSQL de producción, un token de producción de Square y la contraseña del propietario de una base de datos de registros médicos. Apiiro señaló que una empresa confirmó que su clave expuesta había estado activa.

La filtración comienza durante el trabajo de desarrollo ordinario. Tú le pides a Claude Code que revise una base de datos, pruebe una API o solucione un problema de inicio de sesión fallido. Claude prepara un comando de shell que contiene una credencial de un archivo de configuración y luego te pide permiso antes de ejecutarlo.

Elegir “Sí, y no vuelvas a preguntar” puede almacenar ese comando, incluyendo su secreto, en .claude/settings.local.json. El comando se convierte en una regla de permiso, permitiendo que Claude Code lo ejecute de nuevo sin otra solicitud. El peligro surge cuando ese archivo local se confirma y se sube a GitHub.

Claude Code intenta evitar esto. Cuando escribe el archivo por primera vez dentro de un repositorio Git, añade una exclusión al archivo global .gitignore del desarrollador. Sin embargo, esa protección no viaja con el proyecto, no cubre archivos que ya están siendo rastreados ni protege de forma fiable una carpeta que se convierte en repositorio más tarde.

Las aprobaciones locales se convierten en secretos públicos

La investigación de Apiiro examinó 104.185 copias públicas de .claude/settings.local.json. Los investigadores encontraron secretos reales en 1.122 archivos, que contenían 1.379 credenciales distintas. Al revisar commits anteriores, configuraciones compartidas y transcripciones del agente, el total ascendió a 2.539. La recolección se llevó a cabo del 1 al 3 de noviembre de 2026.

La documentación de configuración de Anthropic confirma que las aprobaciones permanentes se guardan en el archivo de configuración local. Su guía de permisos explica que las aprobaciones de shell pueden persistir entre sesiones. Un problema reportado en GitHub mencionó el almacenamiento de credenciales en texto plano en comandos aprobados ya en agosto de 2025.

La distinción es importante. Esta exposición no requiere un prompt malicioso ni una cuenta robada. Sigue un flujo de aprobación normal. Vulnerabilidades anteriores de configuración de Claude Code implicaban que atacantes cambiaran la configuración del proyecto para robar claves API, pero este hallazgo se refiere a secretos registrados durante un trabajo legítimo.

Apiiro encontró que las bases de datos representaban una gran parte del acceso expuesto, incluyendo 379 contraseñas de bases de datos y 122 claves de rol de servicio de Supabase. Otros hallazgos incluyeron credenciales de nube, claves privadas, tokens de registros de paquetes y 43 inicios de sesión SSH. Algunos comandos SSH contenían contraseñas de root.

El escaneo estándar no detectó todo. De los 1.122 archivos de configuración local afectados, Gitleaks marcó 564 y TruffleHog marcó 643. Ninguna de las dos herramientas marcó 215 archivos. Las contraseñas incrustadas después de PGPASSWORD=, sshpass -p o dentro de cabeceras de solicitud a menudo carecen de los formatos claros utilizados para reconocer claves emitidas por proveedores.

Mantener estos archivos fuera de GitHub también deja un riesgo local. El malware puede leer configuraciones en texto plano en portátiles comprometidos. El ataque a la cadena de suministro de npm Shai-Hulud ya demostró cómo los atacantes usan TruffleHog para buscar credenciales en los archivos del desarrollador. Ese historial convierte a los archivos de aprobación del agente en un objetivo práctico, no solo en un error de publicación.

Deberías buscar en tus archivos actuales y en el historial de Git el archivo .claude/settings.local.json e inspeccionar los archivos compartidos .claude/settings.json. Revisa las reglas de permiso en busca de contraseñas, tokens, cadenas de conexión y cabeceras de autorización. Apiiro también encontró secretos en conversaciones guardadas con el agente, archivos de memoria y notas de despliegue.

La primera respuesta debe ser la rotación, no la eliminación. Revoca las credenciales expuestas antes de eliminar los archivos o reescribir el historial. Deja de rastrear la configuración local con git rm --cached .claude/settings.local.json y añade la ruta al .gitignore del repositorio.

Utiliza referencias de un gestor de secretos en lugar de contraseñas literales en los comandos. Los equipos de seguridad deberían escanear las carpetas y el historial del agente, realizando comprobaciones tanto de contraseñas incrustadas en comandos como de claves API reconocibles.



Fuentes:
https://cybersecuritynews.com/claude-codes-yes-and-dont-ask-again/