Вредоносный пакет проник в официальный репозиторий Bitwarden
22 апреля 2024 года в официальном npm-репозитории Bitwarden появилась поддельная версия CLI-инструмента под именем @bitwarden/[email protected]. В течение 93 минут любой пользователь, устанавливавший этот пакет, получал вместо легитимного инструмента его заражённую версию. Bitwarden оперативно обнаружил инцидент, удалил вредоносный пакет и заявил, что не было зафиксировано попыток доступа к данным пользователей или внутренним системам.
Что делал вредоносный код
По данным исследователей из JFrog, вредоносный пакет не был нацелен на данные хранилища Bitwarden. Вместо этого он собирал токены доступа, SSH-ключи, учётные данные облачных сервисов и конфигурационные файлы — всё, что необходимо для управления инфраструктурой и автоматизацией разработки. В список целей входили:
- Токены GitHub — для доступа к репозиториям и автоматизации рабочих процессов;
- Токены npm — для публикации вредоносных пакетов или изменения релизов;
- SSH-ключи — для доступа к серверам и внутренним репозиториям;
- История команд (shell history) — для извлечения ранее вставленных секретов и внутренних данных;
- Учётные данные AWS, GCP и Azure — для доступа к облачным ресурсам и автоматизации;
- Секреты GitHub Actions — для манипуляции CI/CD-процессами;
- Конфигурации AI-инструментов — для доступа к API-ключам и внутренним сервисам.
Почему это критично
Bitwarden используется более чем 50 000 компаний и 10 миллионами пользователей. CLI-инструмент позиционируется как мощный и многофункциональный способ управления хранилищем, включая автоматизированные рабочие процессы с аутентификацией через переменные окружения. Bitwarden рекомендует устанавливать CLI именно через npm, что делает его ключевым элементом инфраструктуры безопасности.
Вредоносный пакет модифицировал как preinstall-хук, так и основной бинарный файл bw, загружая рантайм Bun и запуская обфусцированный payload. Атака активировалась как при установке, так и во время работы инструмента. Организация могла использовать заражённый CLI без доступа к паролям, в то время как вредоносное ПО систематически собирало учётные данные для CI/CD, облачных сервисов и систем развёртывания.
Как произошла атака
По данным компании Socket, инцидент связан с скомпрометированным GitHub Action в CI/CD-конвейере Bitwarden. Это соответствует шаблону атак, которые отслеживают исследователи из Checkmarx. Bitwarden подтвердил, что инцидент является частью масштабной кампании по цепочкам поставок, которую отслеживают эксперты.
Уроки для безопасности
Эксперты отмечают, что npm использует модель доверенной публикации, чтобы минимизировать подобные риски. Замена долгосрочных токенов аутентификации на OIDC-механизмы в CI/CD-процессах позволяет снизить вероятность компрометации. Однако инцидент с Bitwarden показывает, что даже официальные инструменты могут стать мишенью для атак.
«Атаки на цепочки поставок становятся всё более изощрёнными. Даже легитимные инструменты, установленные через доверенные репозитории, могут содержать угрозы. Команды должны внедрять многоуровневую защиту, включая мониторинг активности, проверку зависимостей и ограничение прав доступа.»
Рекомендации для пользователей
Если вы устанавливали @bitwarden/[email protected] в период с 22 апреля 2024 года, выполните следующие действия:
- Удалите пакет и установите официальную версию через
npm uninstall -g @bitwarden/cli; - Проверьте учётные данные — смените токены GitHub, npm, облачных сервисов и SSH-ключи;
- Изучите историю команд на наличие подозрительных действий;
- Обновите инструменты безопасности и внедрите мониторинг активности;
- Используйте OIDC-аутентификацию в CI/CD-процессах вместо долгосрочных токенов.