SleeperGem: три вредоносных RubyGems-пакета атакуют машины разработчиков
Специалисты StepSecurity и других компаний зафиксировали новую атаку на цепочку поставок в экосистеме Ruby, получившую название SleeperGem. В реестр RubyGems были опубликованы три вредоносных пакета, задача которых — доставить на заражённую машину дополнительную полезную нагрузку.
Что за пакеты
Один из них, git_credential_manager (версии 2.8.0–2.8.3, опубликованы 18 июля 2026 года), выдаёт себя за официальный Git Credential Manager от Microsoft. Два других — Dendreo и fastlane-plugin-run_tests_firebase_testlab — годами оставались без обновлений (последние правки датировались 2019–2020 годами), пока внезапно не получили вредоносные релизы. Ни один из релизов не сопровождался соответствующим коммитом или тегом в исходных репозиториях.
Поддельный git_credential_manager был добавлен как зависимость сразу к пяти пакетам, что позволило заразе распространяться на их существующих пользователей. Большинство затронутых пакетов принадлежат одному аккаунту (LR-DEV), но один — другому (pinkroom), из чего следует, что скомпрометирован был не один аккаунт.
Как работает
Каждый релиз, по словам исследователей, представляет собой загрузчик. После установки код сканирует систему примерно на 30 переменных окружения, характерных для GitHub Actions, GitLab, CircleCI, Travis, Jenkins и Vercel. Если находит хоть одну — немедленно завершает работу: цель в том, чтобы не выдать себя на одноразовых CI-раннерах и сработать именно на машине разработчика.
На настоящей цели загрузчик обращается к публичному инстансу Forgejo (git.disroot[.]org) и скачивает shell-скрипт deploy.sh и нативный бинарник, носящий имя утилиты, под которую маскируется. Версия 2.8.3 запускает бинарник как фоновый демон и закрепляется в системе через cron и пользовательскую службу systemd. Если пользователь может выполнять sudo без пароля, скрипт перезапускается от имени root и подкладывает setuid-копию системной оболочки по пути, имитирующему сетевую утилиту (/usr/local/sbin/ping6).
Почему «спящий»
Название отражает суть: атакующие охотятся не за подставными активами, а за реальными аккаунтами, заброшенными на шесть-семь лет. «Аккаунт, который замолчал на столько лет, никому не кажется опасным. Именно такой профиль стоит перехватить», — отметил исследователь Aikido Security Чарли Эриксен.
Пострадавшим советуют считать машины и связанные секреты скомпрометированными: удалить демон из ~/.local/share/gcm/, вычистить механизмы закрепления, проверить наличие setuid-оболочки по указанному пути и сменить все учётные данные.
SleeperGem — не единственный недавний инцидент вокруг RubyGems. Ранее реестр временно приостанавливал регистрацию из-за спам-кампании, а исследователи фиксировали случаи, когда RubyGems использовали как «тайник» для хранения украденных паролей, SSH-ключей и данных банковских карт.
Источник: The Hacker News
Комментарии
Войдите, чтобы комментировать.