Безопасность

PyPI добавляет систему архивирования проектов для предотвращения вредоносных обновлений

PyPI добавляет систему архивирования проектов для предотвращения вредоносных обновлений

Индекс пакетов Python (PyPI) объявил о введении «Архивации проектов» - новой системы, которая позволяет издателям архивировать свои проекты, указывая пользователям, что обновлений не предвидится.

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

Новая функция призвана повысить безопасность цепочки поставок, поскольку взлом аккаунтов разработчиков и распространение вредоносных обновлений для широко используемых, но заброшенных проектов - распространенный сценарий в пространстве открытого исходного кода.

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

Как работает архивация проектов

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

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

Мейнтейнеры могут разархивировать свой проект в любое время в будущем, если решат возобновить работу над ним.

Под капотом новая система использует модель LifecycleStatus, изначально разработанную для карантина проектов, которая включает в себя машину состояний, обеспечивающую переходы между различными статусами.

Как только владелец проекта нажимает на опцию «Архивировать проект» на странице настроек PyPI, платформа автоматически обновляет свои метаданные, чтобы отразить новый статус.

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

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

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

В других случаях сопровождающие удаляют свои проекты, планируя прекратить разработку, что приводит к сценариям, подобным атакам «Revival Hijack». Предоставление таким сопровождающим возможности архивирования гораздо лучше с точки зрения безопасности.

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

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

Читайте также

Google утверждает, что хакеры используют искусственный интеллект Gemini для расширения возможностей своих атак

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

Дефект Subaru Starlink позволял хакерам взламывать автомобили в США и Канаде

Исследователи безопасности обнаружили недостаток произвольного захвата учетной записи в сервисе Starlink компании Subaru, который может позволить злоумышленникам отслеживать, контролировать и захватывать автомобили в США, Канаде и Японии, используя только номерной знак.