Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны

В конце февраля — начале марта 2026 года исследователи зафиксировали две связанные по духу, но разные по исполнению атаки на цепочки поставок программного обеспечения. Обе нацелены на разработчиков, обе эксплуатируют доверие к публичным реестрам пакетов, и обе охотятся за одним и тем же: секретами, лежащими в .env-файлах, токенами доступа, ключами API, учётными данными облачных сервисов. Только первая кампания действует грубо и прямолинейно, а вторая использует в качестве оружия ИИ-ассистентов для программирования.
Вредоносные Rust-пакеты и ИИ-бот крадут секреты разработчиков через CI/CD-пайплайны
Изображение носит иллюстративный характер

Компания Socket, занимающаяся безопасностью цепочек поставок, обнаружила пять вредоносных Rust-пакетов, опубликованных в реестре . Пакеты назывались chrono_anchor, dnp3times, time_calibrator, time_calibrators и time-sync. Все пять маскировались под утилиты для калибровки локального времени без использования протокола NTP. Исследователь безопасности Socket Кирилл Бойченко установил, что за всеми пакетами стоит один и тот же злоумышленник — об этом говорят идентичные методы выгрузки данных и использование домена-двойника timeapis[.]io, имитирующего легитимный сервис timeapi.io.

Технически пакеты работали просто: при каждом запуске в рамках CI-воркфлоу они считывали содержимое .env-файлов и отправляли их на подконтрольный домен. Никаких закладок в виде системных служб или запланированных задач — расчёт шёл на то, что код будет выполняться снова и снова при каждом прогоне пайплайна. Пакет chrono_anchor оказался чуть хитрее остальных: его логика эксфильтрации была спрятана в файле guard.rs и вызывалась из вспомогательной функции, замаскированной под «опциональную синхронизацию». Применялась обфускация, чтобы затруднить обнаружение. Все пять пакетов уже удалены из .

Вторая кампания выглядит куда изощрённее. На GitHub появился аккаунт под названием hackerbot-claw, позиционирующий себя как «автономный агент для исследования безопасности». Компания Pillar Security отслеживает этого актора под именем Chaos Agent и оценивает его как живого оператора, который использует большую языковую модель (LLM) в качестве исполнительного слоя. Активность фиксировалась с 21 по 28 февраля 2026 года.

За эту неделю Chaos Agent атаковал как минимум семь репозиториев, принадлежащих Microsoft, Datadog и Aqua Security. Вектор атаки — эксплуатация воркфлоу pull_request_target через GitHub Actions. Это позволило украсть персональный токен доступа (PAT) и перехватить контроль над репозиториями. Результатом стала публикация вредоносных версий расширения Trivy для Visual Studio Code в реестре Open VSX. Вредоносными оказались версии 1.8.12 и 1.8.13. Уязвимости присвоен идентификатор CVE-2026-28353.

Самое любопытное — как именно работала полезная нагрузка. Расширение запускало локальные ИИ-ассистенты для написания кода в максимально разрешающем режиме. Под прицелом оказались Claude, Codex, Gemini, GitHub Copilot CLI и Kiro CLI. Инструкции заставляли ИИ-агентов обследовать систему, собрать отчёт о найденной информации и сохранить результаты, используя аутентифицированную сессию GitHub CLI жертвы. Данные утекали в специально созданный репозиторий posture-report-trivy.

Между версиями 1.8.12 и 1.8.13 заметна эволюция. Первая разбрасывала украденные данные по случайным каналам, вторая действовала точнее — использовала собственный GitHub-аккаунт жертвы в качестве канала эксфильтрации. Злоумышленник учился на ходу, и LLM, судя по всему, помогала итерировать быстрее.

Для успешной атаки через вредоносное расширение Trivy требовалось одновременное выполнение нескольких условий. На машине жертвы должна была стоять версия 1.8.12 или 1.8.13 расширения, установленная именно из Open VSX. Необходимо было наличие хотя бы одного из целевых ИИ-ассистентов командной строки. Этот ассистент должен был принять переданные ему флаги разрешающего режима. У агента должен был быть доступ к чувствительным данным на диске. И наконец, для версии 1.8.13 требовался установленный и аутентифицированный GitHub CLI.

Итай Шакури из Aqua Security подтвердил, что компания удалила вредоносные артефакты из маркетплейса и отозвала токен публикации. Других скомпрометированных артефактов обнаружено не было. Исследователь безопасности Эйлон Коэн из Pillar Security и специалисты из StepSecurity также участвовали в анализе инцидента.

Для тех, кто мог пострадать от вредоносных Rust-пакетов, рекомендации прямолинейны: считать данные скомпрометированными, ротировать все ключи и токены, провести аудит CI/CD-задач, выполняющихся с привилегиями публикации и деплоя, ограничить исходящий сетевой доступ из среды сборки. Приоритет — контроли, которые останавливают вредоносные зависимости до выполнения кода. Для жертв вредоносного расширения VS Code — немедленное удаление расширения, проверка на наличие неожиданных репозиториев в аккаунте и ротация всех секретов окружения.

Обе кампании показывают, насколько уязвимой точкой стали CI/CD-пайплайны. Вредоносный пакет, попавший в зависимости проекта, выполняется с теми же привилегиями, что и легитимный код сборки. А ИИ-ассистенты, встроенные в рабочий процесс разработчика, превращаются в ещё один вектор — если кто-то сумеет заставить их выполнять произвольные инструкции в привилегированном контексте.


Новое на сайте

20327Кости прерий: как истребление бизонов породило целую индустрию — и сама себя же уничтожила 20326Кто и зачем взламывает серверы Ollama и ComfyUI ради ключей от AWS? 20325Как злоумышленники спрятали командный сервер внутри блокчейна и почему его невозможно... 20324Брюссель заставляет Android делиться секретами с чужими ИИ-помощниками 20323WordPress: как два бага слились в одну критическую дыру, которую назвали wp2shell 20322Как китайские хакеры обманули DigiCert и украли сертификаты для подписи кода? 20321Что скрывается за уязвимостью, которую агентство США внесло в список активно используемых... 20320Автономные системы наступают быстрее, чем инфраструктура для управления ими: кто выиграет... 20319Почему в OpenSSL нашли дыру, съедающую память серверов, но не дали ей даже номер CVE? 20317SonicWall SMA 1000: как два бага превратили VPN-шлюз в бэкдор для атакующих 20316Может ли уязвимость в клиенте Zoom для Windows открыть доступ к чужому аккаунту без... 20315TELEPUZ: новый вредонос на C, который научился прятаться в Telegram, Steam и блокчейне... 20314Дома из дёрна: как исландцы триста лет прятались от холода под слоем земли и травы 20313Как один токен от чужого сервиса мог впустить злоумышленника в чужой аккаунт n8n?
Ссылка