Каждую неделюНаши системы обнаружения вредоносных программ сканируют тысячи новых и обновленных пакетов в общедоступных реестрах, таких как npm и PyPI.
Эта неделя была особенно насыщенной.
Мы подтвердили 93 вредоносных пакетав основном по всей территории НПМс дополнительными случаями в PyPI, OpenVSX и КомпозиторНесколько вредоносных программ появились в скоординированных группах, с неоднократными выпусками вредоносных программ под одними и теми же именами или в рамках тесно связанных семейств пакетов. Многие из них имитировали модули оплаты и оформления заказа, enterprise и внутренние веб-пакеты, аналитические клиенты, Основы пользовательского интерфейса, утилиты для разработчиков, обозреватели компонентов, пакеты услуг, связанные с облачными технологиями и Google.а также другие модули, широко используемые в современных процессах разработки.
Это были не единичные случаи. На этой неделе особенно бросались в глаза масштабы повторной публикации в рамках одних и тех же семейств пакетов, повторное использование шаблонов именования и то, как вредоносные пакеты маскировались под легитимные зависимости внутри реальных программных продуктов. pipelines.
Этот еженедельный обзор является частью нашего постоянного Обзор вредоносного кодагде мы подтверждаем новые угрозы и предоставляем полезную информацию для оказания помощи Команды DevSecOps защитить их pipelineза несколько секунд до возникновения повреждений.
Давайте разберем, что мы обнаружили на этой неделе и почему это важно.
| Экосистема | Упаковка | Время |
|---|---|---|
| НПМ | pa-marked:99.1.10 | 27 Апрель, 2026 |
| Pypi | moonbit-locale-compat:0.2.3 | 27 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.13 | 27 Апрель, 2026 |
| НПМ | @sbt_gitverse/analytics-client:99.0.1 | 27 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.33.1 | 27 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.14 | 27 Апрель, 2026 |
| НПМ | @tochka-ui/foundation:99.0.2 | 27 Апрель, 2026 |
| openvsx | arcane-spark/ubel:0.1.0 | 28 Апрель, 2026 |
| НПМ | @2011-08-19/n:99.9.9 | 28 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.38.0 | 27 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.38.1 | 27 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.39.0 | 27 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.43.0 | 27 Апрель, 2026 |
| НПМ | @frengki0707/google-cloud-clone:1.44.0 | 27 Апрель, 2026 |
| НПМ | google-logging-utils-internal:9.9.9 | 27 Апрель, 2026 |
| НПМ | google-logging-utils-internal:1.1.4 | 27 Апрель, 2026 |
| НПМ | @combinezone/theme:99.9.10 | 28 Апрель, 2026 |
| НПМ | maninos:1.3.0 | 28 Апрель, 2026 |
| НПМ | @inheritdoc/n:99.9.9 | 28 Апрель, 2026 |
| НПМ | @mts-pay/web-sdk:99.9.9 | 28 Апрель, 2026 |
| НПМ | @cashback/how-it-works-widget:99.9.9 | 28 Апрель, 2026 |
| НПМ | @cashback/postal-premium: 99.9.9 | 28 Апрель, 2026 |
| НПМ | @toprimitive/nif:99.9.9 | 28 Апрель, 2026 |
| НПМ | @tostringtag/nsettostringtag:99.9.9 | 28 Апрель, 2026 |
| НПМ | rtms-manager:1.4.0 | 28 Апрель, 2026 |
| НПМ | vscode-component-explorer:99.9.15 | 28 Апрель, 2026 |
| НПМ | js-component-explorer:99.9.16 | 27 Апрель, 2026 |
| НПМ | js-component-explorer:99.9.17 | 27 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.15 | 27 Апрель, 2026 |
| НПМ | @tochka-ui/foundation:99.0.3 | 27 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.16 | 27 Апрель, 2026 |
| НПМ | @sbt_gitverse/analytics-client:99.0.4 | 27 Апрель, 2026 |
| НПМ | @tochka-ui/foundation:99.0.4 | 27 Апрель, 2026 |
| НПМ | kl-b2c-ui-kit:99.0.1 | 27 Апрель, 2026 |
| композитор | dot-env-it/laravel-core-helper:v1.0.0 | 28 Апрель, 2026 |
| НПМ | uipath-ui-widgets:1.0.1 | 28 Апрель, 2026 |
| НПМ | standalone-apps:1.0.1 | 28 Апрель, 2026 |
| НПМ | @tw-utils/static:99.0.1 | 27 Апрель, 2026 |
| НПМ | @tw-models/storage:99.0.1 | 27 Апрель, 2026 |
| НПМ | @tw-marionette/clipboard:99.0.1 | 27 Апрель, 2026 |
| НПМ | @tw-marionette/input:99.0.1 | 27 Апрель, 2026 |
| НПМ | apollo-landing:1.0.1 | 28 Апрель, 2026 |
| НПМ | process-app-task:1.0.1 | 28 Апрель, 2026 |
| НПМ | apollo-vertex:1.0.1 | 28 Апрель, 2026 |
| НПМ | @ozon-complt/split:99.0.1 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/destroy:99.0.1 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/merchant-session:99.0.1 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/start:99.0.1 | 27 Апрель, 2026 |
| НПМ | @google-pay-trust/finish:99.0.1 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/finish:99.0.1 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/validate-merchant:99.0.1 | 27 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.17 | 27 Апрель, 2026 |
| НПМ | @zirutan/utils:1.0.2 | 27 Апрель, 2026 |
| НПМ | @zirutan/utils:1.0.4 | 27 Апрель, 2026 |
| НПМ | report-ng:1.0.2 | 27 Апрель, 2026 |
| НПМ | kl-b2c-ui-kit:99.0.2 | 27 Апрель, 2026 |
| НПМ | @apple-pay-trust/authorize-payment:99.0.2 | 27 Апрель, 2026 |
| НПМ | @google-pay-trust/authorize-payment:99.0.2 | 27 Апрель, 2026 |
| НПМ | @ozon-complt/antibot-handler:99.0.2 | 27 Апрель, 2026 |
| НПМ | @sbt_gitverse/analytics-client:99.0.5 | 27 Апрель, 2026 |
| НПМ | @tw-models/storage:99.0.2 | 27 Апрель, 2026 |
| НПМ | frank-bot-gogle-cloning:1.1.0 | 27 Апрель, 2026 |
| НПМ | frank-research-poc-apple:1.1.4 | 27 Апрель, 2026 |
| НПМ | @google-pay-trust/init-google-pay-result:99.0.2 | 27 Апрель, 2026 |
| НПМ | @google-pay-trust/start:99.0.2 | 27 Апрель, 2026 |
| НПМ | @b2b_blocker/show_activation_error:99.0.2 | 27 Апрель, 2026 |
| НПМ | @business_promocode/cancel_promocode:99.0.2 | 27 Апрель, 2026 |
| НПМ | @business_promocode/apply_promocode:99.0.2 | 27 Апрель, 2026 |
| НПМ | @b2b_blocker/hide_activation_error:99.0.2 | 27 Апрель, 2026 |
| НПМ | apple-internal-pki-utils:1.0.1 | 27 Апрель, 2026 |
| НПМ | apple-internal-pki-trust-v5:1.0.0 | 27 Апрель, 2026 |
| НПМ | @taxmoninor/taxmon:99.0.6 | 28 Апрель, 2026 |
| НПМ | @alfa.life.mapp/app.web:99.0.19 | 28 Апрель, 2026 |
| НПМ | @apiary-annex/meta:99.0.4 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/cancelled:99.0.3 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/check-apple-pay:99.0.3 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/check-apple-pay:99.0.4 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/finish:99.0.3 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/merchant-session:99.0.4 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/merchant-session:99.0.3 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/finish:99.0.4 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/destroy:99.0.4 | 28 Апрель, 2026 |
| НПМ | @apple-pay-trust/destroy:99.0.3 | 28 Апрель, 2026 |
| НПМ | @pyme-web/web-api:99.0.4 | 28 Апрель, 2026 |
| НПМ | @google-pay-trust/authorize-payment:99.0.4 | 28 Апрель, 2026 |
| НПМ | @google-pay-trust/finish:99.0.3 | 28 Апрель, 2026 |
| НПМ | @google-pay-trust/init-google-pay:99.0.4 | 28 Апрель, 2026 |
| НПМ | @google-pay-trust/start:99.0.4 | 28 Апрель, 2026 |
| НПМ | kl-b2c-ui-kit:99.0.3 | 28 Апрель, 2026 |
| НПМ | @ozon-complt/antibot-handler:99.0.3 | 28 Апрель, 2026 |
| НПМ | @ozon-complt/antibot-handler:99.0.4 | 28 Апрель, 2026 |
| НПМ | @tw-models/storage:99.0.3 | 28 Апрель, 2026 |
| НПМ | @w3m-app/is_connected:99.0.4 | 28 Апрель, 2026 |
| НПМ | @w3m-frame/session_update:99.0.4 | 28 Апрель, 2026 |
| НПМ | доступ-угловой-кэш-бастер: 99.9.0 | 29 Апрель, 2026 |
| НПМ | доступ-угловой-кэш-бастер: 99.0.0 | 29 Апрель, 2026 |
| НПМ | hpsetup:2.0.0 | 29 Апрель, 2026 |
Защитите свои зависимости с открытым исходным кодом от уязвимостей и вредоносного кода
Минимизируйте риски и защитите свои приложения от вредоносных пакетов с помощью Раннее обнаружение вредоносных программ Xygeni. Расставьте приоритеты и устраните уязвимости, которые имеют наибольшее значение. Наше комплексное решение предлагает мониторинг зависимостей в реальном времени для обнаружения и устранения угроз до того, как они повлияют на ваше программное обеспечение.
Управление компонентами с открытым исходным кодом в современной среде разработки программного обеспечения имеет решающее значение из-за растущего числа уязвимостей и угроз вредоносного кода. Ксигени Open Source Security Решение сканирует и блокирует вредоносные пакеты после публикации, значительно сводя к минимуму риск проникновения вредоносных программ и уязвимостей в ваши системы. Наш комплексный мониторинг охватывает несколько общедоступных реестров, обеспечивая тщательную проверку всех зависимостей на предмет безопасности и целостности. Xygeni расширяет возможности вашей команды поддерживать безопасные и надежные программные проекты за счет контекстуального определения приоритетов критических проблем и упрощения процессов исправления.
Xygeni использует многоуровневые методы для блокировки вредоносного кода до его распространения. Статический анализ кода выявляет шаблоны обфускации, скрытые полезные нагрузки и злоупотребления скриптами. Кроме того, поведенческая песочница анализирует установку hooks, команды времени выполнения и трюки с сохранением. Более того, машинное обучение выявляет вредоносные программы нулевого дня npm и варианты pypi, пропущенные сканерами сигнатур. Наконец, система раннего оповещения отслеживает общедоступные репозитории в режиме реального времени, проверяет результаты и немедленно оповещает команды DevOps.
В результате эта комбинация гарантирует разработчикам быструю и действенную информацию, интегрированную непосредственно в CI/CD рабочих процессов.
Почему разработчикам следует опасаться вредоносных пакетов npm
Современные угрозы редко дожидаются выполнения. Например, вредоносные пакеты npm часто выполняются во время установки, а вредоносные пакеты pypi скрывают утечку токенов или бэкдоры. Злоумышленники:
- Перенесите приватные репозитории GitHub в публичные, чтобы реплицировать их.
- Извлеките учетные данные и секреты, используя зашифрованные данные.
- Используйте запутанные загрузчики JavaScript для развертывания программ-вымогателей или ботнетов.
Фактически, количество вредоносных пакетов с открытым исходным кодом выросло на 156% за год. Поэтому команды, которые полагаются только на отложенные обновления или базовые сканеры, отстают.
Что этот отчет о вредоносных программах отслеживает в npm и PyPI
Этот дайджест является центральным узлом для:
- Подтвержденные вредоносные пакеты npm
- Подтвержденные вредоносные пакеты pypi
- Обнаружение вредоносного кода на основе поведения
- Инциденты, подтвержденные реестром
- Еженедельные и ежемесячные отчеты о вредоносных программах
- История изменений всех обнаруженных вредоносных программ npm и pypi
Другими словами, он предоставляет единую точку отсчёта. Исследовательская группа Xygeni еженедельно обновляет эту страницу, добавляя ссылки на полный технический анализ и IOC на GitHub.
Как защититься от вредоносных пакетов npm и вредоносного ПО PyPI
Из-за этого растущего рискаорганизациям нужна сильная защита:
- Обеспечить установку только файлов блокировки (
npm ci) в CI/CD. - Кроме того, зависимости сканирования предварительно устанавливаются с помощью механизма раннего оповещения Xygeni.
- Кроме того, блок строится на сигналах вредоносного кода, используя Guardrails.
- Создать SBOMдля отслеживания косвенных зависимостей и применения политик.
- Прежде всего, обучите разработчиков выявлять тайпсквоттинг, обфускацию и подозрительные установочные скрипты.
Попробуйте инструменты обнаружения вредоносных программ от Xygeni
Xygeni обеспечивает:
- Обнаружение вредоносного кода в режиме реального времени, включая бэкдоры, шпионское ПО и программы-вымогатели.
- В отличие от обычных сканеров, анализ данных по всему npm, PyPI, Специалист, NuGet, РубиГемсИ многое другое.
- Автоматическая блокировка сборки, если отчет о вредоносном ПО выявляет риск.
- Анализ возможностей эксплуатации, проверка репутации обслуживающей организации и обнаружение аномалий.





