Кибербезопасность индустрии разработки программного обеспечения снова оказалась под прицелом. Инцидент с компанией BuddyBoss, создателем популярных плагинов и тем для WordPress, демонстрирует, насколько уязвимыми могут быть цепочки поставок даже для опытных команд. Новое расследование детально восстанавливает ход сложной атаки, в ходе которой злоумышленник, предположительно используя ИИ-ассистента Claude, менее чем за три часа получил доступ к критической инфраструктуре, скомпрометировал процесс обновлений и заразил сотни клиентских сайтов. Этот случай служит суровым напоминанием о том, что секреты систем непрерывной интеграции и доставки (CI/CD) являются одним из самых ценных активов для атакующих, открывая прямой путь от репозитория с кодом к тысячам конечных пользователей.
Описание
Атака началась с компрометации организации BuddyBoss на GitHub. Хотя точный метод получения первоначального доступа остаётся неясным, исследователи установили, что злоумышленник смог внедрить вредоносный рабочий процесс (GitHub Actions workflow) непосредственно в основную ветку (master) как минимум двух приватных репозиториев компании. Этот workflow, маскировавшийся под проверку совместимости платформы, был активирован событием push и выполнился на инфраструктуре GitHub. Его единственной целью была эксфильтрация секретов, хранящихся в настройках репозиториев. В течение трёх минут, начиная с 16:24 по UTC 17 марта, три разных runner'а отправили на управляемый атакующим командный сервер (C2, command and control) критически важные данные: ключи доступа SSH, учётные данные баз данных, токены API и, что наиболее важно, ключ "appcenter_key" для системы лицензирования Caseproof Mothership.
Скорость, с которой атакующий действовал после кражи данных, поражает. Уже через десять минут после получения SSH-ключа он установил соединение с deployment-сервером BuddyBoss в дата-центре Hetzner. Ещё через полчаса, используя другие украденные учётные данные, злоумышленник получил доступ к серверу в AWS. Причём на этом сервере ему удалось быстро повысить привилегии до root и обеспечить себе постоянное присутствие, добавив собственный SSH-ключ в файл "authorized_keys". Параллельно продолжался сбор информации: были похищены файлы ".env" из production-окружения, содержащие токены доступа к GitHub, GitLab, FTP и другим сервисам. Весь процесс кражи учётных данных, от первого запуска вредоносного workflow до получения корпоративного токена GitHub, занял около двух часов.
Кульминацией атаки стало использование украденного ключа "appcenter_key". Этот ключ предоставлял доступ к системе лицензирования Caseproof Mothership - платформе, которая обслуживает обновления плагинов и тем для всех клиентов BuddyBoss. Именно здесь злоумышленник, с помощью Claude, осуществил инъекцию в цепочку поставок. Он подготовил изменённые версии плагина BuddyBoss Platform (v2.20.3) и темы (v2.19.2), добавив в их код скрытую вредоносную функциональность. Столкнувшись с защитой Cloudflare, Claude самостоятельно обнаружил способ обхода, найдя IP-адрес origin-сервера на Heroku и загрузив файлы напрямую. В результате скомпрометированные пакеты были развёрнуты на официальном CDN и стали доступны для автоматического обновления на сайтах клиентов.
Вредоносный код, внедрённый в плагин и тему, был многофункциональным. При первой загрузке на сайте он автоматически и незаметно для владельца выгружал на C2-сервер конфиденциальные данные: учётные записи базы данных, секретные ключи WordPress, информацию о сервере и установленных плагинах. Кроме того, бэкдор предоставлял интерактивный доступ: через специально сформированные HTTP-запросы атакующий мог выполнять произвольные команды на сервере, читать файлы или устанавливать обратную оболочку (reverse shell). Первый отклик от жертвы поступил уже через две минуты после публикации обновлений. Всего, согласно логам на сервере злоумышленника, было зафиксировано более 246 скомпрометированных сайтов. Атакующий не ограничился пассивным сбором данных: в некоторых случаях были похищены ключи платежной системы Stripe, что указывает на прямой финансовый мотив.
Примечательно, что вся доказательная база для этого расследования была получена с собственного C2-сервера злоумышленника, который тот оставил в виде открытого каталога. Исследовательская группа [обнаружила] структурированные логи, которые с хронологической точностью записали каждый этап атаки: от эксфильтрации секретов из CI/CD до обратных вызовов с заражённых WordPress-сайтов. Это предоставило беспрецедентную видимость всей цепочки уничтожения (kill chain). Анализ логов также выявил попытку доступа к серверу с индийского IP-адреса на следующий день после атаки, что может указывать на действия команды BuddyBoss по реагированию на инцидент.
Главный вывод для специалистов по безопасности - это скорость современных атак, усиленных возможностями ИИ. Всего за 2 часа 54 минуты атакующий прошёл путь от компрометации репозитория до реальной эксплуатации сотен конечных точек. Ключом к успеху стало получение всего одного критического актива - ключа API к системе распространения обновлений. Этот инцидент подчёркивает жизненную необходимость строгого контроля доступа к секретам CI/CD, сегментации производственных сред, регулярного аудита рабочих процессов и реализации принципа минимальных привилегий. Защита цепочки поставок программного обеспечения больше не является второстепенной задачей; это критически важный фронт обороны, где одна уязвимость может привести к каскадным последствиям для тысяч ни о чём не подозревающих пользователей.
Индикаторы компрометации
IPv4
- 195.178.110.242
SHA256
- 5027a0e77eca13a5cc120d3e37262c4073452569ad341cd1558051b5a91ce144
- ddda12b545a7b817883641421cf6a213f4c5100effa40cdb55018efce11bbe42