GitHub ужесточила правила публикации npm-пакетов из-за уязвимости

GitHub ужесточила правила публикации пакетов в npm из-за уязвимости, которая позволяла злоумышленникам выпускать новые версии чужих пакетов без кражи учетных данных. 

GitHub ужесточила правила публикации npm-пакетов из-за уязвимости

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

Исследователи Bloom Security обнаружили более 1500 уязвимых пакетов, суммарно загруженных более 10 млн раз. Они подтвердили возможность атаки на собственном пакете. Использовали ли уязвимость злоумышленники, исследователи не знают.

Ошибка затрагивала привязки к репозиториям GitHub, через которые еще не выпускали версии пакета. До первой публикации реестр npm проверял только сочетание имени владельца и названия репозитория, игнорируя его постоянный числовой идентификатор. Если прежний адрес репозитория освобождался, а привязка оставалась, злоумышленник мог занять этот адрес и выпустить вредоносную версию чужого пакета.

После первой успешной публикации npm привязывает настройки к неизменяемому идентификатору репозитория, и 48-часовое ограничение снимается. Смена репозитория требует новой привязки с новым 48-часовым сроком подтверждения.

Максим Козлов, технический директор GitFlic (входит в «Группу Астра») отметил, что  ошибка в npm позволяла выпустить новую версию чужого пакета без кражи учетных данных.

«GitHub ужесточила правила публикации, но риск шире одной ошибки: любая зависимость из внешнего источника может прийти с уязвимостью или вредоносным кодом. Отказываться от внешних источников не нужно, нужно контролировать, что из них попадает в сборку. Для этого необходим собственный локальный реестр пакетов и контейнеров, через который идут все внешние зависимости. Политики приема определяют, какие пакеты разработчики могут использовать и из каких источников их брать. Сканеры композиционного анализа регулярно проверяют пакеты в реестре: уязвимость могут найти уже после приема. Источники пакетов компания выбирает сама и следит за ними. Локальный реестр есть и в GitFlic. В нем можно настроить политики приема пакетов и подключить сканеры».

Максим Козлов, технический директор GitFlic (входит в «Группу Астра»)

Что будем искать? Например,ChatGPT

Мы в социальных сетях