Cómo funciona la trampa

El código visible del PoC parece limpio. El engaño está en las dependencias de Python que se instalan al clonar el repositorio. La cadena de infección es:

  • El usuario clona el repo y ejecuta pip install para obtener los requisitos.
  • Se descarga el paquete frint, que a su vez arrastra skytext.
  • skytext contiene un archivo compilado (gradient.so en Linux, gradient.pyd en Windows).
  • Al ejecutar el PoC real, ese archivo se activa, descifra código adicional y descarga el troyano ChocoPoC desde un dataset de Mapbox.
  • El malware solo se activa si detecta que el archivo EXPLOIT_POC.py está cargado; si se ejecuta el paquete solo, permanece inactivo y evita la detección en sandboxes.

Lo que roba y qué hace

Una vez activo, ChocoPoC funciona como un troyano de acceso remoto completo. Sus capacidades incluyen:

  • Robar contraseñas guardadas, cookies, autocompletado e historial de Chrome, Brave, Edge y Firefox.
  • Extraer archivos de texto, notas, bases de datos locales, historial de shell, configuración de red y procesos en ejecución.
  • Ejecutar comandos arbitrarios del sistema y código Python.
  • Subir archivos y directorios completos.
  • Ralentizar su actividad para pasar desapercibido.

Los atacantes también usan datasets de Mapbox para la exfiltración de datos, y un servidor HTTP aparte para archivos grandes.

El estado de las cosas

Sekoia identificó al menos siete repositorios en GitHub que distribuyen ChocoPoC. Los exploits falsos cubren vulnerabilidades reales como CVE-2025-64446 (FortiWeb), CVE-2025-55182 (React2Shell), CVE-2025-14847 (MongoBleed), CVE-2026-0257 (PAN-OS) y una de Ivanti Sentry. Al momento del informe, los repositorios y los servidores de comando y control seguían operativos.

Entre líneas

Esta campaña no inventa una técnica nueva —ya hay antecedentes de atacantes disfrazados de investigadores—, pero destaca por ocultar el malware en las dependencias en lugar del código visible del exploit. Así evita revisiones rápidas de código y sandboxes que solo analizan el archivo principal. La presión por tiempo en la comunidad de seguridad es el vector principal de infección.