Назад в ленту

npm начал проверять пакеты на вредоносный код: что изменится для разработчиков

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

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

Новые меры безопасности в npm: проверка пакетов перед публикацией

Команда npm разработчиков внедрила новую систему безопасности: теперь каждый пакет перед публикацией в реестре проходит проверку на вредоносный код. Если раньше можно было выкатить новую версию за секунды, то с новыми правилами после команды npm publish пакет может задержаться на проверку, попасть на ручную модерацию или вовсе быть заблокирован. Это касается всех публикаций, в том числе популярных библиотек вроде npm React — хотя разработчики последних вряд ли столкнутся с проблемами, если их код чист.

Особое внимание уделили инструментам двойного назначения — тем, что могут быть использованы как во благо, так и во вред. Для них вводятся отдельные требования: нужно обязательно предоставить подробное описание назначения и включить двухфакторную аутентификацию. Так что если вы планируете опубликовать что-то спорное, готовьтесь к дополнительным вопросам. А для рядового пользователя npm install теперь становится чуть безопаснее — меньше шансов подхватить вредонос.

Новые меры npm — шаг в верном направлении. Хотя задержки при публикации могут раздражать, безопасность экосистемы того стоит. Возможно, скоро и другие реестры последуют примеру.

Справка по теме (FAQ)
Как теперь публиковать пакеты в npm?
После ввода проверок процесс публикации может занять больше времени. После команды npm publish пакет сначала проверяется автоматически, а затем может быть отправлен на ручную модерацию. Если всё в порядке, версия появится в реестре с задержкой.
Что такое инструменты двойного назначения?
Это пакеты, которые могут использоваться как для легитимных целей, так и для вредоносной активности. Для их публикации теперь требуется подробное описание назначения и включенная двухфакторная аутентификация.
Затронут ли проверки старые версии пакетов?
Нет, проверки применяются только к новым публикациям. Уже существующие в реестре пакеты не будут автоматически просканированы, но могут быть проверены при обновлении.
Что делать, если мой пакет заблокировали?
Скорее всего, придется обратиться в поддержку npm и предоставить дополнительные пояснения по коду. В особо сложных случаях может потребоваться ручная проверка с участием команды безопасности.