Популярный пакет «requests» подвергся злонамеренной вредоносной модификации.
Исследователи безопасности из компании Phylum обнаружили в популярном репозитории PyPI вредоносный пакет, который маскируется под популярную библиотеку «requests», но в действительности представляет ощутимую угрозу для всего сообщества разработчиков.
Пакет под названием «requests-darwin-lite» использовал технику стеганографии и был скачан 417 раз до того, как его удалили с платформы. Он представлял собой форк популярной библиотеки «requests», в который был встроен зловредный бинарник на базе Go. Злоумышленникам удалось спрятать его в PNG-логотип, используемый в интерфейсе инструмента.
Изменения были внесены в файл «setup.py» пакета, который настроен на декодирование и выполнение команды в формате Base64 для сбора UUID (уникального идентификатора устройства). Заражение начинается только в случае, если идентификатор соответствует определённому значению, что указывает на попытку проникновения на конкретное устройство. Это может свидетельствовать либо о целенаправленной атаке, либо об узком тестировании перед более масштабной кампанией.
Если UUID совпадает с нужным значением, «requests-darwin-lite» начинает извлекать данные из PNG-файла под названием «requests-sidebar-large.png», который по размеру значительно превышает аналогичный файл в легитимном пакете — около 17 МБ против 300 КБ.
Скрытые в изображении данные содержат фреймворк Sliver на базе Golang, который обычно используется профессионалами в области кибербезопасности для операций красных команд. Конечные цели использования этого пакета остаются неясными, однако это событие ещё раз подчёркивает, что экосистемы открытого кода продолжают привлекать злоумышленников для распространения вредоносного ПО.
Стеганография — далеко не новый метод атаки. На самом деле, он весьма часто используется различными злоумышленниками. Так, на прошлой неделе мы рассказывали вам о том, как простая картинка, размещённая в комментариях под одной из публикаций на зарубежном ресурсе, более трёх лет представляла угрозу для пользователей, так как содержала в своей основе вредоносный код, ведущий на сторонний веб-сайт.
Помимо этого, непрекращающийся поток вредоносного ПО в такие реестры, как npm и PyPI, а также недавний инцидент с XZ Utils, подчёркивают необходимость решения системной проблемы с компрометацией репозиториев для разработчиков, которая может быть использована злоумышленниками в весьма масштабных и многоуровневых атаках на цепочку поставок.
Никаких овечек — только отборные научные факты