Рутинното обновяване на софтуер вече може да отвори вратата към пробив в облачната инфраструктура. Атакуващите крият зловреден софтуер за кражба на идентификационни данни в доверени пакети и инструменти за разработка, което позволява на зловредния код да се изпълнява на компютрите на разработчиците и в автоматизираните системи за компилация още преди дадено приложение да е стартирало.
Заплахата обхваща няколко кампании, а не само едно семейство зловреден софтуер. Shai-Hulud се появи през септември 2025 г., докато по-късните операции бяха насочени към допълнителни екосистеми за програмиране и инструменти за сигурност.
След като атакуващите получат валидни идентификационни данни, те могат да получат достъп до облачно хранилище, да анализират инфраструктурата, да откраднат данни или да си осигурят траен достъп. Изследователите от Qualys отбелязват този повтарящ се модел в своя анализ от 28 септември.
От Qualys заявяват в доклад, споделен с Cyber Security News (CSN), че средите за разработка и облачната инфраструктура трябва да се разглеждат като една свързана повърхност за атака, а не като отделни проблеми на сигурността.
Компютрите на разработчиците често съдържат ключове за достъп до облака, токени за хранилища, данни за публикуване и частни ключове. Както илюстрират атаките срещу SAP пакети, кражбата на тези тайни може да изложи на риск системи далеч извън първоначалния софтуерен проект, дори когато компрометираното приложение никога не достигне до реална производствена среда.
Атаките срещу веригата за доставки превръщат компютрите на разработчиците
Решаващата стъпка се случва по време на инсталацията. Менеджърите на пакети могат автоматично да изпълняват скриптове, давайки на атакуващите достъп до същите файлове, променливи на средата и данни за достъп, налични за разработчика или за процеса на автоматизирано изграждане.
Стандартните защити на приложенията може да не сработят, преди кражбата вече да се е случила. Shai-Hulud първоначално е търсил в инфектираните среди за данни за достъп до облака и е качвал откраднатата информация в публични GitHub хранилища, създадени под акаунтите на жертвите.
Вариант от ноември добави функции на задна врата (backdoor) и деструктивно поведение, когато кражбата на идентификационни данни се провали, увеличавайки последиците от компрометирана зависимост.
До май 2026 г. Mini Shai-Hulud използва скриптове, които се изпълняват преди завършването на инсталацията. Qualys съобщава, че вълната от 19 май е компрометирала 639 версии на пакети в общо 323 пакета.
Отразяването на компрометирането на пакети от Mini Shai-Hulud показва как инфекциите се разпространяват чрез зависими библиотеки, използвани в работните процеси за разработка за облака.
Отказът от инсталация след стартирането на този скрипт не предотвратява непременно компрометирането. Зловредният код вече може да е събрал токени за хранилища, облачни ключове и тайни на инфраструктурата, оставяйки защитниците с компрометирани данни за достъп, а не просто с нежелан пакет.

Други кампании промениха самата среда за изграждане. BufferZoneCorp разпространяваше зловредни Ruby gems и Go модули, маскирани като помощни инструменти за разработчици.
Те събираха тайни, отслабваха проверката на пакети, прехващаха команди и понякога добавяха ключ на атакуващия, за да запазят отдалечения си достъп.
TeamPCP също така компрометира доверени инструменти за сканиране и библиотеки. Пробивът в облака на Европейската комисия демонстрира по-широкото въздействие на откраднатите данни за достъп до облака, като атакуващите преминават от компрометиран инструмент за разработка към неоторизиран достъп и кражба на данни.
Между 21 и 23 април 2026 г. свързани атаки засегнаха npm, PyPI и Docker Hub в рамките на 48 часа. В друга кампания през май 14 пакета, имитиращи библиотеки за търсене, откраднаха тайни от облачни среди и конвейери за разработка.
След това атакуващите използваха токени за публикуване, за да инфектират още пакети, превръщайки един компрометиран акаунт на разработчик в канал за разпространение на потенциално широкомащабна кражба на данни за достъп.
Ограничаване на кражбата и изтичането на данни за достъп
Премахването на зловреден пакет е само началото на възстановяването. Qualys препоръчва да се идентифицират всички данни за достъп, до които засегнатата машина или система за изграждане е имала достъп, да се отменят или подновят компрометираните тайни и да се прегледа облачната активност за целия период на излагане на риск.
Екипите трябва да намалят рисковете при инсталация чрез одобряване на зависимостите, фиксиране на версиите чрез lockfile файлове и проверка дали процесите по изграждане ги запазват. Когато работният процес позволява, деактивирайте автоматичните скриптове за инсталация и разрешете само скриптове, които са прегледани и са наистина необходими.
Задачите за изграждане трябва да разполагат само с разрешенията, необходими за тяхната работа. Процес, който компилира софтуер, не трябва да притежава и права за внедряване. Временните идентификационни данни намаляват зависимостта от постоянни ключове, докато по-строгите облачни политики могат да предотвратят неоторизирано създаване на администратори или деактивиране на дневниците за събития (logs).
Одитните записи в облака трябва да бъдат защитени от промяна и да се следят за необичайна активност. Разследващите трябва да проверяват неочаквани промени в достъпа, новосъздадени ресурси и подозрителен достъп до хранилища.
Тези проверки помагат да се установи какво точно са извършили атакуващите, след като са получили легитимни данни за достъп. Накрая, ограничете достъпа до метауслугите в облака, когато системите за изграждане нямат нужда от тях.
Изисквайте AWS IMDSv2, предпочетете федерирани или управлявани самоличности, където е поддържано, и поддържайте минимални разрешения. Сигурността на разработчиците и реакцията в облака трябва да проследяват целия път на атаката.
Индикатори за компрометиране (IoC):
| Тип | Индикатор | Описание |
|---|---|---|
| Домейн | webhook.site | Легитимна услуга за уебхук, идентифицирана като канал за източване на данни. Самото ѝ присъствие не потвърждава компрометиране. |
| IP адрес | 169.254.169.254 | Легитимна крайна точка за метаданни в облака, насочена за събиране на данни за достъп, а не IP адрес на атакуващ. Ограничете достъпа, когато не е необходим. |
| Път до файл | ~/.aws/credentials | Локация за съхранение на данни за достъп до AWS, обект на събиране, а не зловреден файл. |
| Път до файл | ~/.kube/config | Локация на конфигурацията на Kubernetes, съдържаща информация за достъп, потенциално изложена на зловреден софтуер. |
| Име на файл | .npmrc | Конфигурационен файл на npm, обект на кражба на данни за достъп; рефериран е и при контрол на скриптове за инсталация. |
| Име на файл | .netrc | Файл за автентификация, идентифициран като цел за събиране на данни за достъп. |
| Път до файл | ~/.ssh/authorized_keys | Локация за осигуряване на траен достъп, където зловреден Go модул е добавил публичен SSH ключ на атакуващия. |
| Име на изпълним файл | go | Легитимна команда, имитирана от зловредни обвивки (wrappers) с цел прехващане на бъдещи команди за изграждане. |
| GitHub акаунт | BufferZoneCorp | Акаунт, използван за публикуване на зловредни Ruby gems и Go модули, имитиращи помощни инструменти за разработчици. |
| Име на пакет | @ctrl/tinycolor | Легитимен npm пакет, компрометиран по време на първоначалната кампания Shai-Hulud; не всяка версия е зловредна. |
| Обхват на пакета | @antv | npm екосистема, засегната от вълната Mini Shai-Hulud от 19 май. Докладът посочва 639 компрометирани версии в 323 пакета. |
| Име на пакет | echarts-for-react | Пакет от следващо ниво (downstream), засегнат от кампанията Mini Shai-Hulud; източникът не предоставя номера на засегнатите версии. |
| Име на пакет | @bitwarden/cli | Легитимно име на пакет, свързано с троянизирана версия в априлската кампания. |
| Променлива на средата | GITHUB_TOKEN | Данни за достъп до хранилище, таргетирани от Mini Shai-Hulud; цел за събиране, а не самостоятелен индикатор за компрометиране. |
| Променлива на средата | AWS_ACCESS_KEY_ID | Идентификатор за достъп до AWS, таргетиран от зловредния код. |
| Променлива на средата | AWS_SECRET_ACCESS_KEY | Тайният ключ за достъп до AWS, таргетиран от зловредния код. |
| Променлива на средата | KUBECONFIG | Референция към конфигурацията на Kubernetes, таргетирана за информация за достъп до инфраструктурата. |
| Променлива на средата | VAULT_TOKEN | Токен за автентификация в HashiCorp Vault, таргетиран за кражба. |
| Променлива на средата | GOPROXY | Настройка на прокси за Go модули, пренасочена от зловредни модули с цел промяна на извличането на зависимости. |
Забележка: IP адресите и домейните са умишлено неутрализирани (напр. [.]), за да се предотврати случайното им разрешаване или превръщане в хипервръзки. Възстановете оригиналния им вид само в рамките на контролирани платформи за разузнаване на заплахи като MISP, VirusTotal или вашата SIEM система.