Contexto
Descarga un modelo grande de código abierto: normalmente te preocupa si puede ejecutarse correctamente y si los pesos son reales. Esta vez, el verdadero motivo de preocupación está en otro lugar: un repositorio marcado con 27B de parámetros, que llega a tus manos con solo 487 KB. Ahí no hay pesos, sino un troyano de exfiltración y espionaje.
El 20 de agosto de 2026, el repositorio de GitHub unburdened-jackinthebox365/qwen38-uncensored envió al directorio assets/ un archivo llamado uncensored_qwen_v2.6.zip, con 487.153 bytes. El repositorio lo empaquetó de forma casi impecable: en la página de inicio se afirma que ofrece pesos locales cuantizados de Qwen 3.8 de 27B; el README recalca que funciona completamente sin conexión, sin telemetría y que los datos no salen del equipo. Cada frase acierta de lleno en lo que los usuarios de modelos locales quieren oír. Cuatro días después, el 24 de agosto, el README vuelve a modificarse: el botón de descarga, el enlace de descarga dentro del cuerpo, y también los dos enlaces externos originales que apuntaban a los sitios web oficiales de Ollama y LM Studio, quedan redirigidos todos a la misma dirección raw de ese ZIP.

Hasta aquí, la brecha ya es evidente. Un modelo cuantificado Q4_K_M de 27B parámetros suele guardarse en disco con más de 16 GB; el mensaje impreso por bin/install.cjs incluido en el repositorio también dice aproximadamente 16.8 GB. Sin embargo, el activo que realmente se entrega es de solo 487 KB; tras descomprimirlo, solo hay tres archivos: Application.cmd, util.exe y cert.txt, sin ningún peso GGUF.
Con base en esto, creemos que se trata de un repositorio falso que distribuye archivos usando el nombre de Qwen; el proyecto oficial de Qwen no ha sido comprometido. El script de instalación de Node.js en el repositorio aparentemente implementa un proceso de «escribir Modelfile → llamar a ollama create». En esta ocasión no se realiza una validación dinámica; el código principal del repositorio mantiene la apariencia de un proyecto normal, y el ZIP malicioso se envía como recurso descargable en assets/. Solo revisar la fuente habitual y no descomprimir los recursos descargados podría hacer que se pase por alto esta vía de entrada.
Este artículo se basa principalmente en evidencia estática y no ejecuta ningún ejemplo. Las solicitudes de C2 se reproducen usando datos simulados del host: solo se leen las respuestas y se descargan las cargas útiles, sin ejecutar el contenido descargado ni acceder al endpoint final de subida. Las descripciones de comportamiento en el texto indican que existen implementaciones o rutas de llamada correspondientes en el código, pero no significan que estas acciones ya hayan ocurrido en un host real.
Respuesta de MistEye
MistEye es un sistema propio de monitoreo dinámico de seguridad e inteligencia de amenazas Web3 desarrollado por SlowMist. Integra capacidades de monitoreo de seguridad y agregación de inteligencia para ofrecer a los usuarios alertas de riesgo en tiempo real y protección de activos.
En este incidente, MistEye realizó análisis estático de los repositorios señuelo, los recursos de descarga y las cargas útiles posteriores; reprodujo las solicitudes de C2 usando información simulada del host y guardó evidencias de respuestas y descargas. Esto permitió reconstruir la cadena de despliegue de múltiples etapas y extraer IOC de red y archivos. El 26 de agosto se hizo una verificación adicional sobre la disponibilidad de C2 y la rotación de las instalaciones de distribución, además de comparar offline el comportamiento de 29 ZIP similares distribuidas en 23 repositorios. Los IOC relacionados se han integrado en el motor de detección de amenazas de MistEye.

A continuación se presenta el análisis técnico detallado.
Tres archivos en el paquete de descarga de 487 KB
Todo el contenido de Application.cmd es un comando:
iniciar util.exe cert.txt
Sumando el salto de línea, hay 25 bytes en total. No descomprime el modelo ni llama a Ollama; solo hace que util.exe en el mismo directorio lea un archivo de texto, y así se transfiere el control al script Lua dentro de cert.txt. El paquete comprimido no contiene otros archivos; estos tres son todo el contenido.
util.exe tiene 759,808 bytes, y es el intérprete LuaJIT 2.1 renombrado. LuaJIT en sí es un runtime de Lua usado por una gran cantidad de software legítimo. En el PE quedan rutas PDB residuales escritas como D:\a\defold\...\luajit.pdb, que apuntan a un producto empaquetado del motor de juegos Defold. El análisis estático no detectó en util.exe comportamientos maliciosos que no dependan del script; este archivo solo se encarga de ejecutar el Lua ofuscado del mismo directorio.
El nombre de cert.txt parece un certificado; el contenido es Lua de una sola línea de 182,116 bytes. El script completo no contiene ningún salto de línea; todas las cadenas se dividen en escapes decimales y llamadas a una tabla de búsqueda; al leerlo directamente solo se ve una masa de números y nombres de variables cortos. A continuación, una pequeña porción al inicio; para facilitar la lectura, la dividimos en líneas por enunciado y se corta al final con puntos suspensivos:

Las dos primeras funciones se encargan de tomar caracteres por índice y reordenar; a partir de la tercera línea empieza la tabla de cadenas desordenadas. Las cientos de cadenas de texto plano del script se guardan de esta forma y solo se recomponen en tiempo de ejecución.
Por tanto, el punto de riesgo no está en el supuesto programa del modelo. El paquete comprimido proporciona un intérprete genérico y un texto; toda la lógica maliciosa cae en cert.txt.

El resultado de la respuesta de C2 completa la cadena de despliegue posterior
Tras la desofuscación offline, se entiende claramente la estructura de cert.txt. Mantiene una tabla de cadenas de cientos de entradas; todo el texto plano se divide en escapes numéricos y se reconstruye byte a byte en tiempo de ejecución. El script usa LuaJIT FFI para analizar y llamar a APIs de Windows como VirtualAlloc y CreateThread.
El cargador incluye un identificador 845. Al iniciar, recopila el nombre del host, el usuario, el GUID y la versión del sistema; luego usa BitBlt para capturar una pantalla y guardarla como BMP. Después, solicita una ubicación geográfica una vez al endpoint que localiza IP, y concatena todo esto para hacer un POST de solicitud multipart con C2 hardcodeado a 217[.]119[.]129[.]122. A continuación se muestra la solicitud que enviamos tras reconstruirla a partir del script:

En la ruta, la cadena después de /api/ se decodifica como el identificador de cliente 517b7c5e5663656a057f. La captura se coloca en la sección file; y el que empieza con B7 corresponde a la cabecera de archivo BMP. La información del host está en la sección data, y ambas van en la misma solicitud. Tras decodificar data, se obtienen valores simulados como computer=SIMULATED-PC&user=simulated-user&query=203.0.113.10, que no corresponden a ningún host real.
Las tareas enviadas por el servidor se procesan por extensión y cubren cuatro tipos: cargas útiles ejecutadas directamente en memoria, programas independientes, DLL y scripts. Un solo cargador puede manejar casi todos los formatos comunes de carga útil. En el script también se escriben la exclusión de Defender, la persistencia mediante tareas programadas y el reenvío de confirmación de finalización; estas tres cosas están en ramas condicionales, y si se activan depende tanto de la configuración del loader en el servidor como de las condiciones locales. En esta captura, solo se activó persistencia; las demás están desactivadas. Pertenecen a funciones que se activan bajo condiciones; no implica que las acciones correspondientes ya se hayan completado en el host real.
Cuando la dirección codificada deja de funcionar, el cargador también tiene una ruta de respaldo. Hace una llamada eth_call a la cadena Polygon, leyendo el valor devuelto por el selector 0x3bc5de30 del contrato 0x1823A9a0Ec8e0C25dD957D0841e3D41a4474bAdc, y a partir de eso analiza la C2 de respaldo. En esta prueba, se obtuvo 194[.]48[.]248[.]94:

El prefijo de longitud 0x14 es 20, exactamente igual al número de caracteres de la dirección descifrada; ambas partes se corroboran entre sí. Este hex no necesita depender de nuestro script de decodificación: basta con consultar una tabla ASCII para comprobarlo por cuenta propia. De los cinco endpoints RPC configurados en el script, tres devolvieron los datos anteriores y coinciden byte a byte; uno exige una suscripción de pago y otro rechaza directamente. Al escribir la dirección en el contrato de la blockchain pública, al cambiar el servidor solo se necesita enviar una transacción; bloquear únicamente la IP de respaldo actual no evita que el contrato devuelva nuevas direcciones posteriormente.
Después de corregir el formato de la solicitud mediante el script, el beacon simulado de 845 recibió HTTP 200 y un JSON de 1,248 bytes.
Los campos de la respuesta pasan por tres capas de codificación; la dirección de decodificación es Base64 → hex en minúsculas → XOR circular de 32 bytes. La clave XOR ECe6VGLRJum2qYtl79OiOU7aHot7Zhbn está escrita en el script. Las dos secciones siguientes son el contenido de la misma respuesta antes y después de la decodificación; en cada una se muestran solo los primeros 56 caracteres:

Lo descifrado es una estrategia de loader y una tarea:

El campo pump controla si se usan datos aleatorios para ampliar la extensión del archivo depositado al tamaño especificado por el servidor; en esta tarea, el interruptor está apagado.
La tarea descarga un archivo llamado `tool.log` en `%TEMP%\dist.lua` y lo ejecuta. Ese archivo tiene 396,616 bytes, todo en hexadecimal ASCII; al decodificarlo en hex y luego aplicar XOR, se obtienen 198,308 bytes de Lua ofuscada. Este es el segundo cargador, identificado como 847; la C2 inicial se cambia a `217[.]119[.]129[.]97`, y la disposición ofuscada es isomorfa con la de 845. Al ejecutar el cargador 847 con los mismos datos simulados del host, este inicia un beacon hacia `217[.]119[.]129[.]97`; el servidor devolvió dos tareas.
En las dos tareas, una sigue siendo `tool.log` y la otra apunta al mismo repositorio `verb.log`; la ruta depositada se escribe como `AppData\..\Local\Programs\Chromium\Application\Chromium.exe`. Ese `..` intermedio atraviesa la ruta hasta LocalAppData, y el nombre final del archivo se disfraza como el programa principal del navegador Chromium.
tool.log, verb.log y los dos PE posteriores provienen de las respuestas de C2 y de las descargas guardadas en disco; en el ZIP original no existen estos archivos. Lo que el ZIP por sí mismo demuestra es que el cargador tiene capacidad de descarga y ejecución; en cambio, las respuestas de C2 guardadas muestran que, en el momento de la recopilación, el servidor envió tareas de descarga posteriores al loaderId 845.
Carga StealC decodificada desde verb.log
Desempaquetar y cargar
verb.log 3,089,408 bytes, también es ASCII hexadecimal; la cadena de transformación es hex/XOR → PE externo → Base64URL/AES → PE interno. Usando la misma clave XOR para descifrar, se obtienen 1,544,704 bytes de un PE externo de 64 bits; su sección de recursos contiene texto Base64URL que decodifica a un cifrado AES-256-ECB de 797,728 bytes. La clave bFYh8UMQGZOBUlvrpS3M4ZJybbubVbvg se deriva mediante el PE externo a partir de dos matrices constantes, lo que permite restauración estática; el descifrado revela un segundo PE de 64 bits de 797,728 bytes.
El PE externo mapea manualmente el PE interno en su propio proceso: asigna memoria, copia el encabezado y las secciones, corrige la reubicación y la tabla de importación, crea hilos y arranca desde el punto de entrada. En la cadena de llamadas estática no hay APIs de inyección entre procesos como CreateProcess, WriteProcessMemory, SetThreadContext o ResumeThread: todo el proceso es una carga reflectante dentro del proceso.
Chequeo del entorno
La carga interna primero comprueba el entorno: si el idioma predeterminado del sistema coincide con uno de los siguientes (ruso, ucraniano, bielorruso, kazajo o uzbeko), sale; después, usa la denominación Event construida con la información del host para control de instancia única; luego verifica la fecha de vencimiento integrada. Solo si todo pasa, entra en la lógica principal.
Recopilar objetivo
Navegador: Chrome, Edge y Brave obtienen los datos de inicio de sesión, cookies, historial y bases de datos relacionadas; Firefox usa la interfaz NSS para descifrar la información de inicio de sesión guardada. Cuando la base de datos está bloqueada, usa Restart Manager para finalizar el proceso que la ocupa.
Correo y operación/mantenimiento: credenciales de cuentas de Foxmail y Outlook, información de sesión de WinSCP. La sesión de WinSCP corresponde directamente al servidor al que puede acceder la víctima.
Steam: configuración de inicio de sesión, tokens y archivos centinela.
Desde Chrome 127, las cookies y contraseñas guardadas están protegidas por App-Bound Encryption; la gestión de claves está en un servicio a nivel del sistema, por lo que copiar solo archivos de base de datos no consigue el texto plano. La carga incluye un PE auxiliar: mediante inyección Early-bird APC se envía a chrome.exe, brave.exe o msedge.exe en estado suspendido. El módulo auxiliar, dentro del proceso del navegador, lee la App-Bound Key cifrada, y mediante la interfaz COM Elevation del navegador correspondiente exporta una clave de 32 bytes en texto plano; así los archivos de base de datos recopilados anteriormente vuelven a ser legibles.
La recopilación del monedero está completamente impulsada por el servidor: el recopilador recursivo despacha las tareas de archivos enviadas por C2 por tipo; en la rama wallets, busca en el directorio local según el nombre de la tarea y el nombre del archivo. Además, C2 puede enviar IDs de extensiones, recopilando el almacenamiento e IndexedDB de las extensiones de Chromium correspondientes. En el texto plano del ejemplo no hay nombre de marca del monedero ni ruta de instalación, ni implementaciones de frases mnemónicas como BIP39 o secp256k1, ni análisis de llaves privadas. Qué monedero recopilar determina la tarea enviada por el servidor; el ejemplo estático no lista el inventario objetivo de esta ronda.
Subida y atribución
La carga también incluye funciones como captura de pantalla, recopilación de información del sistema y lista de procesos, ejecución secundaria de descargas con PowerShell, escalada de privilegios y autodestrucción al salir.
La carga de datos se realiza mediante JSON POST en fragmentos de 512 KiB. El endpoint de subida, tras estar cifrado con RC4 y guardado en Base64, se descifra con la clave de configuración 55uUe45tr1x1xy1lSK y resulta en http[:]//89[.]169[.]12[.]194; el cuerpo de la solicitud se cifra con otra clave RC4.
StealC es un troyano de robo de información diseñado específicamente para robar credenciales del navegador, cookies, monederos cifrados y otros datos sensibles, y enviarlos al C2 del atacante en Windows. El alcance de recopilación de la carga interna, el uso de App-Bound para ayudar al descifrado, la rama de monedero y el cifrado RC4 de la subida, entre otras implementaciones, coinciden con las características conocidas de StealC; por eso lo clasificamos como StealC.
Si estos materiales se obtienen con éxito, las consecuencias son diferentes: las cookies del navegador, correspondientes a sesiones iniciadas, se toman el control; se pierden cuentas asociadas con correos y credenciales de Steam; y la sesión de WinSCP corresponde al servidor de operación del afectado. Si se filtran las llaves privadas o las frases mnemónicas del monedero, la transferencia de activos no puede revertirse.
Revisión adicional: confirmar que las instalaciones de distribución están rotando
El 26 de agosto, reenviamos tres beacons usando los mismos datos simulados del host. Los tres endpoints devolvieron HTTP 200 y el campo de estrategia del loader no cambió en absoluto. La variación aparece en las direcciones de descarga dentro de la tarea.

vs.log y el tool.log antiguo son idénticos byte a byte, solo cambian el nombre; el cargador 847 no sufre cambios. Tras decodificar, ssl.log es una nueva versión del PE externo: 1,539,072 bytes, cambian tanto la dirección de entrada como el tamaño de la imagen; la clave AES se rota a yK8-eM8KFA8Hl8cCybERmOLZupFvfCNZ.
La carga interna descifrada con la nueva clave sigue siendo de 797,728 bytes. Comparándola byte a byte con la versión anterior, todo el archivo solo tiene una diferencia: en el segmento de solo lectura. El número de compilación reportado al servidor cambió de build5 a build1. El endpoint de subida, la clave de configuración RC4 y la clave del cuerpo de la solicitud son idénticos.
Cambiar el repositorio, cambiar el nombre de archivo, actualizar el PE externo y cambiar la clave AES hace que el hash preciso del archivo antiguo deje de ser válido. Si la estructura estable y las características de comportamiento aún pueden detectarse, requiere validación mediante reglas concretas. El propio cargador de robo de datos se mantiene estable durante estos dos días, solo cambia una etiqueta de versión; esta observación es entre dos días de recopilación y no es suficiente para determinar si permanece igual a lo largo de un periodo más largo.
Más repositorios GitHub maliciosos
También recolectamos 29 muestras ZIP maliciosas distribuidas en 23 repositorios de GitHub. Una revisión inicial muestra que todas estas muestras usan Lua como parte de la cadena de ejecución; las formas comunes incluyen que un lanzador .cmd o .bat invoca LuaJIT local o un intérprete renombrado, y luego ejecuta scripts Lua en el mismo directorio. Los repositorios relacionados cubren temas señuelo que abarcan varias categorías, como modelos y herramientas de IA, servicios MCP, scripts de desarrollo y proyectos de monederos.
Hay que aclarar que, hasta el momento, no se ha realizado una restauración completa del código y un análisis de cadena de ataque para cada una de estas 29 muestras; por lo tanto, la evidencia existente solo puede confirmar que todas presentan comportamiento malicioso y que comparten un stack de tecnología Lua. No se puede concluir a partir de eso que todas las muestras empleen exactamente el mismo método de ofuscación, flujo de ejecución, infraestructura C2 o carga final.
Resumen
Un repositorio de GitHub que suplanta a Qwen dirige la entrada de descarga hacia un ZIP de 487 KB; dentro del paquete no hay pesos del modelo, solo un intérprete LuaJIT y un script ofuscado. La respuesta de C2 guardada se asocia con la carga interna de exfiltración; la clasificamos como StealC.
El riesgo involucra sesiones del navegador, credenciales de correo y operaciones, tokens de Steam y materiales relacionados con el monedero, siempre que esos materiales se obtengan con éxito. Entre las dos recopilaciones, el repositorio de distribución, el nombre de archivo, el PE externo y la clave AES ya cambiaron; la carga interna solo difiere en un único carácter del número de compilación. Las 29 ZIP similares distribuidas en 23 repositorios muestran que esta estructura de despliegue se ha reutilizado en lote; la cadena completa posterior de cada variante aún debe confirmarse muestra por muestra.
Recomendación
1. Aislar y hacer forense: cuando el host coincida con los ZIP, hashes de scripts, C2 o URL de descarga listados en este artículo, primero guarde el origen de la descarga, el árbol de procesos, los registros de conexiones de red y los archivos depositados, y luego proceda a la limpieza.
2. Revisar cambios en el host: si se detecta un registro de ejecución del lanzador, o registros de carga de textos ofuscados de gran tamaño por LuaJIT o un intérprete renombrado, se debe revisar la tarea programada, la clave Run y el elemento StartupApproved, y confirmar si la lista de exclusiones del Defender se agregó al disco del sistema o a extensiones .exe/.dll.
3. Manejo de credenciales: cuando se ejecute la muestra o se encuentren cargas útiles relacionadas, restablecer las sesiones del navegador y las contraseñas guardadas, cuentas de correo, tokens de Steam y las credenciales de la sesión de WinSCP. Si en el host se guardaron llaves privadas de monedero o frases mnemónicas, primero migrar los activos a una nueva dirección y luego tratar el propio host.
4. Agregar detección por combinación: incluir la secuencia «pequeño lanzador → LuaJIT local o intérprete renombrado → texto grande en una sola línea en el mismo directorio → iniciar solicitud HTTP o escribir en memoria ejecutable» en las reglas de monitoreo. Esta cadena se apoya en servicios legítimos; la evaluación debe basarse en la combinación de comportamientos y en las URL maliciosas exactas listadas en este artículo. No se debe bloquear indiscriminadamente la API Raw de GitHub o el Polygon RPC público.
IOC
IP
217[.]119[.]129[.]122
194[.]48[.]248[.]94
217[.]119[.]129[.]97
89[.]169[.]12[.]194
URL
http[:]//217[.]119[.]129[.]122/api/NTE3YjdjNWU1NjYzNjU2YTA1N2Y=
http[:]//217[.]119[.]129[.]97/api/NTE3YjdjNWU1NjYzNjU2YTA1N2Y=
https[:]//raw[.]githubusercontent[.]com/unburdened-jackinthebox365/qwen38-uncensored/main/assets/uncensored_qwen_v2[.]6[.]zip
https[:]//github[.]com/Minaadelfouad64/tools/raw/refs/heads/main/verbose/tool[.]log
https[:]//github[.]com/Minaadelfouad64/tools/raw/refs/heads/main/verbose/verb[.]log
https[:]//github[.]com/fuhuhlatoogan/mtp/raw/refs/heads/main/p/vs[.]log
https[:]//github[.]com/fuhuhlatoogan/mtp/raw/refs/heads/main/p/ssl[.]log
Dependencias maliciosas
https[:]//github[.]com/unburdened-jackinthebox365/qwen38-uncensored
https[:]//github[.]com/Minaadelfouad64/tools
https[:]//github[.]com/fuhuhlatoogan/mtp
https[:]//github[.]com/0ogata0/qwen-php-client
https[:]//github[.]com/115th-discomfited211/Awesome-Harness-Engineering
https[:]//github[.]com/123affano1/claudetrack
https[:]//github[.]com/1sustgmboab/nexonco-mcp
https[:]//github[.]com/2josEx/claude-brain
https[:]//github[.]com/428alexander9/claude-skills-marketplace
https[:]//github[.]com/45d5r/databricks-mcp-server
https[:]//github[.]com/7ossamfarid/mcp-mindmesh
https[:]//github[.]com/Bean5789/bbd2api
https[:]//github[.]com/CleverPortal/CollabNote-Fullstack-App
https[:]//github[.]com/Juanvil9941/AI-Invoice-System
https[:]//github[.]com/Kalainilavann/takeout_downloader_script
https[:]//github[.]com/Prestonflatfooted659/Void-Tools-v2.0
https[:]//github[.]com/Walloperlioncub193/Canva-Resource
https[:]//github[.]com/archontelemetered604/clash-for-windows
https[:]//github[.]com/fantastic-interpolation620/ctx-wire
https[:]//github[.]com/mikenob39wang/phone-number-location-tracking-tool
https[:]//github[.]com/recognisable-riddance165/Portable-Offline-LLM
https[:]//github[.]com/sociologisttentcaterpillarmoth213/100xdev-ci-cd
https[:]//github[.]com/soldat-panther/qq-farm-cdp-auto
https[:]//github[.]com/thaddeusprobabilistic193/Xault-Wallet
https[:]//github[.]com/twelfth-puerperium297/tokenoptim
https[:]//github[.]com/wasila7220/multi-model-router
Archivo malicioso
archivo: uncensored_qwen_v2.6.zip
MD5: bf21a07ad5743d3ae9f55ff526428a0a
SHA1: 8e3391c17c3f4fb6f42594de7425df96dbbbc01e
SHA256: 36d0bac5743ed9c6858258f28f2c2f9161dc06c4d5af73eb7eda1211ea610758
archivo: Application.cmd
MD5: 17d94f34b9d15449b03bc099a637782b
SHA1: eb474f898256e8e7baaf0d63b306d1169e637c73
SHA256: 7c4f3e09c6428d0a0d7d85615695f5fedb35bb4e7180d31e1f8a1bacf22e5639
archivo: cert.txt
MD5: ccfc0f145861f23c6850c691c4be54b9
SHA1: b88ac887493f31cf9f160ddbc6bc3a2aa298a0ca
SHA256: a75561a3224d9f836058a6d0204ed2e6c1f638275a59495935cd2a5e46fd28ca
archivo: tool.log,vs.log
MD5: 8063ba8ec896b52e5e6d435cc60e82f7
SHA1: f445bd4c5b65b7e013ec518f34f4cd64676201d2
SHA256: 7ebbb61733d8aefcf9401f00e8ff7e593c9f0edecb6609675aebd3eb78a5ae2d
archivo: verb.log
MD5: 650a8ee5d091275040ae4dd02dcdd806
SHA1: 343d819ceb63c742912723c42fd158b82d0a90be
SHA256: 699af883d862d8949a494f69e2d300142ce506a0ac6c7a239193c111dfed241e
archivo: inner-payload.aes256-ecb-decrypted.bin
MD5: 01e433263a7fd50e812195ff4c11cc90
SHA1: ea53a41c53181374cade8d69882bb1390f0c2562
SHA256: ec981c45d494896037583c746543490176c9ce9a1482e62c4e8ab189c2650b1c
archivo: ssl.log
MD5: 9d11bce9c213924b53bcb986f07945c6
SHA1: 2abf1436933dc6b63a016661d5d16f1eda303b59
SHA256: 7b0d919bd510cbcc587cca4b74aad1e086fb1fc34882a39946e6db7d4361a746
archivo: inner-payload.build1.bin
MD5: 370f95bf40a9c9fe852b2e4bdd95689f
SHA1: 219a0e7c3907bb65ef7db7428400745570d4e105
SHA256: 5d63f3dc9371d4496ca0e728a794151978e94b69ae4b3c705cea4e67cc6cf208
archivo: client_qwen_php_v2.4.zip
SHA256: 073c6192ab4c2d5d25fc13acab4c216c96f9d5926064c534e3803bb31d527b28
archivo: Engineering_Harness_Awesome_1.9.zip
SHA256: 0870fe8a4d9e64e335047e16ed1d6b0805beab9686495a1e8c247cf2e1a8e930
archivo: Software_v1.6.zip
SHA256: 71b37b48f80106fc864be7e82481cd1a2f7decfeaf1dce45abb924d7f32da933
archivo: nexonco-mcp-v3.0-alpha.1.zip
SHA256: a866d90d6f1dd82ddcd2cbef4f5550c77bb58dbda87c02eedb441a117b7d89b9
archivo: claude-brain-v1.4-alpha.3.zip
SHA256: a271231ebf6174b11aeb3337c238abc0eac44b48b5fa8d2b168883601d8cc3a5
archivo: brain_claude_2.2-alpha.1.zip
SHA256: ca4babb4444af81cf93b34436de7a4a3c8e1a93f6233bcc8753ddd868b4c9eaa
archivo: claude-skills-marketplace_v3.4.zip
SHA256: 438033226b1bd1e26db8ab71a777e74cc90b5c31310139269fe8e52308f6c938
archivo: skills-marketplace-claude-2.9.zip
SHA256: f07a4eadd43513f56ae4fdf6f6dfc966de17f06093c75c1dec0dd426668779f9
archivo: server_databricks_mcp_1.6.zip
SHA256: 66afc7d87d10dbe392898c4e5c613e0442fabb396415c2bef3a5ef2ac752c5ad
archivo: mindmesh_mcp_1.0-alpha.5.zip
SHA256: e8da8c82ccb1c6fd68e7c03187485d6ebbd07a4946a7f07cac54fef65b00d2bf
archivo: bbd-api-3.1.zip
SHA256: 3524dc4a232c76067f8b2df9adf34ae1106dcc1528e5467c1abc285fc51d1e82
archivo: Note-Collab-App-Fullstack-v3.6-alpha.5.zip
SHA256: 6f823d15658b07d6d90f292848fcdd30fe840f83d653cc34966e2fd61d9c3117
archivo: Invoice_A_System_3.9.zip
SHA256: 8332d91619563e46e248f427cf489f8bd61a83124eb4c95749ce284b443a2803
archivo: downloader-script-takeout-v1.1.zip
SHA256: 8412f2d2b47181f272b0c0e02fe619331e0c2c8d3b90f32e8ce08ac98aaec3f6
archivo: downloader_takeout_script_v3.8.zip
SHA256: b781102c6ff857fb45089a6b3d30c5ebb7699ec7e8771bfa0039bef28de782bd
archivo: takeout-downloader-script-galvanocauterization.zip
SHA256: 13dc7623c66d1fed51ae94b0d96e8ed45c93d893afabf9aceb4ef0a8da0243ee
archivo: Void-v-Tools-v1.7.zip
SHA256: 841d0c25137f35b60d940705ab7b5dc3e9936f37e0561934e72c5dafe93466d8
archivo: Resource-Canva-2.2.zip
SHA256: ac6a24d02209df94f56f67e7f3f19dc997f7a2625b91add1dd10cdec0a06d392
archivo: for-clash-windows-3.2.zip
SHA256: 036062622f3a1fa2718afc91f8fe4edc693b757365dfc2c0958b70fe8c84c20d
archivo: wire-ctx-2.6-alpha.1.zip
SHA256: db0640eb414a89bb62953f0aa7603557f3b8de515e7c3696156abc10f835ecef
archivo: location-tracking-tool-phone-number-v3.3.zip
SHA256: 3fc5816afde3e58bf9fcaa1b3873f2d4bc8629ee7a8341a4a4979d2729cad5e6
archivo: location_number_tracking_tool_phone_v2.5.zip
SHA256: 398ea394f9a4242ebe9fd67a5ca62445fc4a34b1731d4f99b8eea5e65a98ddcb
archivo: tracking-tool-location-number-phone-3.2.zip
SHA256: b6e81d95c0c336e8b8bde3889f4df4ee17639f6ff055c631de19cab3c7efb63b
archivo: Offline_LLM_Portable_v2.1-alpha.1.zip
SHA256: 1313b6cfb1ea43367fdd845f64526b4972a3a345bb8b13cef7ebb678d59b5f55
archivo: ci_cd_xdev_v2.3-alpha.3.zip
SHA256: ed1ae6799ecb1fc7c5239c4ab95b3b9de9462f21219f144a25b91b6fd430a2c2
archivo: farm-cdp-qq-auto-1.1.zip
SHA256: 6145aeacba6533e10dcea287d0fff64c48a790c58ae266ed18ea5d13c36d27ca
archivo: v3.9.zip
SHA256: a0dd4924bec9bc077b1f98ddcb45b4e07b01e63ad703c2507d822b5b5130a077
archivo: Software-Lithodes.zip
SHA256: 40c2b7b8dcfa6bfe0a199af9ea4baa00a4b8ecd73afa326702cdc4197d64bdef
archivo: model-multi-router-v3.5-beta.1.zip
SHA256: 152929ae778e6ed9f358ca8590d2155e1a04137b109a5442891e1ba3fe1a7f82
Sobre MistEye
MistEye es una plataforma de monitoreo dinámico de seguridad e inteligencia de amenazas Web3 desarrollada de forma independiente por SlowMist; mediante API ofrece capacidades de detección de actividades maliciosas y alertas de riesgo en la cadena de suministro en un ecosistema de paquetes de código abierto.
Todos los paquetes maliciosos e IOC involucrados en esta acción se han integrado en el motor de detección de amenazas de MistEye. Los desarrolladores pueden usar la API para realizar detección automatizada de dependencias del proyecto, determinar rápidamente si coincide con paquetes maliciosos conocidos y obtener recomendaciones de remediación.
📖 Documentación de la API: https://app.misteye.io/api-docs
🛠️ MistEye-DepScan: https://github.com/slowmist/MistEye-DepScan
Herramienta CLI ligera: con un solo comando, escanea las dependencias del proyecto y los paquetes instalados globalmente en busca de paquetes maliciosos conocidos; admite ecosistemas npm / PyPI / Cargo / Go / RubyGems.
🛠️ MistEye-Skills: https://github.com/slowmist/misteye-skills
Paquete de habilidades de seguridad del asistente de codificación de IA; activa automáticamente detección de seguridad MistEye antes de la instalación de dependencias y del acceso a URL
🛠️ MistEye-DNS-Guard: https://github.com/slowmist/MistEye-DNS-Guard
Herramienta de protección de seguridad DNS que detecta dominios maliciosos y accesos de riesgo; identifica amenazas de red como phishing y C2
Este artículo fue escrito por el equipo de inteligencia de amenazas de SlowMist, combinando el sistema de inteligencia de amenazas MistEye y el análisis impulsado por el agente de IA de SlowMist Agent. Si tiene cualquier pregunta, por favor póngase en contacto y comparta comentarios.
Referencia
[1]https://x.com/OpcodeIntel/status/2091578565628502324
[2]https://www.microsoft.com/en-us/security/blog/2026/06/24/stealc-and-amadey-breaking-down-infostealers-and-the-cybercrime-services-that-deliver-them/
[3]https://security.googleblog.com/2024/07/improving-security-of-chrome-cookies-on.html

