В npm обнаружена еще одна крупная атака на цепочку поставок, затронувшая 17 популярных пакетов GlueStack @react-native-aria. В пакеты, загруженные более миллиона раз, был добавлен вредоносный код, работающий как троян удаленного доступа (RAT).

Атака на цепочку поставок обнаружили специалисты компании Aikido Security, которые заметили обфусцированный код, внедренный в файл lib/index.js следующих пакетов:

Имя пакета Версия Число еженедельных загрузок
@react-native-aria/button 0.2.11 51 000
@react-native-aria/checkbox 0.2.11 81 000
@react-native-aria/combobox 0.2.10 51 000
@react-native-aria/disclosure 0.2.9 3
@react-native-aria/focus 0.2.10 100 000
@react-native-aria/interactions 0.2.17 125 000
@react-native-aria/listbox 0.2.10 51 000
@react-native-aria/menu 0.2.16 22 000
@react-native-aria/overlays 0.3.16 96 000
@react-native-aria/radio 0.2.14 78 000
@react-native-aria/switch 0.2.5 477
@react-native-aria/toggle 0.2.12 81 000
@react-native-aria/utils 0.2.13 120 000
@gluestack-ui/utils 0.1.17 55 000
@react-native-aria/separator 0.2.7 65
@react-native-aria/slider 0.2.13 51 000
@react-native-aria/tabs 0.2.14 70 000

 

Так как пострадавшие пакеты популярны и их еженедельно скачивают около 1 020 000 человек, исследователи предупредили, что атака может иметь самые серьезные последствия.

Как отмечают журналисты издания BleepingComputer, компрометация началась на прошлой неделе, 6 июня 2025 года, когда в npm была опубликована новая версия пакета @react-native-aria/focus. С тех пор 17 из 20 пакетов GlueStack @react-native-aria были скомпрометированы.

По словам экспертов, вредоносный код сильно обфусцирован и добавляется в последнюю строку исходного кода файла с добавлением большого количества пробелов. По этой причине его нелегко заметить при просмотре кода на сайте npm.

Исследователи отмечают, что вредоносный код практически идентичен трояну удаленного доступа, обнаруженному в прошлом месяце, в ходе изучения другой атаки на цепочку поставок в npm.

Внедренная в пакеты малварь подключается к управляющему серверу злоумышленников и получает от него команды для выполнения. Среди них:

  • cd — изменить текущий рабочий каталог;
  • ss_dir — сменить директорию на путь скрипта
  • ss_fcd:<path> — принудительно изменить каталог на <path>;
  • ss_upf:f,d — загрузить отдельный файл f в место назначения d;
  • ss_upd:d,dest — скачать все файлы из каталога d в пункт назначения dest;
  • ss_stop — установить флаг остановки, прерывающий текущий процесс загрузки;
  • любой другой ввод — рассматривается как шелл-команда и выполняется через child_process.exec().

Кроме того, троян также подменяет переменную среды PATH, добавляя в ее начало фальшивый путь (%LOCALAPPDATA%\Programs\Python\Python3127). Это позволяет малвари тихо перехватывать вызовы python и pip и выполнять вредоносные двоичные файлы.

Специалисты Aikido Security попытались связаться с разработчиками GlueStack и сообщить о компрометации, создавая issue на GitHub для каждого из репозиториев проекта, но не получили ответа. В итоге эксперты уведомили о проблемах администраторов npm, но обычно процесс удаления занимает несколько дней.

Эксперты связывают эту атаку со злоумышленниками, которые ранее скомпрометировали четыре других пакета в npm: biatec-avm-gas-station, cputil-node, lfwfinance/sdk и lfwfinance/sdk-dev.

После того как информация об этой атаке попала на страницы СМИ, разработчики GlueStack отозвали токен доступа, который использовался для публикации вредоносных пакетов, и теперь они помечены в npm как устаревшие.

«К сожалению, отменить публикацию скомпрометированной версии не удалось из-за зависимых пакетов, — пишет представитель GlueStack на GitHub. — В качестве профилактической меры я отозвал затронутые версии и обновил последний тег, чтобы он указывал на безопасную старую версию».

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии