
Se encontró un paquete Python malicioso en el repositorio Python Package Index (PyPI) usando Unicode como un truco para evadir la detección e implementar malware que roba información.
El paquete en cuestión, llamado onyxproxy, se cargó en PyPI el 15 de marzo de 2023 y tiene capacidades para recopilar y filtrar credenciales y otros datos valiosos. Desde entonces ha sido eliminado, pero no antes de atraer un total de 183 descargas.
Según la firma de seguridad de la cadena de suministro de software Phylum, el paquete integra su comportamiento malicioso en un script de instalación repleto de miles de cadenas de código aparentemente legítimas.
Estas cadenas contienen una combinación de fuentes en negrita y cursiva y aún son legibles y analizables por el intérprete de Python solo para permitir que el malware ladrón se ejecute cuando se instala el paquete.
«Un beneficio obvio e inmediato de este extraño esquema es la legibilidad», señaló la compañía. «Además, estas diferencias visibles no impiden que el código ejecute lo que hace».
Esto es posible mediante el uso de variantes Unicode de lo que parece ser el mismo carácter (también conocido como homoglifos) para camuflar sus verdaderos colores (por ejemplo, self vs. 𝘀𝘦𝘭𝘧) entre funciones y variables que parecen inofensivas.
El uso de Unicode para inyectar vulnerabilidades en el código fuente fue revelado previamente por los investigadores de la Universidad de Cambridge, Nicholas Boucher y Ross Anderson, en una técnica de ataque llamada Trojan Source.
Lo que le falta al método en sofisticación lo compensa creando una nueva pieza de código ofuscado, aunque muestra signos reveladores de esfuerzos de copiar y pegar de otras fuentes.
Descubra los peligros ocultos de las aplicaciones SaaS de terceros
¿Conoce los riesgos asociados con el acceso de aplicaciones de terceros a las aplicaciones SaaS de su organización? Únase a nuestro seminario web para conocer los tipos de permisos que se otorgan y cómo mitigar el riesgo.
RESERVA TU LUGAR
El desarrollo destaca los continuos intentos de los actores de amenazas de encontrar nuevas formas de pasar a través de las defensas basadas en la coincidencia de cadenas al «usar Unicode como el intérprete de Python para ofuscar su malware».
En una nota relacionada, la empresa canadiense de ciberseguridad PyUp detalló el descubrimiento de tres nuevos paquetes de Python no autorizados (aiotoolbox, asyncio-proxy y pycolorz) descargados más de 1000 veces en total, diseñados para recuperar código ofuscado de un servidor remoto.