PyPI теперь отклоняет загрузку новых файлов, если релизу больше 14 дней. Ограничение ввели, чтобы старые и давно стабильные сборки нельзя было отравить, если злоумышленник получит доступ к токенам публикации или рабочим процессам проекта. Пока таких атак не зафиксировали, но технических причин, почему это невозможно, нет — просто нападающие не знали о лазейке.
Обсуждение этого поведения началось ещё в январе 2024 года в рамках PEP 740, посвящённого цифровым аттестациям. Тогда дискуссия заглохла, потому что некоторые проекты полагались на возможность добавлять в уже опубликованные релизы поддержку новых версий Python. Всё изменилось в марте 2026 года, когда скомпрометировали популярные пакеты LiteLLM и Telnyx. Причиной стал "mutable reference" в том, как эти проекты использовали Trivy GitHub Action.
Чтобы понять, насколько болезненным окажется запрет, разработчики запросили базу PyPI и проанализировали, кто и как часто публиковал новые файлы к старым релизам. Особое внимание уделили сборкам cp314 wheels для топ-15 000 пакетов. Оказалось, что только 56 проектов из 15 000 загрузили wheel для Python 3.14 спустя более 14 дней после выхода релиза. Цифры убедили всех в том, что удар по экосистеме будет минимальным.
На саммите по пакетированию, прошедшем на PyCon US 2026, вопрос вынес на обсуждение инженер по безопасности PyPI Майк Фидлер. Присутствующие пришли к консенсусу: заставлять разработчиков поднимать версию ради поддержки нового Python — приемлемо. Сет Ларсон, вооружившись данными и консенсусом, быстро подготовил патч, и 8 июля 2026 года его влили.
Теперь компрометация токенов не сможет загнать релиз в странное состояние, когда часть файлов заражена, а часть чиста, и администраторам не придётся разгребать эту кашу. Пользователям Python нововведение даёт прямую защиту и сокращает объём ручной «чистки» после инцидентов. Полноценная семантика «закрытых» релизов появится позже, когда PEP 694 стандартизирует Upload 2.0 API и механизм Staged Previews. Работу Сета Ларсона и Майка Фидлера в Python Software Foundation финансирует Alpha-Omega.