GitHub объявил войну хакерам и меняет правила игры

leer en español

GitHub объявил войну хакерам и меняет правила игры

Новый механизм публикации навсегда исключит человека из цепочки доверия.

image

GitHub анонсировала масштабные изменения в системе аутентификации и публикации пакетов в npm, направленные на усиление защиты от атак на цепочку поставок. Причиной обновлений стала недавняя кампания Shai-Hulud — вредоносный самораспространяющийся червь, внедрённый в сотни npm-библиотек. Он не только дублировал себя в другие пакеты, но и сканировал устройства разработчиков в поисках конфиденциальных данных, включая ключи и токены, и передавал их злоумышленникам.

В ответ на инцидент GitHub заявила, что в ближайшее время откажется от устаревших механизмов авторизации и введёт более жёсткие меры контроля. Среди ключевых нововведений — обязательное использование двухфакторной аутентификации при локальной публикации, а также переход на краткоживущие токены с максимальным сроком действия в 7 дней. Кроме того, будет активно продвигаться использование системы Trusted Publishing, основанной на протоколе OpenID Connect, которая позволяет публиковать пакеты напрямую из CI/CD без токенов.

Trusted Publishing создаёт криптографически проверяемую связь между опубликованным пакетом и окружением его сборки. Интерфейс CLI в npm автоматически формирует и прикрепляет к релизу доказательство подлинности, благодаря чему каждый пользователь может проверить, где и в каких условиях был собран пакет. Это решение должно повысить прозрачность и доверие к поставщикам программных компонентов.

Переход к новой системе будет включать следующие изменения:

  • отказ от классических токенов, ранее использовавшихся для публикации;
  • вывод из эксплуатации TOTP как метода 2FA, с переходом на физические ключи, совместимые с FIDO;
  • ограничение срока действия детализированных токенов, особенно тех, что дают право на публикацию;
  • блокировка публикации с использованием токенов по умолчанию — предпочтение будет отдано либо доверенной публикации, либо ручной загрузке с 2FA;
  • отмена исключений, позволяющих обойти двухфакторную защиту при локальной публикации;
  • расширение списка CI/CD-провайдеров, подходящих для Trusted Publishing.

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

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

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