10
Mar, Nov

Vulnerabilidad en Claude Code: La opción 'Sí, y no vuelvas a preguntar' expuso miles de contraseñas en GitHub

Tecnologia
Una función aparentemente inofensiva en Claude Code, la opción 'Sí, y no vuelvas a preguntar', ha provocado una fuga masiva de datos sensibles. Al guardar comandos con contraseñas en texto plano, la información terminaba en repositorios públicos de GitHub, poniendo en riesgo la seguridad de los usuarios. Este incidente subraya los peligros del 'vibecoding' y la falta de supervisión en la subida de código.

Los modelos de inteligencia artificial generativa se caracterizan por su insistencia, a menudo concluyendo sus interacciones con la pregunta: "¿Quieres que haga algo más?". Este comportamiento es inherente a los LLM, que son sistemas predictivos diseñados para continuar su procesamiento. Aunque las herramientas actuales permiten restringir esta tendencia, los resultados pueden no ser siempre los esperados.

El problema se manifestó en Claude Code, una aplicación que, a pesar de poder operar en modo automático, siempre solicitaba confirmación al usuario para decisiones importantes. Para agilizar el proceso, la aplicación ofrecía un selector de "Sí, y no vuelvas a preguntar", similar a la opción que aparece al eliminar archivos.

Sin embargo, en el caso de Claude Code, seleccionar esta opción implicaba que el comando aprobado, incluyendo cualquier contraseña que contuviera, se guardaba en un archivo que podía incorporarse al código generado por la IA. Como descubrió Apiiro, esta mecánica facilitó la filtración de contraseñas de bases de datos, credenciales de servidores SSH, claves privadas, tokens de GitHub y claves de AWS.

Imagina el impacto de una filtración de esta magnitud: cualquier persona que accediera a estos datos, como una clave API privada, podría generar un perjuicio económico considerable para el desarrollador. Y lo más preocupante es que esta información estaba accesible en los propios repositorios públicos de GitHub.

Para recordar un permiso, Claude Code registraba el comando literal en un archivo del proyecto, '.claude/settings.local.json'. Si el comando incluía una contraseña, esta se almacenaba en texto plano. Aunque este archivo no está diseñado para ser compartido, su destino final depende de las prácticas del equipo de desarrollo. Si el archivo ya había sido subido previamente, o si otro ordenador colaboraba en el proyecto, su contenido podía viajar a GitHub junto con el resto del código.

El comportamiento de Claude Code tiene una lógica: para no importunar al usuario y dado que ya se había concedido permiso, la aplicación guardaba el comando exacto para futuras referencias. Si el desarrollador no supervisaba lo que subía y enviaba los archivos directamente a GitHub, terminaba compartiendo acceso a su propia información.

Este no es un incidente aislado; el 'vibecoding' ha impulsado significativamente el uso de GitHub. Según el informe Octoverse 2026 de GitHub, en los doce meses anteriores al 30 de septiembre, se registraron 17.900 millones de 'pushes' y 34.300 millones de 'commits'. La cifra de 'pushes' superó la de 2024 y 2025 combinadas. Otro dato revelador del impacto del 'vibecoding' en GitHub es que en septiembre de este año, más del 40% de las 'pull requests' se originaron en un agente de IA, un aumento significativo desde el 17% registrado en marzo.

Anthropic, la empresa detrás de Claude Code, no emitió un comunicado oficial. Sin embargo, Boris Cherny, responsable de Claude Code, respondió en Hacker News. Admitió que la herramienta nunca ha limpiado los secretos de lo que guarda y argumentó que el archivo está diseñado para permanecer local. Según Cherny, dado que Claude Code lo excluye de Git al crearlo, los archivos filtrados debieron ser creados manualmente y subidos posteriormente.

Mientras Anthropic busca una solución definitiva, Cherny aconseja usar el modo automático en Claude Code y activar el escaneo de secretos en el repositorio. También adelantó que el equipo está desarrollando dos mejoras: que el modo automático detecte la filtración de datos y un escáner básico de secretos integrado. No hay fecha definida para la implementación de estos cambios.