Логотипы GitHub и Python, объединённые щитом с часовым механизмом, символизирующим временную защиту от атак на цепочки поставок.

GitHub и PyPI внедрили временную защиту атак на цепочки поставок

Платформа GitHub и репозиторий PyPI (Python Package Index) ввели временные ограничения для снижения рисков атак на цепочку поставок. Инструмент управления зависимостями Dependabot теперь использует задержку в 72 часа, а PyPI запрещает обновление файлов в релизах старше 14 дней.

Разработчики пошли на этот шаг после череды громких инцидентов. Только за прошлый год сообщество столкнулось с вредоносными пакетами вроде ‘chalk’ и ‘debug’, операцией ‘s1ngularity’, кампанией Shai-Hulud и атакой GhostAction.

Как работает задержка Dependabot

Dependabot — это сервис GitHub, который отслеживает новые версии зависимостей и автоматически предлагает pull request’ы для обновления. Теперь он не спешит: встроен 72-часовой период ожидания перед тем, как открыть запрос на изменение. Это даёт время на обнаружение вредоносного кода.

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

Мы выбрали трое суток как компромисс между оперативностью получения свежих версий и риском подхватить угрозу, — пояснили в GitHub. — Пользователи могут изменить длительность задержки через параметр ‘cooldown’ в настройках Dependabot.

В GitHub подчёркивают, что задержка — лишь часть стратегии. Рекомендуются также lock-файлы для жёсткой фиксации версий, токены с минимальным скоупом и отключение ненужных скриптов установки в CI-пайплайнах.

PyPI против порчи старых релизов

PyPI внедрил правило: спустя 14 дней после первой публикации релиза в него нельзя добавить новые файлы. Это предотвращает сценарий, при котором скомпрометированный токен или рабочий процесс позволяет злоумышленнику «отравить» давно проверенный пакет.

Такая атака гипотетически крайне опасна: разработчики доверяют старым версиям, и вредоносное дополнение может распространиться незаметно. Интересно, что на сегодняшний день не зафиксировано ни одного подтверждённого случая использования этой техники против PyPI. Платформа действует на опережение.

  • Изменения в Dependabot: задержка 72 часа (настраиваемая).
  • Правило PyPI: запрет новых файлов в релизах старше 14 суток.
  • Причина: участившиеся атаки на цепочку поставок (chalk, debug, Shai-Hulud, GhostAction).
  • Дополнительные меры GitHub: lock-файлы, токены с ограниченным доступом, отключение скриптов.
  • Превентивный подход: PyPI блокирует вектор атаки до его реального использования.

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

Многослойная защита цепочек поставок

Нововведения GitHub и PyPI демонстрируют важность многоуровневой обороны в open-source экосистемах. Задержка на уровне менеджера зависимостей и блокировка изменений в стабильных релизах создают дополнительные барьеры на пути атакующего.

В GitHub также напомнили, что ручная проверка обновлений и аудит изменений остаются важнейшими практиками. Даже трёхдневная пауза не спасёт, если вредоносный код внедрён в мейнстримный пакет через компрометацию мейнтейнера на годы вперёд — для таких случаев нужны lock-файлы и воспроизводимые сборки.

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

Читайте также: Лучшие бесплатные антивирусы: сравнительный обзор

Источник: BleepingComputer

Похожие записи