PromptMink: Hackers norcoreanos apuntan a billeteras de criptomonedas a través de paquetes npm con IA
Investigadores de ciberseguridad han descubierto una sofisticada campaña de malware, denominada **PromptMink**, que apunta a billeteras de criptomonedas a través de paquetes npm maliciosos. Atribuida al actor de amenazas norcoreano **Famous Chollima**, la campaña aprovecha código generado por IA y estrategias de paquetes en capas para evadir la detección.
Investigadores de ciberseguridad han descubierto código malicioso en un paquete npm después de que un paquete malicioso fuera incluido como dependencia en un proyecto por el modelo de lenguaje grande (LLM) Claude Opus de **Anthropic**.
El paquete en cuestión es "[@validate-sdk/v2](https://www.npmjs.com/package/@validate-sdk/v2)", que figura en npm como un kit de desarrollo de software (SDK) de utilidad para hashing, validación, codificación/decodificación y generación aleatoria segura. Sin embargo, su funcionalidad real es saquear secretos sensibles del entorno comprometido. El paquete, que muestra signos de haber sido codificado con inteligencia artificial generativa (IA), se subió por primera vez al repositorio en octubre de 2025.
### Campaña PromptMink
La campaña de malware ha sido denominada **PromptMink** por **ReversingLabs**, que vinculó la actividad como parte de una campaña más amplia orquestada por el actor de amenazas norcoreano conocido como **Famous Chollima** (también conocido como Shifty Corsair), responsable de la campaña de larga data [Contagious Interview](https://thehackernews.com/2026/04/n-korean-hackers-spread-1700-malicious.html) y la [estafa del trabajador de TI fraudulento](https://thehackernews.com/2026/03/ofac-sanctions-dprk-it-worker-network.html).
"La nueva campaña de malware [...] involucra un paquete comprometido que se introdujo en un commit del 28 de febrero en un agente de trading autónomo", dijo el investigador de **ReversingLabs** Vladimir Pezo [en un informe](https://www.reversinglabs.com/blog/claude-promptmink-malware-crypto) compartido con The Hacker News. "El [commit fue coautorizado](https://github.com/ExpertVagabond/openpaw-graveyard/commit/cd3c6ccbfe02a0fcf249fdcf67fd3ec351a7ed7c) por el modelo de lenguaje grande (LLM) Claude Opus de **Anthropic**. Permite a los atacantes acceder a las billeteras y fondos de criptomonedas de los usuarios".
El paquete figura como dependencia de otro paquete npm llamado "[@solana-launchpad/sdk](https://www.npmjs.com/package/@solana-launchpad/sdk)", que, a su vez, es utilizado por un tercer paquete llamado "openpaw-graveyard" ([https://www.npmjs.com/package/openpaw-graveyard](https://www.npmjs.com/package/openpaw-graveyard)), descrito como un "agente de IA autónomo" que crea una identidad social en cadena en la blockchain de Solana utilizando el [Protocolo Tapestry](https://www.usetapestry.dev/), opera con criptomonedas a través de [Bankr](https://bankr.bot/), e interactúa con otros agentes en [Moltbook](https://moltbook.com/).
**ReversingLabs** indicó que el paquete generado por el agente de IA se agregó como dependencia en un commit de código fuente realizado en febrero de 2026, lo que provocó que el paquete del agente ejecutara código malicioso y otorgara a los atacantes acceso a las billeteras y fondos de criptomonedas de la víctima a través de credenciales filtradas.
El ataque adopta un enfoque por fases, donde los paquetes de primera capa no contienen código malicioso, sino que importan paquetes de segunda capa que incrustan la funcionalidad nefasta. Si el segundo clúster es detectado o eliminado de npm, son reemplazados rápidamente.
Algunos de los paquetes de primera capa identificados se enumeran a continuación:
* @solana-launchpad/sdk
* @meme-sdk/trade
* @validate-ethereum-address/core
* @solmasterv3/solana-metadata-sdk
* @pumpfun-ipfs/sdk
* @solana-ipfs/sdk
"Implementan cierta funcionalidad relacionada con las criptomonedas", explicó **ReversingLabs**. "Y cada paquete lista muchas dependencias, la mayoría de las cuales son paquetes npm populares con recuentos de descargas en millones y miles de millones, como axios, bn.js, etc. Sin embargo, un pequeño número de las dependencias son paquetes maliciosos de la segunda capa".
Los actores de amenazas emplean varias técnicas para ayudar a los paquetes maliciosos a evadir la detección. Estas incluyen la creación de una versión maliciosa de las funciones ya presentes en los paquetes populares listados. Otra técnica utiliza el typosquatting, donde los nombres y descripciones imitan bibliotecas legítimas.
La primera versión del paquete publicada en npm como parte de esta campaña data de septiembre de 2025, cuando "@hash-validator/v2" se subió al registro. La decisión de dividir el ladrón de criptomonedas en dos partes, un cebo benigno que descarga el malware real, puede haber ayudado a evadir la detección y ocultar la verdadera escala del ataque.
Cabe señalar que algunos aspectos de la actividad fueron [documentados](https://research.jfrog.com/post/new-crypto-stealer-npm/) por **JFrog** dos meses después, lo que destaca el uso de dependencias transitivas por parte del actor de amenazas para ejecutar código malicioso en los sistemas de los desarrolladores y sustraer datos valiosos.
En los meses intermedios, la campaña ha sufrido varias transformaciones, incluso apuntando al Python Package Index (PyPI) al lanzar un paquete malicioso ("scraper-npm") con la misma funcionalidad en febrero de 2026. Tan recientemente como el mes pasado, se observó que los actores de amenazas establecían acceso remoto persistente a través de SSH y utilizaban payloads compilados en Rust para exfiltrar proyectos completos que contenían código fuente y otra propiedad intelectual de sistemas comprometidos.
Las primeras versiones del malware eran stealers ofuscados basados en JavaScript que escaneaban recursivamente el directorio de trabajo actual en busca de archivos .env o .json y los preparaban para la exfiltración a una URL de **Vercel** ("ipfs-url-validator.vercel.app"), una plataforma [repetidamente](https://thehackernews.com/2026/02/fake-nextjs-repos-target-developers.html) [abusada](https://thehackernews.com/2026/03/north-korean-hackers-abuse-vs-code-auto.html) por **Famous Chollima** en sus campañas.
Si bien las iteraciones posteriores venían incrustadas con **PromptMink** en forma de una aplicación ejecutable única de Node.js (SEA), también sufrieron una desventaja notable al hacer que el tamaño del payload aumentara de apenas 5.1 KB a alrededor de 85 MB. Se dice que esto llevó a los actores de amenazas a cambiar al uso de [NAPI-RS](https://napi.rs/) para crear complementos de Node.js precompilados en Rust.
La evolución del malware de un simple infostealer a un recolector especializado multiplataforma que apunta a Windows, Linux y macOS, capaz de instalar backdoors SSH y recopilar proyectos completos, demuestra el continuo enfoque de los actores de amenazas norcoreanos en el ecosistema de código abierto para atacar a los desarrolladores en el espacio Web3.
**Famous Chollima** está "aprovechando código generado por IA y una estrategia de paquetes en capas para evadir la detección y engañar de manera más efectiva a los asistentes de codificación automatizados que a los desarrolladores humanos", agregó **ReversingLabs**.
### Surge Contagious Trader
Los hallazgos coinciden con el descubrimiento de un paquete npm malicioso llamado "express-session-js" que se cree que está vinculado a la campaña Contagious Interview, y la biblioteca actúa como conducto para un dropper que obtiene un payload ofuscado de segunda etapa de **JSON Keeper**, un servicio de pegado.
"La desofuscación estática del payload de etapa 2 revela un troyano de acceso remoto (RAT) completo y un ladrón de información que se conecta a 216[.]126[.]237[.]71 a través de Socket.IO, con capacidades que incluyen robo de credenciales del navegador, extracción de billeteras de criptomonedas, captura de pantalla, monitoreo del portapapeles, keylogging y control remoto del mouse/teclado", señaló **SafeDep** [este mes](https://safedep.io/malicious-npm-package-express-session-js/).
Curiosamente, el uso de paquetes legítimos como "socket.io-client" para la comunicación de comando y control (C2), "screenshot-desktop" para la captura de pantalla, "sharp" para la compresión de imágenes y "clipboardy" para el acceso al portapapeles se superpone con el de [OtterCookie](https://thehackernews.com/2025/05/ottercookie-v4-adds-vm-detection-and.html), un conocido malware ladrón atribuido a la campaña.
Lo novedoso esta vez es la adición del paquete "@nut-tree-fork/nut-js" para el control del mouse y el teclado, lo que sugiere intentos más amplios de mejorar las capacidades del RAT para facilitar el control interactivo de los hosts infectados.
<table>
<tbody><tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRjUFgbCaNbUIuMju-zOJxtlvn5SiiE2p6PCCFzacR7KSYNpgOYwePm8eCzIMMkNk4I9YsGf3ONdi2v8xVQ5fzj0PZ_186bF68mtd5WPC1-o-4zvvQhFwW6ZdRwp4hsAq6zLz5uutUK0trsbtS6h2HlwFXkjYdX5dJ5VVVBfZ_gvq9oIqLp9WBLf4MnTdX/s1600/otter.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRjUFgbCaNbUIuMju-zOJxtlvn5SiiE2p6PCCFzacR7KSYNpgOYwePm8eCzIMMkNk4I9YsGf3ONdi2v8xVQ5fzj0PZ_186bF68mtd5WPC1-o-4zvvQhFwW6ZdRwp4hsAq6zLz5uutUK0trsbtS6h2HlwFXkjYdX5dJ5VVVBfZ_gvq9oIqLp9WBLf4MnTdX/s1600/otter.png" data-original-width="720" data-original-height="406" alt=""></a></td>
</tr>
<tr>
<td>Cadena de despliegue de OtterCookie</td>
</tr>
</tbody></table>
**OtterCookie**, por su parte, ha experimentado una maduración propia, distribuyéndose a través de un [proyecto de ajedrez 3D de código abierto troyanizado](https://blackpointcyber.com/blog/malicious-node-package-deploys-ottercookie/) alojado en **Bitbucket** y [paquetes npm maliciosos](https://cyberandramen.net/2026/04/04/ottercookie-expands-targeting-to-ai-coding-tools-analysis-of-a-trojanized-npm-campaign/) como "gemini-ai-checker", "express-flowlimit" y "chai-extensions-extras".
Un tercer método ha empleado un enfoque de Muñeca Matrioska como [parte](https://medium.com/walmartglobaltech/mapping-ottercookie-infrastructure-1c49f0cd3883) de [Panther](https://panther.