Индекс пакетов Python (PyPI), в котором содержится более 455 000 репозиториев кода Python, на выходных закрылся для новых пользователей и их проектов, потому что не смог справиться с наплывом усилий по созданию вредоносных учетных записей и библиотек кода.
«Объем злонамеренных пользователей и вредоносных проектов, созданных в индексе на прошлой неделе, превысил нашу способность своевременно реагировать на него, особенно когда несколько администраторов PyPI находятся в отпуске», — говорится в сообщении реестра пакетов в обновлении статуса в субботу. .
Разработчики программного обеспечения обычно полагаются на реестры пакетов для загрузки модульных пакетов кода, выполняющих полезные функции. Эти реестры, такие как PyPI, npm и RubyGems, стали популярными целями для атак на цепочки поставок программного обеспечения, направленных на компрометацию широко используемых пакетов, приложений и пользователей, которые от них зависят.
По сути, вы действительно не хотите, чтобы злоумышленники загружали свои вредоносные программы и поддельные библиотеки в популярные реестры, поскольку это привело бы к тому, что ничего не подозревающие разработчики отравили бы свои приложения и пользователей плохими зависимостями. Кто-то должен отфильтровывать плохой код от хорошего.
Проблема в PyPI заключалась не столько в наплыве поддельных учетных записей и поддельных пакетов, хотя поток сомнительных материалов действительно вырос с обычных 20–30 отчетов в день до примерно 40 в день за выходные. Скорее, персонал, который обычно проверяет подозрительные сообщения, сократился до одного человека, который чувствовал себя не в состоянии адекватно ответить.
Мы снова вспоминаем о XKCD.
Об этом заявил директор по инфраструктуре Python Software Foundation И Дурбин. Регистр в телефонном интервью, что то, что произошло, было больше связано с сокращением ресурсов, чем с увеличением вредоносного ПО.
«Что отличалось, так это то, что есть команда из четырех администраторов PyPI», — сказал Дурбин. «Трое из нас принимают участие в реагировании на сообщения о вредоносном ПО, и мы довольно усердно и довольно быстро справляемся с ними. Как правило, наша цель — удалить их в течение 24 часов. Но более реалистично, обычно это занимает от одного до шести часов. Причина потому что чем дольше они сидят там, тем большую угрозу они представляют, и в целом мы хотим реагировать».
За последние две недели двое из трех человек, которые реагируют на инциденты, в какой-то момент были в отпуске. Это оставляло Дурбину, а иногда и еще одного администратора, для проверки каждого отчета о безопасности.
«За это время я заметил, что происходит гораздо больше автоматизации», — объяснил Дурбин, имея в виду как автоматическое создание учетной записи, так и автоматическую отправку пакетов.
«И это как раз дошло до того, что я не был уверен, что я как личность собираюсь сидеть здесь все выходные, просматривая этот почтовый ящик. Так что, вы знаете, фактически я сгорел после двух недель работы Я провел быструю проверку с остальными членами команды, чтобы убедиться, что они считают, что все в порядке, а затем потянул за рычаг, чтобы не чувствовать личной ответственности.
«Проблема заключалась в том, что буквально с их автоматизацией, как только я что-то снимал, они заменяли это чем-то другим. и играй в Whac-a-Mole».
Говоря о махинациях с цепочками поставок программного обеспечения, На прошлой неделе компания по обеспечению безопасности Check Point отметила Microsoft Visual Studio Code Extension Marketplace — репозиторий официальных и сторонних надстроек для редактора кода — за размещение нескольких вредоносных расширений.
Было обнаружено, что один из них, названный «Тема Даркула темная», явный похититель информации, который якобы предлагал способ настроить цветовую схему Дракулы с другим названием, имел более 45 000 установок. Другой, названный «python-vscode», имел подозрительный шаблон внедрения кода, но не мог быть окончательно определен как враждебный.
Сообщается, что на прошлой неделе команда Microsoft Visual Studio Code удалила подозрительные расширения.
Выгорание сопровождающего — давняя проблема в сообществе открытого исходного кода, которую обычно решают, признавая, что больше ресурсов — с точки зрения людей и часто финансирования — необходимо направлять на затронутые проекты.
По состоянию на понедельник отчеты сообщества снова составляют три человека, поэтому PyPI теперь снова позволяет людям создавать новые учетные записи и загружать новые пакеты.
Дурбин сказал, что есть хорошие новости. Благодаря финансированию OpenSSF и Linux Foundation в ближайшее время в Python Software Foundation (PSF) появится постоянный разработчик безопасности. Нам сказали, что это предложение о работе должно быть отправлено сегодня.
И PSF стремится заполнить еще одну должность, специально посвященную проблемам безопасности, связанным с PyPI. Это будет финансироваться AWS и другой организацией, о которой официально не было объявлено, поскольку переговоры еще не завершены.
«Один из проектов, над которым они собираются работать, заключается в том, чтобы довести нас до такой степени, что у нас появятся удобные для автоматизации способы реагирования на эти [malware reports]», — сказал Дурбин, объяснив, что система должна иметь возможность обрабатывать такие сценарии, как откат удаления, чтобы при необходимости можно было устранить последствия неправильных отчетов.
«Я не думаю, что мы дойдем до того, что все будет полностью автоматически, просто потому, что это просто рецепт для плохих дней». ®