Исследователи в области кибербезопасности выявили крупномасштабную кампанию по размещению на популярных репозиториях проектов, содержащих скрытый вредоносный код. Этот код написан с использованием символов Unicode, которые невидимы для человеческого глаза, но расшифровываются декодерами.
С 3 по 9 марта на GitHub было загружено 151 вредоносный пакет, обнаруженных специалистами из компании Aikido Security. Эти пакеты часто имеют имена, схожие с известными продуктами, что может привести разработчиков к ошибочной установке.
Теперь злоумышленники используют более изощрённую тактику: основная часть кода выглядит нормально и не содержит явных признаков вредоносности. Вредоносные функции активируются с помощью невидимых символов Unicode, что делает ручную проверку кода малоэффективной.
Похожие методы были обнаружены также на платформах NPM, Open VSX и маркетплейсе VS Code. Злоумышленники, известные как Glassworm, создают видимость активной разработки проектов: они вносят правдоподобные изменения, такие как корректировка документации, повышение версий и исправление ошибок.
Эксперты предполагают, что для создания таких фальшивых изменений злоумышленники используют большие языковые модели ИИ. В противном случае вручную поддерживать 151 проект было бы нецелесообразно.
Невидимые символы Unicode соответствуют буквам латинского алфавита и воспринимаются интерпретатором JavaScript как исполняемый код. При выполнении JavaScript эти символы декодируются и передаются в функцию eval(), что позволяет запускать скрытый вредоносный код.
Хотя исследователи обнаружили 151 вредоносный проект, это, вероятно, лишь часть проблемы. Многие пакеты удаляются вскоре после публикации, как только набирают достаточное количество загрузок.
Лучший способ защиты от таких атак — тщательная проверка кода и зависимостей библиотек перед их включением в проект. Однако если предположения об использовании ИИ злоумышленниками верны, то эта задача будет становиться всё более сложной.