# npm v12 делает установку по умолчанию более безопасной и заставляет команды JavaScript говорить то, чему они на самом деле доверяют.

Source: TechNewsList (https://technewslist.com)
Canonical URL: https://technewslist.com/ru/article/npm-v12-install-time-security-defaults-2026-07-08-night-ru
Section: Software (https://technewslist.com/ru/software)
Author: TechNewsList
Language: ru
Published: 2026-07-08T17:25:01.81+00:00
Updated: 2026-07-08T17:25:01.941603+00:00

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

## TL;DR
- GitHub сообщает, что npm v12 теперь общедоступен и превращает ключевые пути выполнения во время установки в явное согласие.
- В выпуске также прекращается поддержка наиболее деликатных случаев использования токенов детального доступа с обходом 2FA.
- Это подталкивает команды JavaScript к более четким политикам доверия для установок, непрерывной интеграции и публикации пакетов.

## Key points
- npm v12 по умолчанию отключает автоматические сценарии жизненного цикла, зависимости git и зависимости удаленных URL-адресов, если они не разрешены явно.
- Это изменение перемещает установки пакетов JavaScript в сторону модели утверждения, а не модели предположений.
- GitHub также сужает возможности токенов обхода 2FA, особенно в отношении изменений учетных записей и прямой публикации.
- Это изменение безопасности цепочки поставок, а не просто изменение версии или изменение эргономики разработчика.
- Команды, которые адаптируются раньше, скорее всего, получат более четкие границы доверия зависимостей и более безопасную автоматизацию.

# npm v12 делает установку по умолчанию более безопасной и заставляет команды JavaScript говорить то, чему они на самом деле доверяют.

## Что произошло

GitHub сообщает, что npm v12 теперь общедоступен и что он превращает некоторые варианты поведения во время установки в явное согласие. Сценарии жизненного цикла, такие как preinstall, install и postinstall, больше не запускаются по умолчанию. Зависимости Git больше не разрешаются автоматически, если это явно не разрешено. Зависимости удаленных URL-адресов также блокируются по умолчанию, если специалист по сопровождению не дает на это согласия.

![Изображение журнала изменений безопасности npm](https://github.blog/wp-content/uploads/2026/07/617855414-178b5f87-1787-4f2e-87b4-04c457e2d875.jpg)
*npm v12 превращает некоторые рискованные варианты поведения при установке в действия по согласию, а не в поведение по умолчанию.*

В то же время GitHub начал отказываться от наиболее деликатного использования токенов детального доступа с обходом 2FA для npm. Эти токены потеряют возможность пропускать 2FA для конфиденциальных действий по управлению учетными записями и пакетами, а позже они также потеряют возможность публикации напрямую без одобрения человека.

Это значимое изменение в философии. npm долгое время отдавал приоритет удобству, даже когда это означало, что важные действия происходили неявно во время установки или автоматизации. v12 начинает переворачивать эту модель в сторону явного доверия.

## Почему это важно

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

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

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

## Технические детали

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

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

Что касается аутентификации, токены детального доступа, настроенные для обхода 2FA, сначала потеряют свою роль в конфиденциальном управлении учетными записями, а затем потеряют и права прямой публикации. GitHub явно направляет экосистему к публикации, заслуживающей доверия OIDC, или к поэтапной публикации с этапами одобрения человеком.

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

## Влияние на рынок и отрасль

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

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

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

## За чем следить дальше

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

Следите за внедрением надежных публикаций. Если специалисты по сопровождению быстро перейдут на потоки на основе OIDC, усилия GitHub по обеспечению безопасности будут выглядеть своевременными, а не просто разрушительными.

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

## Источники

- [GitHub: безопасность во время установки npm и прекращение поддержки GAT bypass2fa](https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/)
- [GitHub: предстоящие критические изменения для npm v12](https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/)
- [GitHub: поэтапная публикация и новые элементы управления временем установки для npm](https://github.blog/changelog/2026-05-22-staged-publishing-and-new-install-time-controls-for-npm/)

Mentions: НПМ, GitHub, JavaScript, Безопасность цепочки поставок, Надежное издание, ОИДК

## Sources
- [GitHub](https://github.blog/changelog/2026-07-08-npm-install-time-security-and-gat-bypass2fa-deprecation/)
- [GitHub](https://github.blog/changelog/2026-06-09-upcoming-breaking-changes-for-npm-v12/)
- [GitHub](https://github.blog/changelog/2026-05-22-staged-publishing-and-new-install-time-controls-for-npm/)