← На главную

npm v12 отключает скрипты, GitHub вводит блокировку, staged publishing

29.07.2026 12:11 · hackernews

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

Для защиты от начального проникновения npm в июне 2026 года ввёл превентивную блокировку для критичных аккаунтов. Если владелец такого аккаунта меняет email или использует код восстановления 2FA, npm на 72 часа переводит его в режим «только чтение». Этого времени достаточно, чтобы отреагировать на атаку, пока злоумышленник не начал публиковать вредоносные пакеты.

В GitHub Actions тоже закрыли популярную лазейку. Поменяли поведение actions/checkout по умолчанию в триггерах pull_request_target — теперь код из непроверенных форков не подгружается, пока разработчик явно не разрешит это, осознав риск. Этот фикс и его бэкпорт на старые версии обрубают один из самых частых сценариев захвата CI/CD пайплайнов. Одновременно ввели управление политиками запуска воркфлоу: на уровне организации, репозитория или целого предприятия можно задать, кто и по каким триггерам вправе запускать Actions. Ещё один свежий апдейт — кэш Actions теперь открывается только на чтение для ненадёжных триггеров. Раньше захватчик, получив выполнение кода в одном воркфлоу, травил кэш и через него пробирался к привилегированным учётным данным в соседних воркфлоу.

Против кражи секретов есть два важных хода. С апреля 2026 года npm поддерживает trusted publishing через CircleCI — можно убрать долгоживущие токены из пайплайнов и авторизовать публикацию пакетов без них. А в техническом превью появился сетевой экранизатор Actions — он логирует весь исходящий трафик воркфлоу, чтобы засечь попытку слить данные на левый домен.

Наконец, самое больное для атакующих — преграды на этапе распространения. В мае 2026 года npm запустил staged publishing: публикация пакета требует дополнительного одобрения и 2FA напрямую в npm cli или на сайте. А июньский анонс npm v12 идёт ещё дальше — установочные скрипты по умолчанию отключены, как и зависимости через git или remote URL. Нужны они по делу — разработчик сможет включить конкретные скрипты вручную.

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

Читать оригинал →