Искусственный интеллект и машинное обучение стали неотъемлемой частью программного обеспечения, но вместе с этим появились и новые векторы атак. Ранее ReversingLabs предупреждали об опасности использования формата Pickle в ML-моделях, поскольку он позволяет внедрять произвольный код. Теперь эта угроза материализовалась в новой атаке на Python Package Index (PyPI).
Описание
Поддельные пакеты для Alibaba AI
21 мая 2025 исследователи обнаружили три вредоносных пакета в PyPI: aliyun-ai-labs-snippets-sdk, ai-labs-snippets-sdk и aliyun-ai-labs-sdk. Они маскировались под SDK для работы с сервисами Alibaba AI Labs, но на самом деле содержали инфостилер, замаскированный под PyTorch-модель.
Пакеты были доступны менее суток, но успели скачаться около 1600 раз. Злоумышленники, вероятно, использовали фишинг или социальную инженерию, чтобы заставить разработчиков установить их.
Как работает атака?
При установке пакета автоматически запускается скрипт __init__.py, который загружает вредоносную PyTorch-модель. Внутри неё содержится код, собирающий данные:
- Имя пользователя и сетевой адрес.
- Название организации (через конфигурацию AliMeeting).
- Содержимое файла .gitconfig.
Некоторые версии пакетов дополнительно обфусцированы Base64, что затрудняет обнаружение.
Почему это опасно?
Безопасность ML-моделей пока слабо развита: многие инструменты не умеют анализировать их на предмет вредоносного кода. Pickle-файлы, которые используются в PyTorch, позволяют выполнять произвольные команды, что делает их идеальным инструментом для атак.
Вывод
Эта кампания подтверждает тренд: злоумышленники активно ищут новые способы скрыть вредоносный код, и ML-модели становятся одним из них. Разработчикам стоит осторожнее относиться к сторонним пакетам, особенно если они предлагают "удобные SDK" для популярных сервисов.
Индикаторы компрометации
SHA1
- 017416afba124b5d0dab19887bc611f9b5b53a27
- 05dbc49da7796051450d1fa529235f2606ec048a
- 0e0469a70d2dbcfe8f33386cf45db6de81adf5e7
- 17eaddfd96bc0d6a8e3337690dc983d2067feca7
- 183199821f1cb841b3fc9e6d41b168fd8781c489
- 1fedfba761c5dab65e99a30b23caf77af23f07bc
- 2bb1bc02697b97b552fbe3036a2c8237d9dd055e
- 32debab99f8908eff0da2d48337b13f58d7c7e61
- 4bd9b016af8578fbd22559c9776a8380bbdbc076
- 6dc828ca381fd2c6f5d4400d1cb52447465e49dd
- 7d3636cecd970bb448fc59b3a948710e4f7fae7d
- 81080f2e44609d0764aa35abc7e1c5c270725446
- 8aaba017e3a28465b7176e3922f4af69b342ca80
- a975e2783e2d4c84f5488f52642eaffc4fb1b4cd
- a9aec9766f57aaf8fd7261690046e905158b5337
- e1d8dbc75835198c95d1cf227e66d7bc17e42888