Código malicioso oculto en proyectos de GitHub mediante Unicode
Descubre cómo atacantes publican proyectos en GitHub con código malicioso oculto en caracteres Unicode, difícil de detectar y que imita bibliotecas populares.
Descubre cómo atacantes publican proyectos en GitHub con código malicioso oculto en caracteres Unicode, difícil de detectar y que imita bibliotecas populares.
© RusPhotoBank
Investigadores de ciberseguridad han descubierto una campaña a gran escala en la que atacantes publican proyectos en GitHub que contienen código malicioso oculto. Estos repositorios utilizan caracteres Unicode especiales que son casi imposibles de detectar durante una revisión visual del código. Para los desarrolladores, aparecen como espacios vacíos o líneas, pero cuando un intérprete los procesa, este código puede decodificarse correctamente y ejecutar acciones dañinas.
Según expertos de Aikido Security, al menos 151 paquetes preparados de esta manera aparecieron en la plataforma entre el 3 y el 9 de marzo. Estos proyectos a menudo se hacen pasar por bibliotecas populares o herramientas de software conocidas, lo que aumenta la probabilidad de que los desarrolladores los utilicen accidentalmente. A primera vista, el código parece seguro y legible, pero las funciones peligrosas están ocultas dentro de secuencias de caracteres invisibles, lo que hace que las revisiones manuales tradicionales sean ineficaces para detectar la amenaza. Hallazgos similares ya se han documentado en otras plataformas, incluyendo NPM, Open VSX y el mercado de extensiones de VS Code.
Los expertos vinculan la campaña a un grupo provisionalmente llamado Glassworm. Identificar a sus miembros es extremadamente difícil porque los repositorios parecen muy plausibles. Regularmente incluyen actualizaciones de documentación, cambios de versión, correcciones de errores y refactorización de código, todo imitando el desarrollo activo de un proyecto. Los especialistas sugieren que para crear un gran volumen de cambios tan realistas, los atacantes podrían haber utilizado modelos de IA generativa.
Técnicamente, el ataque explota el hecho de que algunos caracteres Unicode son visualmente indistinguibles de espacios vacíos, pero pueden interpretarse como caracteres del alfabeto latino. Como resultado, un pequeño decodificador integrado extrae bytes reales de estos símbolos y los pasa a una función de ejecución de código. Los proyectos descubiertos pueden representar solo una pequeña parte de toda la campaña, señalan los investigadores, ya que los paquetes maliciosos a menudo se eliminan después de haber obtenido suficientes descargas.