Saltar al contenido

Noticia

Una brecha en OpenCode expuso claves de OpenAI, Anthropic y Google: cómo poner tope al gasto antes de que te pase

Afectó al 1,4 % de quienes usan su consola web, los que habían guardado allí claves de otros proveedores, y hubo cargos de cientos de dólares; BleepingComputer cita uno de hasta 1.700. La aplicación y la línea de comandos, según su cofundador, no pasan por ahí.

Por Comparatium 6 min de lectura

Un portátil gris cerrado y rodeado de cadenas oxidadas con un candado, sobre un suelo de baldosas de ladrillo
Santeri Viinamäki, CC BY-SA 4.0

Imagina que abres el correo una mañana y encuentras tres avisos de gasto al mismo tiempo, de tres proveedores distintos, por cantidades que no reconoces. Según TechCrunch, es lo que vieron algunos usuarios de OpenCode a mediados de octubre: alguien había usado sus claves de API para lanzar consultas a modelos de pago en su nombre.

Qué ha contado OpenCode, y qué falta

OpenCode es un agente de programación de código abierto que TechCrunch presenta como una alternativa popular a Claude Code y Cursor. Lo que se vulneró no fue el programa, sino su consola web, el lugar donde algunos usuarios guardan las claves de los modelos que quieren usar. Según TechCrunch, el ataque afectó al 1,4 % de los usuarios de esa consola, y su cofundador Dax Raad aseguró que la aplicación y la herramienta de línea de comandos siguen intactas porque las claves «nunca llegan» a ellos por esa vía.

Las facturas fueron lo que hizo ruido. TechCrunch habla de usuarios con cargos de cientos de dólares y de varios por encima de los 1.000 en cuentas de OpenAI, Anthropic y Google. BleepingComputer eleva la cifra a 1.700 dólares en una sola noche y añade que Google suspendió algunos proyectos por actividad abusiva. OpenCode llama al ataque «distillation attack»: en lugar de vender las claves, quienes las usaron habrían lanzado un volumen enorme de consultas para recoger las respuestas de los modelos y reproducir su comportamiento. Esa explicación es de OpenCode, y TechCrunch recoge que hay quien la cuestiona: ven una brecha sin más, con el uso para destilación sin demostrar. Los proveedores no han detallado públicamente qué vieron en sus sistemas.

Las fechas tampoco coinciden según quién cuente la historia. TechCrunch, que publicó el 19 de octubre, cita a OpenCode hablando de una brecha «anoche». BleepingComputer sitúa la primera exposición a las 00:30 UTC del 17, y el aviso de OpenCode, tal como lo reproduce el blog OrcaRouter, lleva fecha del 17 y habla de un acceso no autorizado a un sistema antiguo que estaban retirando. Según ese aviso, solo recibieron correo los afectados, es decir, quienes tenían proveedores externos vinculados. BleepingComputer informó de que OpenCode no había respondido a sus preguntas al publicar.

Lo que hicieron los proveedores

Según TechCrunch, Anthropic y Google bloquearon las claves expuestas, y OpenAI trabajó con OpenCode para restablecer el acceso y reembolsar los créditos consumidos. OpenCode, por su parte, dijo que los reembolsos de cargos no autorizados estaban en marcha y, en su aviso, pidió a los afectados que revocaran y sustituyeran sus claves directamente en cada proveedor. Si alguna vez guardaste una clave en esa consola, ese es el primer paso. El aviso asegura que quien no recibió correo no está afectado; cambiarla igualmente es una precaución nuestra, y apenas cuesta nada.

El episodio tuvo además un giro incómodo. Según el mismo reportaje, los modelos de última generación se negaban una y otra vez a analizar el código malicioso porque lo tomaban por contenido peligroso, hasta que OpenCode consiguió acceso a Daybreak Blue, el programa de OpenAI con modelos menos restringidos para profesionales de seguridad acreditados. Raad lo calificó de «un poco frustrante».

Un tope de gasto frena lo que un aviso solo cuenta

Lo más útil de esta historia para quien paga por uso no está en la brecha, sino en lo que habría limitado el daño. Un aviso de gasto llega cuando el dinero ya se está yendo; un tope lo detiene. Los tres proveedores permiten algo parecido, con matices.

ProveedorQué puede cortar el gastoLa advertencia de su documentación
OpenAIUn límite duro, por organización o por proyecto, que devuelve error 429 al alcanzarloLa guía de límites avisa de que «no es instantáneo» y puede colarse algo de gasto extra; las alertas, por sí solas, no ponen techo
AnthropicUn límite de gasto por espacio de trabajo en la consola, siempre inferior al de la organizaciónSegún su ayuda, cada clave pertenece a un único espacio de trabajo y puede desactivarse o borrarse
Google (API de Gemini)Un presupuesto con tope en Cloud Billing, que pausa el uso al superarseSegún la documentación de Google, se calcula con costes estimados y los presupuestos normales solo avisan

La consecuencia práctica es separar. Si usas la misma clave para todo, un robo agota todo el presupuesto. Si creas una clave por herramienta y por proyecto, con su propio tope, el peor escenario queda acotado a lo que decidiste asumir. OpenAI recomienda además, en su guía de buenas prácticas, poner fecha de caducidad a las claves de proyecto y rotarlas con regularidad: crear la nueva, cambiarla en las aplicaciones y revocar la vieja.

Si programas con un agente, mira primero con qué entra

Hay otra pregunta menos evidente: ¿necesita tu herramienta una clave de pago por uso? En Claude Code no siempre. Su documentación permite entrar con una suscripción de Claude o con una cuenta de la consola de Anthropic, y en este segundo caso, desde la versión 2.1.242, ofrece iniciar sesión sin crear una clave: guarda un token de acceso que se renueva y, según la propia documentación, una clave de API es una credencial estática. Si tienes ANTHROPIC_API_KEY definida en el entorno y la aceptas, la herramienta la usa; para volver a la suscripción basta con quitar esa variable y comprobar el método activo con /status.

Eso no vuelve inmune a nadie, y no vale para cualquier combinación de herramienta y modelo. Pero ilustra el criterio: antes de pegar una clave en un servicio de terceros, comprueba si existe una vía que no te obligue a entregarla. Y si no la hay, averigua si ese servicio la guarda en sus servidores o solo en tu equipo. Esa diferencia es la que, según OpenCode, separó a los afectados del resto: la clave estaba en su consola web, no en la aplicación.

Qué revisar antes de que acabe la semana

Entra en las tres consolas que uses y mira qué claves están activas, quién las usa y desde cuándo; borra las que no reconozcas. Si alguna vez las guardaste en la consola de OpenCode, sustitúyelas aunque no te hayan avisado. Después, pon un límite mensual a cada proyecto que sea claramente superior a tu gasto habitual pero muy inferior a lo que te dolería perder, y añade una alerta al 50 % para enterarte antes de que el tope te corte el trabajo. Un tope bien puesto es una molestia puntual, pero un cargo de mil dólares no lo es.

Lo que sigue sin saberse

OpenCode no ha publicado, que sepamos, una explicación técnica: no ha dicho cómo entraron los atacantes, cuántas cuentas ni cuántos dólares suman en total, ni ha detallado su política de reembolsos más allá de lo que ha dicho a la prensa. Tampoco se sabe si el sistema afectado almacenaba las claves cifradas. Y queda abierta la pregunta que este caso deja a cualquiera que use agentes de programación: cuántas de las claves que cada uno ha pegado en herramientas de terceros siguen vivas sin que nadie las vigile.

Para seguir explorando

Consulta las fichas de Claude Code, Cursor para conocer las condiciones de cada servicio.

Más sobre Desarrollo.

Relacionados