14 января скомпрометированная учётная запись была заблокирована, а разработчикам проекта рекомендовано проанализировать коммиты с 1 по 14 января. 27 января было обнаружено, что замеченными коммитами дело не ограничилось и атака затронула пять репозиториев проекта (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 включили в GitHub правила, блокирующие операции «force push» для основных веток и тегов.
В репозитории plone.app.mosaic для затруднения выявления компрометации атакующие подставили в master-ветку вредоносный коммит, имеющий фиктивную дату — 18 декабря, полагая, что область поиска вредоносного кода сосредоточится на изменениях, добавленных после фактической даты выполнения операции «force push». Вредоносное изменение преподносились в подставленном коммите как начало разработки нового тестового выпуска, но помимо смены номера версии в метаданных (с 4.0.0a1 на 4.0.0a2.dev0) в вызываемый на этапе сборки javascript-файл prettier.config.js был добавлен вредоносный код. Для скрытия при просмотре изменения в терминале код был смещён с использованием пробелов. В интерфейсе GitHub данный код также не показывался по умолчанию и требовал нажатия кнопки «Load Diff».

Атака была нацелена в большей степени на разработчиков проекта, чем на пользователей. В релиз вредоносные изменения не вошли. Вредоносный код активировался при сборке, загружал эксплоиты для повышения привилегий, настраивал автозапуск через вызов своих процессов из стартовых скриптов и позволял удалённо управлять сервером. Помимо этого устанавливаемый вредоносный компонент осуществлял поиск и отправку конфиденциальных данных, таких как токены доступа, профили браузеров и ключи от криптокошельков.
Источник: http://www.opennet.ru/opennews/art.shtml?num=64718
