Индекс пакетов Python, также известный как PyPI, удалил 3653 вредоносных пакета, загруженных через несколько дней после того, как была выявлена ​​слабость безопасности при использовании частных и общедоступных реестров.

Яндекс

Разработчики Python используют PyPI для добавления программных библиотек, написанных другими разработчиками в их собственные проекты. Другие языки программирования реализуют аналогичные системы управления пакетами, каждая из которых требует определенного уровня доверия. Разработчикам часто рекомендуется просматривать любой код, который они импортируют из внешней библиотеки, хотя этот совет не всегда выполняется.

Системы управления пакетами, такие как npm, PyPI и RubyGems, в последние годы должны были удалять испорченные пакеты. Авторы вредоносных программ обнаружили, что, если они могут включить свой код в популярные библиотеки или приложения, они получат бесплатное распространение и недоверие, которого они не заслужили.

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

Поток вредоносных пакетов Python за последнюю неделю включал неавторизованные версии проектов, таких как CuPy, реализация NumPy-совместимого многомерного массива на CUDA, платформе параллельных вычислений Nvidia.

В GitHub выпускает сообщениеКеничи Маэхаши, специалист по сопровождению проекта, рассказывает, как cupy-cuda112 ((CuPy, созданный для CUDA 11.2) был загружен 25 февраля 2021 г., затем обнаружен и удален днем ​​позже. У Python есть политика для работы с подобными вещами (PEP 541).

Читайте также:
Почтовое отделение заключило с Fujitsu продление контракта на 42,5 млн фунтов стерлингов на ИТ-систему в связи с неправомерным судебным преследованием субпочтников

В понедельник Э. Дурбин III, директор по инфраструктуре Python Foundation, сказал тысячи оскорбительных пакетов были удалены, но выразили нежелание заблокировать ответственную учетную запись, потому что владелец учетной записи мог просто зарегистрировать другую учетную запись.

Имя, используемое в учетной записи автора вредоносной программы, «RemindSupplyChainRisks, «представляется попыткой привлечь внимание к аспекту распространения программного обеспечения, который, как уже понимают большинство разработчиков, чреват потенциальными проблемами. И строка комментария, включенная в один из файлов вредоносных пакетов, говорит об этом:» цель состоит в том, чтобы заставить всех обратите внимание на атаки цепочки поставок программного обеспечения, потому что риски слишком велики ».

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

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

Более того, вредоносный код очевиден в cupy-cuda112 не так уж и плохо: он отправляет GET-запрос на токийский IP-адрес (101.32.99.28) с добавленным к нему именем пакета. ®