- Злоумышленники внедрили вредоносный код в репозитории проекта Plone на GitHub, используя скомпрометированную учётную запись разработчика.
- Атака охватила несколько ключевых репозиториев Plone, включая plone.app.mosaic, где злоумышленники замаскировали вредоносный коммит под фиктивной датой.
- Для защиты теперь введены ограничения на использование операции «force push» в основных ветках и тегах проекта.
Разработчики системы управления контентом Plone сообщили об инциденте, связанном с внедрением вредоносного кода в их репозитории на платформе GitHub. Как выяснилось, злоумышленникам удалось получить доступ к учётной записи одного из разработчиков после запуска вредоносного ПО на его системе. При этом был перехвачен токен доступа, что позволило злоумышленникам изменять код напрямую.
Первоначально команда заметила три подозрительных изменения в JavaScript-файлах ещё 7 января. После блокировки аккаунта 14 января специалисты рекомендовали проверить все коммиты с 1 по 14 января. Исследование выявило, что атака затронула не только основной репозиторий, но и пять других проектов Plone: plone/volto, plone/mockup, plone/plone.app.mosaic, plone/critical-css-cli и plone/plonetheme.barceloneta. Особенно серьёзным оказался случай с plone.app.mosaic, где злоумышленники сумели подменить ветку master.
Отмечается, что для внедрения изменений хакеры использовали операцию «force push» — команду git push с флагом «—force», которая позволяет переписать историю ветки и заменить её содержимое. Такое действие облегчает сокрытие вредоносных коммитов. В репозитории plone.app.mosaic в ветку master был добавлен коммит с фиктивной датой 18 декабря. Этот коммит под видом тестового выпуска содержал модификации версии и JavaScript-файл prettier.config.js, в котором в скрытой строке встроили вредоносный код. Данный код был минимально заметен и требовал дополнительных действий пользователя для просмотра на GitHub.
Вредоносные скрипты были ориентированы на разработчиков проекта и включали механизмы для повышения привилегий, автозапуска вредоносных процессов, удалённого управления сервером, а также поиска и отправки конфиденциальной информации, включая токены доступа, данные браузеров и ключи криптокошельков.
В ответ на происшествие команда Plone внедрила на GitHub новые правила, запрещающие выполнение операции «force push» для основных веток и тегов. Такая мера призвана предотвратить дальнейшие попытки несанкционированного переписывания истории и снизить риск внедрения вредоносного кода в критические части проекта.
Подобные инциденты не являются уникальными: в конце 2024 года многие проекты с открытым исходным кодом на GitHub столкнулись с волной атак, направленных на внедрение бэкдоров через пул-реквесты и коммиты. Эксперты рекомендуют поддерживающим проекты тщательно проверять все входящие изменения как с помощью автоматизированных средств, так и вручную, чтобы минимизировать угрозы безопасности.
