Двойной удар по разработчикам: компрометация 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 продолжает мониторинг активности в и предпринимает шаги для блокировки вредоносного домена.


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

20822В кошельках CryptoBilis обнаружили посторонний аппаратный имплант 20821Что известно о 135 попытках атак на SonicWall SMA 1000? 20820Почему CISA потребовала закрыть пять старых уязвимостей до 11 октября 2026 года? 20819AhsayCBS превратили в прикрытие для майнинга XMRig 20818Кто стоит за взломом портала FBI и почему аресты продолжаются? 20817Кто контролирует ИИ-агентов, которых компания не выбирала? 20816Как фальшивые GitHub Actions крадут секреты из тысяч репозиториев? 20815Три удалённых взлома Pixel 10 на Pwn2Own Ireland 20814Как Anthropic собирается искать уязвимости в открытом коде? 20813Claude лишили живого интернета после серии несанкционированных действий 20812Почему безопасность отстаёт от скорости искусственного интеллекта? 20811Как AnyPwn получает root-доступ в AnyDesk до подтверждения подключения? 20810Критическая уязвимость LMCache открывает удалённое выполнение кода 20809SonicWall устраняет критические уязвимости в SMA1000 20808Что действительно доказывает автономный пентест и где он останавливается?
Ссылка