На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

Исследователи из Sophos обнаружили в репозитории PyPI около 4 тыс. поддельных библиотек, загруженных пользователем с говорящим именем Remind Supply Chain Risks. Несколько таких модулей носят слегка искаженные имена популярных проектов; вредоносного кода в них нет — только Python-команда на отправку данных о загрузке на сторонний сервер.

Названия остальных фейковых пакетов более развернуты и вряд ли обеспечат скачивание по ошибке — например, Build-Number-Incrementor-for-C-Sharp или Web-Service-for-Android-GMaps-AsyncTask-Demo. Все найденные специалистами фальшивки уже изъяты из публичного доступа.

Загрузка и установка пакетов из PyPI обычно осуществляется подачей команды pip install [имя пакета] или с помощью инсталлятора программы, для которой необходим импорт данного компонента. Распространители зловредов зачастую делают ставку на это удобство, взламывая аккаунт разработчика легитимной библиотеки и загружая в репозиторий вредоносное обновление от его имени.

В результате зловредный код проникает во все ИТ-инфраструктуры предприятий, чьи приложения используют скомпрометированный компонент. Возможность такой атаки на цепочку поставок недавно с успехом продемонстрировал ИБ-исследователь Алекс Бирсан (Alex Birsan).

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

Именно так, видимо, мыслил Remind Supply Chain Risks, загружая в PyPI пять фальшивых пакетов:

  • asteroids — имитацию обработчика аудиозаписей asteroid; 
  • beauitfulsoup4 — поддельный парсер веб-страниц beautifulsoup4;       
  • llvm — имитацию библиотеки llvmpy;
  • winpty — вместо библиотеки winpy;
  • wwebsite — вместо набора инструментов website.

Анализ показал, что все эти модули нельзя с уверенностью отнести к вредоносным. Они содержат только эту Python-команду, запускаемую при установке пакета (а не при его использовании):

url = "h"+"t"+"t"+"p"+":"+"/"+"/"+[IP-адрес]+"/name?ИМЯФЕЙКОВОГОПАКЕТА"
   requests.get(url, timeout=30)

Судя по всему, поддельные компоненты предназначены для сбора данных телеметрии — информации о количестве загрузок и установок. Все они просто подключаются к удаленному серверу в Японии, сообщая имя своего пакета, и игнорируют отклик, если таковой вообще последует.

Несмотря на очистку PyPI от его творений, Remind Supply Chain Risks не угомонился; 3 марта он выложил в открытый доступ новый фейковый пакет — beatufulsoup4. В названии нового проекта хактивист прозрачно намекнул на возможность ошибки: You may want to install beautifulsoup4, not beautfulsoup4 («Лучше, наверное, установить beautifulsoup4, а не beautfulsoup4»).

Атакующие прячут зловред в эмодзи и обходят ИИ-фильтры

Киберпреступники стали чаще использовать эмодзи и другие особенности Unicode, чтобы прятать вредоносный код, обходить фильтры и ускользать даже от ИИ-защиты. Новый тренд уже получил название emoji smuggling — «контрабанда через эмодзи».

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

Это могут быть эмодзи, похожие друг на друга буквы из разных алфавитов (гомоглифы), невидимые символы Unicode или специальные знаки, меняющие порядок отображения текста. В итоге человек видит одно, а система обрабатывает совсем другое.

Один из популярных приёмов — подмена символов в доменах. Например, «apple.com» можно зарегистрировать с кириллическими буквами, которые визуально почти не отличаются от латиницы. В браузере адрес выглядит привычно, но ведёт на фишинговую страницу. Такие IDN-гомографические атаки известны давно, но сейчас они становятся частью более сложных схем.

Другой класс трюков — невидимые символы вроде Zero Width Space (U+200B). Они не отображаются на экране, но меняют структуру строки. Это позволяет «сломать» простые сигнатурные фильтры и при этом сохранить работоспособность кода. Исследователи уже показали инструменты, с помощью которых можно спрятать целый JavaScript-модуль в «пустом» файле за счёт нулевой ширины символов.

Отдельная тема — использование эмодзи как контейнера для данных. За счёт особенностей Unicode, тегов и вариационных селекторов можно зашифровать команды внутри последовательности иконок. Для логов и систем мониторинга это выглядит как обычные смайлики, но специальный декодер превращает их, например, в инструкции «скачать», «удалить», «выполнить».

Особенно тревожит исследователей влияние таких техник на ИИ-системы. По данным Mindgard, FireTail и других компаний, Unicode-манипуляции и «эмодзи-контрабанда» позволяют обходить фильтры безопасности LLM почти со 100-процентной эффективностью. Скрытая нагрузка может активироваться после простой расшифровки внутри модели, даже если видимый текст выглядит безобидно.

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

RSS: Новости на портале Anti-Malware.ru