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