GitHub ограничава автоматичното изпълнение на код при инсталиране на пакети

Новите защити целят да намалят риска от атаки по веригата за доставки в екосистемата на JavaScript

GitHub обяви серия от съществени промени в npm v12, които ще засегнат начина, по който разработчиците инсталират зависимости и управляват JavaScript проекти. Основната цел е ограничаване на все по-честите атаки по веригата за доставки (supply-chain attacks), които злоупотребяват с автоматичното поведение на командата npm install.

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

Защо npm install се превърна в предпочитана цел за атакуващите

Командата npm install е един от най-често използваните механизми в екосистемата на Node.js.

Тя се изпълнява:

  • след клониране на проект;
  • при изтегляне на нови промени от хранилище;
  • в CI/CD процеси;
  • при изграждане на приложения и услуги.

Проблемът е, че исторически npm позволяваше автоматично изпълнение на определени скриптове по време на инсталацията на зависимости.

Това създава удобна възможност за нападателите да внедрят злонамерен код, който да се изпълни автоматично още при първоначалното инсталиране на пакет.

През последните години именно този механизъм беше използван в редица кампании за кражба на данни, компрометиране на среди за разработка и проникване в корпоративни CI/CD инфраструктури.

Какво се променя в npm v12

Автоматичното изпълнение на инсталационни скриптове вече няма да бъде разрешено по подразбиране

Най-съществената промяна е свързана със скриптовете:

  • preinstall;
  • install;
  • postinstall.

В npm v12 тези скриптове няма да се изпълняват автоматично за зависимостите, освен ако не са били изрично одобрени.

Ограничението ще обхване и:

  • компилации чрез node-gyp;
  • prepare скриптове;
  • локални зависимости;
  • свързани (linked) пакети;
  • Git-базирани зависимости.

Това премахва една от най-често използваните техники за внедряване на зловреден код в npm екосистемата.

Ограничаване на Git-базираните зависимости

Друга важна промяна е свързана със зависимости, зареждани директно от Git хранилища.

Досега npm можеше автоматично да изтегля и обработва такива зависимости, включително косвени (transitive) зависимости.

След въвеждането на npm v12:

  • Git зависимости няма да се изтеглят автоматично;
  • ще бъде необходимо изрично разрешение;
  • това ще важи както за директни, така и за вложени зависимости.

Причината е, че подобни зависимости могат да предоставят алтернативни пътища за изпълнение на код дори когато стандартните инсталационни скриптове са деактивирани.

Спиране на автоматичното зареждане от външни URL адреси

npm v12 ще ограничи и зареждането на пакети от външни HTTPS адреси.

Това включва:

  • tarball архиви;
  • външни пакетни ресурси;
  • нестандартни източници извън npm регистъра.

Подобно на Git зависимостите, тези източници вече ще изискват изрично потвърждение от страна на разработчика.

Какви атаки ще бъдат затруднени

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

Сред тях са:

  • компрометирани пакети с вредоносни preinstall скриптове;
  • атаките срещу eslint-config-prettier;
  • инцидентите с пакетите Picasso на Toptal;
  • множество npm пакети за кражба на данни;
  • техники, използвани в кампаниите Shai-Hulud;
  • злоупотреби с Git зависимости и конфигурационни файлове.

Общият знаменател при всички тези атаки е автоматичното доверие към външен код по време на инсталационния процес. Именно това доверие npm v12 цели да премахне.

Какво трябва да направят разработчиците

GitHub препоръчва организациите и разработчиците да започнат подготовка още отсега.

Първата стъпка е преминаване към:

npm 11.16.0 или по-нова версия

Тези версии вече показват предупреждения за действия, които ще спрат да работят след преминаването към npm v12.

Така екипите могат предварително да идентифицират:

  • зависимости с инсталационни скриптове;
  • Git-базирани пакети;
  • външни източници на зависимости;
  • автоматизирани процеси, които ще изискват промени.

Край на модела „доверие по подразбиране“

Промените в npm v12 са част от по-широка тенденция в индустрията към прилагане на принципите на Zero Trust в процесите по разработка на софтуер.

Доскоро екосистемите за разработка бяха изградени около идеята за удобство и автоматизация. Това ускоряваше работата на разработчиците, но същевременно създаваше благоприятна среда за supply-chain атаки.

Днес ситуацията е различна.

Атакуващите все по-често се насочват не към крайните системи, а към инструментите за разработка, пакетните мениджъри и CI/CD веригите. Именно затова ограниченията в npm v12 могат да се разглеждат като една от най-важните стъпки за укрепване на сигурността в JavaScript екосистемата през последните години.

С въвеждането на npm v12 GitHub променя фундаментално начина, по който се обработват зависимости в Node.js среда. Автоматичното изпълнение на код, зареждането от Git хранилища и използването на външни URL източници вече няма да бъдат приемани за безопасни по подразбиране.

Макар тези промени да изискват адаптация от страна на разработчиците, те значително намаляват риска от компрометиране на софтуерни проекти чрез злонамерени пакети и атаки по веригата за доставки.

e-security.bg

Подобни

Атака злоупотребява с механизма за обновяване на ViPNet
20.07.2026
Cyberattack_b
Kиберпрестъпници използват фалшив софтуер за разпространение на Starland RAT
17.07.2026
malware-via-canva-1080x600
Spirals криптира мрежа за по-малко от 24 часа след проникването
17.07.2026
Ransomware
OkoBot - нова зловредна платформа атакува криптопортфейли
17.07.2026
hellocreatio-ai-generated-8183045_640
ClickLock - нов macOS инфостийлър
17.07.2026
Business office building and machine learning system
Зловредни npm пакети на AsyncAPI заразиха хиляди разработчици
16.07.2026
npm

Споделете

Facebook
LinkedIn

Бюлетин

С нашия бюлетин ще бъдеш сред първите, които научават за нови заплахи, практични решения и добри практики. Напълно безплатно и с грижа за твоята сигурност.

Популярни

Българските торент сайтове продължават да изчезват
27.02.2026
pirate-flag-7541041_640
Изземване на Zamunda, Arena и други торент сайтове
30.01.2026
seizure
Измамническите сайтове в България: как да ги разпознаем, проверим и защитим себе си
6.10.2025
bulgaria3
Bitdefender пусна безплатен инструмент за проверка на телефонни номера
12.12.2025
telephoneAlamy