Python Package Index (PyPI) изменил правила публикации пакетов: теперь платформа блокирует загрузку новых файлов в релизы, созданные более 14 дней назад. Это превентивная мера безопасности, призванная защитить экосистему от атак типа «отравления» пакетов, при которых злоумышленники могли бы внедрить вредоносный код в давно стабильные версии библиотек через скомпрометированные токены или CI/CD пайплайны.
Ранее разработчики могли добавлять файлы в существующие релизы без ограничений по времени. Это создавало риск того, что старые версии, которым доверяют пользователи и системы автоматизации, могли быть незаметно изменены. Хотя на данный момент случаев эксплуатации этой уязвимости зафиксировано не было, администраторы репозитория решили закрыть вектор атаки, который теоретически позволял подменять содержимое пакетов без изменения номера версии.
Новое ограничение направлено на повышение прозрачности цепочки поставок программного обеспечения. Теперь любой новый артефакт требует создания нового релиза, что делает процесс обновления более предсказуемым и позволяет пользователям легче отслеживать изменения в зависимостях. Это изменение является частью более широкой стратегии PyPI по усилению защиты инфраструктуры Python-разработки от атак на цепочки поставок.
Ключевые факты
- Введено ограничение на загрузку новых файлов в релизы старше 14 дней.
- Мера направлена на предотвращение «отравления» стабильных версий пакетов.
- Защита актуальна для случаев компрометации токенов публикации или рабочих процессов CI/CD.
- Изменение введено превентивно, так как реальных случаев злоупотребления этой возможностью до сих пор не наблюдалось.