Двойной удар по разработчикам: компрометация npm и фишинг в Rust

Компания Socket, специализирующаяся на безопасности цепочек поставок, раскрыла детали масштабной атаки, в ходе которой было скомпрометировано более 40 пакетов в реестре npm. Целью злоумышленников являлась кража учетных данных разработчиков, таких как API-токены и ключи облачных сервисов, а также создание постоянных бэкдоров в их репозиториях.
Двойной удар по разработчикам: компрометация npm и фишинг в Rust
Изображение носит иллюстративный характер

Механизм атаки заключался во внедрении вредоносной функции NpmModule.updatePackage в легитимные npm-пакеты. Эта функция скачивала оригинальный архив пакета, модифицировала его файл package.json и внедряла локальный скрипт bundle.js. После этого измененный архив перепаковывался и публиковался обратно в реестр npm как обновленная версия. Такой подход обеспечивал автоматическую троянизацию всех зависимых пакетов, которые использовали скомпрометированную библиотеку.

Основным инструментом атаки служил скрипт bundle.js. Он загружал и запускал легитимный инструмент с открытым исходным кодом TruffleHog, предназначенный для поиска секретов. Скрипт сканировал хост-машину разработчика, поддерживая операционные системы Windows и Linux, в поисках конкретных учетных данных.

Целями сканирования были токен GITHUB_TOKEN, токен NPM_TOKEN, а также ключи доступа AWS: AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY. Для проверки валидности найденных npm-токенов вредоносное ПО использовало конечную точку whoami. При обнаружении токена GitHub скрипт взаимодействовал с GitHub API. Также он предпринимал попытки обнаружения временных учетных данных в облачных средах сборки.

Все собранные данные отправлялись на конечную точку webhook[.]site, контролируемую злоумышленниками. Ключевой и наиболее опасной частью атаки является механизм сохранения присутствия. Используя украденные персональные токены доступа GitHub, скрипт создавал рабочий процесс GitHub Actions, который записывался в репозиторий жертвы в директорию .github/workflows. Этот бэкдор оставался активным даже после устранения первоначального заражения, позволяя злоумышленникам повторно извлекать данные при каждом запуске CI/CD-пайплайна.

Среди идентифицированных скомпрометированных пакетов значится @nativescript-community/sentry версии 4.6.43. Также были зафиксированы зараженные пакеты с версиями 1.2, 0.2.1 и 5.11.1. Разработчикам настоятельно рекомендуется провести аудит своих рабочих сред и сменить все npm-токены и другие секреты, которые могли быть скомпрометированы.

Параллельно с инцидентом в npm была зафиксирована фишинговая кампания, нацеленная на пользователей официального реестра пакетов Rust, . Атака проводилась с целью кражи их учетных данных GitHub через поддельную страницу входа.

Злоумышленники рассылали пользователям электронные письма с тайпсквоттингового домена rustfoundation[.]dev. В письме содержалось ложное утверждение о компрометации инфраструктуры . Получателю предлагалось перейти по встроенной ссылке для смены своей учетной информации.

Встроенная ссылка вела на фишинговый сайт github.rustfoundation[.]dev, который имитировал страницу входа GitHub. Цель этой страницы заключалась исключительно в сборе вводимых пользователями логинов и паролей.

Рабочая группа по реагированию на угрозы безопасности Rust (The Rust Security Response Working Group) официально заявила, что никаких доказательств компрометации инфраструктуры нет. Домен rustfoundation[.]dev не контролируется ни Rust Foundation, ни проектом Rust.

На момент публикации отчета фишинговая страница была уже недоступна. Команда Rust продолжает мониторинг активности в и предпринимает шаги для блокировки вредоносного домена.


Новое на сайте

20327Кости прерий: как истребление бизонов породило целую индустрию — и сама себя же уничтожила 20326Кто и зачем взламывает серверы Ollama и ComfyUI ради ключей от AWS? 20325Как злоумышленники спрятали командный сервер внутри блокчейна и почему его невозможно... 20324Брюссель заставляет Android делиться секретами с чужими ИИ-помощниками 20323WordPress: как два бага слились в одну критическую дыру, которую назвали wp2shell 20322Как китайские хакеры обманули DigiCert и украли сертификаты для подписи кода? 20321Что скрывается за уязвимостью, которую агентство США внесло в список активно используемых... 20320Автономные системы наступают быстрее, чем инфраструктура для управления ими: кто выиграет... 20319Почему в OpenSSL нашли дыру, съедающую память серверов, но не дали ей даже номер CVE? 20317SonicWall SMA 1000: как два бага превратили VPN-шлюз в бэкдор для атакующих 20316Может ли уязвимость в клиенте Zoom для Windows открыть доступ к чужому аккаунту без... 20315TELEPUZ: новый вредонос на C, который научился прятаться в Telegram, Steam и блокчейне... 20314Дома из дёрна: как исландцы триста лет прятались от холода под слоем земли и травы 20313Как один токен от чужого сервиса мог впустить злоумышленника в чужой аккаунт n8n?
Ссылка