17.09.2025 | 40 популярных пакетов заражены троянами. Отзовите все токены прямо сейчас |
Исследователи компании Socket сообщили о новой атаке на экосистему npm, в результате которой более 40 пакетов оказались заражены встроенным вредоносным кодом. Механизм компрометации был тщательно продуман: использовалась функция NpmModule.updatePackage, которая загружала архив пакета, изменяла его метаданные в package.json, внедряла дополнительный скрипт под названием bundle.js, после чего перепаковывала содержимое и вновь публиковала обновлённый вариант. Такой процесс позволял незаметно встраивать троянский код и автоматически заражать зависимые проекты. Цель атаки заключалась в хищении учётных данных и токенов разработчиков. Вредоносный скрипт скачивал и запускал TruffleHog — легитимный инструмент для поиска секретов, который использовался злоумышленниками для сканирования систем в поисках ключей доступа. Среди целевых данных оказались переменные окружения с токенами GitHub, npm, а также учётные данные для AWS. Механизм работал как на Windows, так и на Linux, что значительно увеличивало охват атаки. Bundle.js взаимодействовал с сервисами напрямую: проверял npm-токены через endpoint whoami, обращался к GitHub API при наличии доступа и даже выполнял запросы к метаданным облачных платформ, чтобы извлечь временные ключи из CI/CD-сред. Полученные данные отправлялись на внешний сервер через специально подготовленный webhook. Дополнительно скрипт создавал новый workflow в директории .github/workflows, который закреплялся в репозитории и мог выполнять эксфильтрацию при каждом запуске пайплайна, что делало угрозу постоянной даже после удаления исходного заражения. Список затронутых пакетов оказался широким и включал такие проекты, как angulartics2@14.1.2, @ctrl/react-adsense@2.0.2, ngx-toastr@19.0.2, json-rules-engine-simplified, koa2-swagger-ui, rxnt-authentication, react-jsonschema-form-extras, swc-plugin-component-annotateи многие другие. Под удар попали и популярные библиотеки сообщества NativeScript, включая ui-collectionview и ui-material-core. Наличие стольких зависимостей с вредоносным кодом создаёт каскадное заражение — downstream-проекты автоматически получают троян, даже если не подозревают о его существовании.
Эксперты из StepSecurity подчеркнули , что особую тревогу вызывает самораспространяющийся характер атаки: внедрённый механизм способен автоматически встраиваться в новые сборки, провоцируя цепную реакцию заражений во всей экосистеме npm. Такая модель значительно повышает риски масштабного компрометационного эффекта. Разработчикам рекомендовано провести аудит окружений, проверить наличие перечисленных пакетов и при необходимости немедленно отозвать и пересоздать npm-токены, GitHub-ключи и облачные секреты, поскольку они могли быть переданы злоумышленникам. Без этих шагов угроза может сохраняться внутри конвейеров CI, обеспечивая злоумышленникам доступ к артефактам и конфиденциальным данным. Одновременно с этим инцидентом рабочая группа Rust Security Response предупредила о фишинговой кампании против пользователей crates.io. Злоумышленники рассылали письма от имени поддельного домена rustfoundation[.]dev, утверждая, что инфраструктура скомпрометирована, и призывали перейти по ссылке для смены паролей. На деле страница имитировала GitHub-авторизацию и предназначалась для кражи учётных данных. Настоящая Rust Foundation не имеет отношения к этому домену и заявила, что инфраструктура crates.io работает в штатном режиме, а подозрительная активность находится под мониторингом. Поддельный домен в настоящее время недоступен, но кампания показала, что злоумышленники активно используют доверие к официальным проектам для атак на разработчиков. Таким образом, экосистема open source одновременно столкнулась с двумя атаками — компрометацией пакетов npm и фишингом против Rust-сообщества, что подтверждает тенденцию роста угроз именно в цепочках поставок программного обеспечения. |
Проверить безопасность сайта