Представители репозитория Python Package Index (PyPI) анонсировали введение обязательной двухфакторной аутентификации (2ФА) для сопровождающих критически важных проектов. Такой статус получили проекты, на долю которых приходится 1% загрузок за полгода (оценка пересчитывается ежедневно), а также зависимости таких пакетов. Таких в PyPI начитывается около 3800.

Новое требование будет распространяться на всех, кто имеет статус Maintainer и Owner. Причем если проект уже получил статус критически важного, он сохраняется на неопределенный срок, даже если в итоге пакет выпадет из списка наиболее загружаемых.

«Чтобы повысить общую безопасность экосистемы Python, PyPI начинает внедрять двухфакторную аутентификацию (2ФА) для критически важных проектов. Это требование вступит в силу в ближайшие месяцы», — пишут разработчики в блоге.

Интересно, что сопровождающим критически важных проектов будут предложены бесплатные аппаратные ключи от команды Google Open Source Security Team, спонсора Python Software Foundation (PSF).

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

Издание Bleeping Computer пишет, что в целом сообщество восприняло эту новость положительно, хотя нашлись и те, кому нововведение пришлось не по вкусу. К примеру, разработчик популярного пакета PyPI atomicwrites,  который загружают более 6 млн раз в месяц, Маркус Унтервадицер (Markus Unterwaditzer), удалил свою разработку из PyPI, после того как его проект признали критически важным.

Некоторые даже сравнили этот шаг Унтервадицера с инцидентом 2016 года, когда разработчик удалил из npm популярнейший модуль left-pad, что в итоге затронуло тысячи разработчиков и продуктов.

Впрочем, в случае Унтервадицера все не так печально: дело в том, что он просто «перевыпустил» atomicwrites, чтобы сбросить счетчики загрузок (и, следовательно, статус критически важного проекта), а не окончательно ликвидировал код. При этом разработчик отметил, что ему не нравятся внезапные изменения правил PyPI и он «предпочел просто писать код для развлечения» и беспокоиться о безопасности цепочки лишь тогда, когда ему за это платят.

Некоторые пользователи согласны с Унтервадицером, и тоже считают, что PyPI не должен перекладывать заботу о безопасности на разработчиков популярных пакетов, так как кому-то даже 2ФА может показаться излишне обременительной.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии