crates.io запретил публикацию по токену для желающих и заблокировал два опасных триггера GitHub Actions
21.01.2026В crates.io появился режим, в котором публикация крейта по токену невозможна в принципе — только через доверенную публикацию. Заодно заблокированы два триггера GitHub Actions, стоявшие за несколькими инцидентами в экосистеме.
Доверенная публикация и режим «только она»
Доверенная публикация работает по принципу: система сборки получает краткоживущие права из инфраструктуры CI, без долгоживущего токена, который можно украсть. До этого она работала с GitHub Actions, теперь — и с GitLab CI/CD, пока только на хостинге gitlab.com.
Главное изменение — переключатель в настройках крейта, который полностью отключает публикацию по токену. Если включён, обычный API-токен работать не будет вовсе.
Это закрывает конкретный вектор: утечка токена из настроек репозитория или из журнала сборки давала право выпустить вредоносную версию. Теперь такого права нет.
Заблокированные триггеры
Триггеры pull_request_target и workflow_run запрещены для доверенной публикации.
Это не формальность. Оба триггера дают коду из pull request'а доступ к секретам и окружению, в том числе возможности записать в кеш. Именно так устроено большинство инцидентов, связанных с утечкой секретов через GitHub Actions, и снимать их по одному — работа надолго.
Вкладка безопасности
На страницах крейтов появилась вкладка с сообщениями о безопасности из базы RustSec. Уязвимость видна до добавления зависимости, а не после.
Ещё три изменения
- на страницах показывается объём кода в строках, посчитанный после публикации;
- в записи индекса появилось поле времени публикации — на нём Cargo сможет со временем вводить «остывание» для новых версий и воспроизводить разрешение зависимостей на дату в прошлом;
- фронтенд переносится на Svelte.
Что делать
Владельцам крейтов: если публикация идёт через GitLab или нужен запрет публикации по токену — включать соответствующие настройки. Если чините чужой крейт, публиковать через доверенную публикацию, а не по токену.
Пользователям: смотреть вкладку безопасности перед добавлением зависимости и убирать из непрерывной сборки триггеры, которые делают кеш и окружение доступными для pull request'ов.
Оригинал
crates.io: development update от 21 января 2026 года
Упоминаний: 1 · Просмотров: 2