Аналитики из западной компании Phylum, специализирующейся на кибербезопасности, опубликовали анализ, согласно которому вредоносное ПО было тщательно скрыто в редко используемой функции 'end' библиотеки jQuery. Эта функция вызывается внутренне более популярной функцией 'fadeTo', входящей в набор утилит для анимации.
С 26 мая по 23 июня 2024 года на регистр npm было загружено до 68 пакетов, имена которых варьировались от cdnjquery до sytlesheets. Также было установлено, что троянизированный файл jQuery размещен в репозитории GitHub под учетной записью "indexsc". В этом же репозитории находятся JavaScript-файлы, содержащие скрипт, указывающий на модифицированную версию библиотеки.
Особое внимание заслуживает метод внедрения вредоносного кода: изменения были внесены в функцию "end", что позволяет злоумышленнику перехватывать данные форм на веб-сайтах и отправлять их на удалённый сервер.
«Безопасность в разработке программного обеспечения является критически важным аспектом, особенно в контексте цепочки поставок. Атаки на них могут привести к серьезным последствиям, включая утечку данных, нарушение работы систем и, конечно, финансовые потери. В данном случае, обнаружение троянизированных версий в крупных репозиториях кода, в очередной раз подчеркивает важность контроля кода на всех этапах разработки. Необходимо проводить регулярные проверки кода, чтобы выявлять возможные уязвимости и угрозы безопасности. Кроме того, не лишним будет следить за тем, какие пакеты используются в проекте и откуда они берутся. Рекомендую разработчикам обращать внимание и на имена пакетов, так как в данном случае злоумышленники использовали различные названия для своих троянизированных версий jQuery», – говорит эксперт и менеджер по продукту SafeERP компании «Газинформсервис» Римма Кулешова.