Содержание
Go Module Mirror три года распространял бэкдор из-за типосквоттинга. Бэкдор в boltdb-go/bolt угрожал тысячам проектов, но был удалён лишь в 2025 году
Исследователи обнаружили, что Go Module Mirror — официальный прокси-сервис от Google для загрузки Go-модулей — три года распространял бэкдор.
Всё это время разработчики могли случайно установить зараженный пакет вместо оригинального, даже не подозревая об угрозе.
Речь идёт о поддельном модуле boltdb-go/bolt
, который маскировался под популярную библиотеку boltdb/bolt
.
Этот пакет — зависимость для более чем 8000 других проектов, что делает атаку особенно опасной.
Как это произошло?
Хакеры использовали метод «типосквоттинга»: создали почти идентичное название, надеясь, что кто-то ошибётся при вводе команды. Вредоносный код появился ещё в 2021 году и попал в кэш Go Module Mirror.
🔥 GitHub Copilot стал полностью бесплатным внутри VSCodetproger.ru
После этого злоумышленники стерли следы — обновили репозиторий на GitHub, заменив бэкдор чистым кодом. Однако механизм Go не очищает закэшированные версии, поэтому прокси продолжал раздавать заражённый пакет.
Что делал бэкдор?
При установке бэкдор открывал удалённый доступ к устройству. Он подключался к скрытому серверу, позволял хакерам выполнять команды, а также автоматически перезапускался при сбоях.
Сервер для управления атакой находился в сети Hetzner Online — уважаемого хостинг-провайдера. Это помогло обойти антивирусы и затруднило обнаружение атаки.
Почему это заметили только сейчас?
Компания Socket обнаружила бэкдор только в конце января 2025 года.
Они сразу же запросили его удаление, но Google не торопилась. Лишь после второго обращения 3 февраля заражённый модуль был исключён из Go Module Mirror.
Какие выводы?
Этот случай успешно продемонстрировал уязвимость механизмов кэширования.
Разработчики зависят от Go Module Mirror, но он не проверяет изменения в оригинальных репозиториях. Это означает, что если вредоносный код попал в кэш, он там остаётся навсегда, пока его не удалят вручную.
Что делать?
- Внимательно проверять имена пакетов перед установкой.
- Использовать инструменты безопасности, анализирующие зависимости.
- Требовать от Google и Go Team улучшения защиты Go Module Mirror.
Хотя заражённый пакет уже удалён, никто не гарантирует, что подобное не повторится снова.