Запись архива

npm вводит сканирование пакетов при публикации — что менять разработчикам AI-агентов

npm запускает автоматическую проверку всех новых пакетов на вредоносный код. Задержка до 15 минут и новые требования к метаданным касаются CI/CD-пайплайнов и библиотек с системными вызовами, которые часто используют AI-агенты.

Терминал с процессом публикации пакета в npm и уведомлением о задержке сканирования
Терминал с процессом публикации пакета в npm и уведомлением о задержке сканирования
Imagen destacada del articulo fuente

С 28 июля 2026 года npm запускает автоматическое сканирование всех новых публикаций пакетов на вредоносный код. Проверка выполняется до того, как пакет становится доступен для установки. Это добавляет задержку от нескольких минут до 15 и более, а для пакетов с функциями, которые могут быть ошибочно приняты за вредоносные, вводится обязательное поле contentPolicy и файл DISCLOSURE.

Для разработчиков AI-агентов, которые используют npm для автоматизации, сбора данных, управления браузером или системных вызовов, нововведение означает два практических изменения. Во-первых, CI/CD-пайплайны больше не могут рассчитывать на мгновенную доступность только что опубликованного пакета. Во-вторых, сами библиотеки с dual-use возможностями (например, выполнение shell-команд, сетевое сканирование, аудит безопасности) рискуют быть заблокированными без предварительного добавления метаданных.

Как работает сканирование

При отправке пакета через npm publish инфраструктура реестра запускает автоматический анализ. Возможны три исхода: пакет публикуется в обычном режиме, отправляется на ручную проверку командой Trust and Safety, либо блокируется. В случае блокировки автор получает уведомление с правом апелляции. В зависимости от серьёзности находки администрация может принять меры вплоть до блокировки учётной записи — в соответствии с политикой безопасности npm.

Задержки и влияние на CI/CD

Среднее время сканирования составляет около пяти минут. В периоды пиковых нагрузок или при публикации крупных пакетов со сложной структурой задержка может достигать 15 минут и более. Представители npm подчёркивают, что эти значения не являются гарантией уровня обслуживания (SLA) и могут меняться по мере развития системы.

На время проверки команда npm dist-tag продолжает работать, а npm deprecate и npm unpublish становятся недоступны до завершения сканирования. Если ваш CI/CD-пайплайн сразу после публикации пытается установить свежую версию в другом окружении, необходимо добавить ожидание — например, повторять попытку с интервалом в 30 секунд до появления версии.

Требования для пакетов с двойным назначением (dual-use)

Некоторые легитимные библиотеки обладают возможностями, которые автоматические сканеры могут ошибочно классифицировать как вредоносные. Это касается, например, инструментов для тестирования безопасности, сетевых утилит или AI-агентов, выполняющих системные команды. Для таких случаев npm вводит поле contentPolicy в package.json. В нём разработчик указывает, что пакет содержит dual-use функциональность.

Дополнительно в корне пакета необходимо разместить файл DISCLOSURE с текстовым описанием особенностей работы и обоснованием легитимного использования. Этот файл используется командой Trust and Safety при ручной проверке. Требование будет внедряться постепенно; авторы уже существующих dual-use пакетов получат уведомления по электронной почте.

Что это значит для разработчиков AI-инструментов

Многие AI-библиотеки — для работы с локальными моделями, автоматизации браузера, сбора данных, выполнения произвольного кода — могут попасть в категорию dual-use. Если вы поддерживаете такой пакет, стоит заранее добавить contentPolicy и DISCLOSURE, чтобы избежать блокировки при следующей публикации. Также рекомендуется обновить CI/CD-скрипты, чтобы они корректно обрабатывали задержку в несколько минут.

Параметр | Значение
— | —
Дата введения | 28 июля 2026 года
Средняя задержка сканирования | ≈ 5 минут
Максимальная задержка (пик) | 15 минут и более
Новое поле в package.json | contentPolicy
Дополнительный файл | DISCLOSURE (текст)

Что пока не подтверждено

npm пока не раскрывает, какие именно алгоритмы используются для сканирования и какова точность детекции. Неизвестно, будет ли система адаптироваться под разные типы пакетов (например, AI-библиотеки vs веб-фреймворки). Также не указано, планируется ли публичная статистика по блокировкам и апелляциям.

Источник: Блог GitHub, https://github.blog/changelog/2026-07-28-npm-publish-time-malware-scanning-and-dual-use-metadata

Datos clave

Punto Detalle
Fuente GitHub Changelog
Fecha 2026-07-28T22:50:05+00:00
Tema npm publish-time malware scanning and dual-use metadata