Удар по npm пакети на Red Hat: над 30 хранилища разпространяват крадец на облачни идентификационни данни

Координирана атака по веригата на доставки в npm за кражба на облачни идентификационни данни порази едно от най-разпознаваемите имена в корпоративния софтуер. Неизвестни нападатели компрометираха повече от 30 npm пакета на Red Hat Cloud Services, като първо превзеха GitHub акаунт на служител на Red Hat и след това използваха този достъп, за да изпратят злонамерени промени в кода. Вграденият в тези пакети зловреден код, идентифициран като вариант на „Mini Shai-Hulud“, се изпълнява автоматично при инсталация и веднага започва да източва облачни идентификационни данни, включително ключове за достъп до AWS, GCP и Azure, заедно с SSH ключове и конфигурационни файлове на Kubernetes.

Този инцидент се откроява не заради слабост в самия npm, а заради начина, по който нападателите са влезли – чрез легитимна, доверена самоличност на разработчик.

Как бяха компрометирани npm пакетите на Red Hat

Веригата на атаката започна с компрометирането на един-единствен GitHub акаунт, принадлежащ на служител на Red Hat. Веднъж попаднали в този акаунт, нападателите разполагаха с необходимия достъп, за да качват код директно в хранилища, свързани с npm пакетите на Red Hat Cloud Services. Тъй като промените идваха от акаунт на разпознат сътрудник, автоматизираните конвейери и партньорските проверки срещаха значително по-висока бариера да забележат нещо подозрително.

Това е определящата черта на атака по веригата на доставки на софтуер: злонамереният полезен товар пътува вътре в легитимен софтуер, подписан и разпространяван през доверени канали. Разработчиците, които са инсталирали или актуализирали засегнатите пакети по време на прозореца на компрометиране, несъзнателно са изпълнили зловредния код на собствените си системи, без очевидно предупреждение. Самите пакети продължаваха да функционират нормално, което още повече затрудняваше откриването.

Вариантът на зловредния код „Mini Shai-Hulud“ е специално проектиран да се изпълнява по време на инсталация, в момента, в който разработчикът напише npm install. Той не чака приложението да се стартира или потребител да взаимодейства с него. Този подход драстично съкращава времето между заразяването и източването на данни.

Какви идентификационни данни бяха откраднати и защо това е важно

Списъкът с цели на зловредния код прилича на контролен списък с най-вредоносните неща, които нападателят би могъл да извлече от работна станция на разработчик или среда за изпълнение на CI/CD конвейер. Файловете с идентификационни данни за AWS, Google Cloud Platform и Azure са основни цели, тъй като тези ключове често носят широки права върху продукционна инфраструктура. SSH частни ключове и конфигурационни файлове на Kubernetes допълват плячката, давайки на нападателите потенциални пътища за странично придвижване към вътрешни мрежи и клъстери за оркестрация на контейнери.

За организации, които използват автоматизирани конвейери за изграждане, рискът от излагане се усилва. CI/CD системите често съхраняват дългосрочни облачни идентификационни данни като променливи на средата или монтирани тайни. Един-единствен заразен runner на изграждане може тихомълком да предаде ключове, които контролират цели облачни среди, потенциално отваряйки вратата за източване на данни, внедряване на ransomware или постоянен заден достъп.

Това е и причината екипите по сигурност да имат предвид, че входните точки по веригата на доставки често водят до по-дълбоко компрометиране на системата. Скорошното сигнализиране от CISA на CVE-2026-31431, уязвимост за локално повишаване на привилегии в Linux, е пряко напомняне: нападателите, които стъпят на система с откраднати идентификационни данни или първоначален достъп, рядко спират дотук. Те търсят следващото звено във веригата.

Защо атаките по веригата на доставки са сляпо петно за стандартната сигурност

Конвенционалните инструменти за сигурност са изградени около предположението, че заплахата е външен, неподписан или непознат код. Защитните стени, агентите за откриване на крайни точки и скенерите, базирани на сигнатури, са калибрирани да сигнализират за аномалии. Атаките по веригата на доставки подриват този модел, като се крият вътре в софтуер, който носи легитимен подпис и пристига през очакван канал.

В този случай марката Red Hat и свързаната история на GitHub акаунта биха придали на компрометираните пакети висока степен на имплицитно доверие. Разработчиците, работещи по инфраструктура, близка до Red Hat, може да са инсталирали тези пакети именно защото са очаквали да бъдат добре поддържани и сигурни.

Стандартните инструменти за сканиране на зависимости, които проверяват за известни уязвими версии, не биха засекли крадци на идентификационни данни по време на инсталация, освен ако злонамерената версия вече не е била отбелязана в база данни с уязвимости. Атаката експлоатира празнината между откриването на „известно лошо“ и поведенческия анализ.

Многослойни защити: управление на тайни, мрежово сегментиране и VPN

Нито една отделна контрола не спира сложна атака по веригата на доставки, но многослойните защити могат значително да намалят обхвата на поражението.

Управление на тайни вместо локални файлове с идентификационни данни. Най-ефективното смекчаване е пълното премахване на статични файлове с идентификационни данни от машините на разработчиците и CI/CD runners. Инструменти, които издават краткосрочни, създадени точно навреме идентификационни данни, означават, че дори даден идентификатор да бъде откраднат, той изтича, преди нападателят да може да го използва смислено.

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

Мрежово сегментиране и филтриране на изходящия трафик. Зловредният код Mini Shai-Hulud трябва да изпрати откраднатите данни някъде. Ограничаването на изходящите връзки от средите за изграждане и машините на разработчиците само до известни крайни точки може да предотврати източването, дори когато зловредният код се изпълни успешно. VPN и мрежови архитектури с нулево доверие могат да налагат тези политики за изходящ трафик последователно в разпределени екипи.

Многофакторно удостоверяване на всеки акаунт на разработчик. Първоначалното компрометиране тук беше превземане на GitHub акаунт. Строгите изисквания за MFA, по-специално хардуерни ключове за сигурност или удостоверяване, базирано на passkey, правят превземането на акаунти значително по-трудно.

Поведенческо наблюдение в CI/CD конвейерите. Сигнализирането за неочаквани изходящи DNS заявки или мрежови връзки по време на фазата на изграждане може да извади на повърхността зловреден код, който се изпълнява по време на инсталация, преди откраднатите идентификационни данни да бъдат използвани.

Какво означава това за вас

Ако вашата среда за разработка или операции зависи от някакви npm пакети на Red Hat Cloud Services, незабавният приоритет е да одитирате кои версии на пакети се използват, да проверите за индикатори на компрометиране в мрежовите регистрационни файлове около събитията на инсталиране и да подмените всички облачни идентификационни данни, които може да са присъствали на засегнатите системи.

В по-широк план този инцидент е подкана да преразгледате хигиената на облачните си идентификационни данни от край до край. Съхраняват ли се идентификационни данни като файлове на машините на разработчиците? Ограничени ли са променливите на средата в CI/CD до минимални привилегии? Наложено ли е MFA на всеки акаунт с права за публикуване на пакети?

Атаките по веригата на доставки успяват, като експлоатират доверието. Противодействието е да се изградят системи, които не разчитат единствено на имплицитно доверие – проверени самоличности, тайни с ограничен срок и поведенческо наблюдение са основата. Започнете с одит на идентификационните данни още днес и третирайте всяка зависимост като потенциална повърхност за атака, която заслужава внимание.