SleeperGem: небезпечна атака через RubyGems, що обходить CI та вражає ноутбуки розробників

Атака SleeperGem: розкриття кампанії, яка атакує розробницькі ноутбуки через RubyGems

У липні 2026 року було виявлено три зловмисні пакети RubyGems, які успішно оминули детектування в середовищах CI, націлившись безпосередньо на ноутбуки розробників, повідомляють дослідники з Aikido Security. Кампанія отримала назву SleeperGem після відстеження випусків трьох пакунків RubyGems, які були завантажені в публічний реєстр з 18 по 19 липня 2026 року.

StepSecurity провела аналіз кожної зловмисної версії за допомогою інструмента моніторингу Harden-Runner, щоб відтворити атаку, і результати стали цінним кейс-стаді для команд DevSecOps. Ця проблема досі залишається складною для детектування, адже більшість інструментів безпеки не можуть обробити шкідливе програмне забезпечення, яке розпізнає середовище CI і припиняє своє виконання.

На що звернули увагу зловмисники?

Серед трьох пакетів, які брали участь в атаці — git_credential_manager, що видає себе за офіційний інструмент Microsoft Git Credential Manager, а також Dendreo і fastlane-plugin-run_tests_firebase_testlab. Два з цих пакетів були “сплячими” протягом кількох років і лише зараз отримали нові версії, без жодних відміток у відповідних репозиторіях на GitHub. Це вже саме по собі є сигналом для організацій, які відстежують походження залежностей.

Як діє атака?

Ватажок злочинної програми, перш ніж виконувати основну логіку, перевіряє наявність близько тридцяти змінних середовища, які зазвичай присутні на платформах CI, таких як GITHUB_ACTIONS, GITLAB_CI і CIRCLECI. Якщо виявлено будь-яку з них, процес припиняється без подальших дій. Це пояснює, чому звичайна установка цих пакетів в CI-середовищі не виявляє нічого підозрілого.

Версії git_credential_manager від 2.8.2 виконують зловмисний код одразу після вимагачата, не лише під час установки. Вимагач породжує дочірній процес Ruby, який завантажує скрипт з Forgejo та виконує його. З’єднання видаляє перевірку сертифікатів та встановлює User-Agent на “Git”, намагаючись стати неназваним.

Підвищення безпеки розробницьких ноутбуків

Реальні ноутбуки розробників несуть змінні, яких лабораторні середовища не мають: це часткові рівні патчів, конфігурації sudo, збережені в браузерах облікові записи й SSH-ключі. Це змінює, що демон може досягти і на що може підвищити права. Перевірка змінних середовища є причиною, чому рутинна установка цих gems не викликає підозри.

Ця атака демонструє, наскільки важливо приділяти увагу безпеці розробницьких ноутбуків. Більшість команд зосереджена на захисті серверів і CI-процесів, але розробницькі пристрої залишаються найбільш вразливими.

Незважаючи на те, що залежності сканування за CI-пайплайн гачками здатні виявляти шкідливе ПЗ, яке діє однаково і на розробницьких машинах, SleeperGem так не працює. Наступні кампанії можуть копіювати цей підхід, тож нам слід переосмислити нашу стратегію безпеки.