Червь Shai-Hulud ищет учётные данные уже в 469 местах — и это симптом смены тактики

· Безопасность
Исследователи GitGuardian обнаружили, что новый вариант инфостилера-червя Shai-Hulud проверяет уже 469 мест хранения секретов вместо прежних 189. Атакующие перестали ломать доверие в цепочке поставок и просто собирают ключи, на которых это доверие держится.

cover.svg

В начале августа исследователи GitGuardian зафиксировали новую версию инфостилера-червя Shai-Hulud, которая ищет учётные данные уже в 469 местах — в окружениях разработчиков, инструментах CI/CD, облачных конфигурациях и даже в настройках AI-инструментов. Прежние варианты червя проверяли лишь 189 путей. Рост радиуса поиска говорит о смене логики атаки.

Не взлом доверия, а его использование

Цепочки поставок ПО всегда держались на доверии: разработчики доверяют реестрам пакетов, организации — мейнтейнерам, конвейеры CI/CD — выданным им токенам. Авторы Shai-Hulud поняли, что ломать это доверие незачем. Достаточно найти, где уже лежат учётные данные и постоянные привилегии.

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

Почему поисковый радиус расширяется

Современное окружение разработчика содержит куда больше аутентификационного материала, чем сам репозиторий: файлы .env, история командной оболочки, конфигурации пакетных менеджеров, кэши CLI, настройки IDE и — всё чаще — конфиги AI-инструментов. Атакующему не нужно заранее знать, какой ключ важнее: он собирает всё подряд, а разбирается потом. Защитникам, наоборот, стоит двигаться от обратного — заранее определить самые ценные секреты и закрыть их до того, как ими воспользуются.

Что делать в первую очередь

GitGuardian предлагает расставить приоритеты. Первое — убрать из открытого вида ключи публикации пакетов: именно они превращают кражу секрета в распространение вредоносного кода. Долгоживущие токены публикации следует заменять короткоживущими механизмами вроде доверенной публикации через OIDC или федеративных сервисов вроде AWS STS; недавние обновления Docker и GitHub Actions двигают экосистему в эту сторону.

Второе — устранить доступные учётные данные к продакшену: облачным аккаунтам, базам с данными клиентов, инфраструктуре подписи, кластерам Kubernetes, средствам развёртывания. Здесь ключевой вопрос — «что будет, если атакующий воспользуется этим доступом», а фильтром служит проверка, действителен ли ключ вообще.

Третье — ранжировать оставшиеся секреты по риску с учётом валидности, среды, привилегий и владельца. Масштаб проблемы огромен: по данным исследования State of Secrets Sprawl, только за 2025 год в публичные коммиты на GitHub попало 28,65 млн новых зашитых секретов — на 34% больше, чем годом ранее.

Гонку не выиграть перечислением

Следующий вариант Shai-Hulud почти наверняка заглянет туда, где ещё не искал, и превысит цифру 469. Побеждать в этой гонке, запоминая все возможные тайники, бессмысленно. Выигрывает тот, кто убирает постоянные привилегии и открытые секреты повсюду, где они есть, превращая обнаружение, устранение и профилактику в постоянный цикл. Цель проста: чтобы каждый новый червь находил всё меньше пригодных ключей.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.