Червь IndonesianFoods в npm: 100 000+ пакетов и риски для цепочек поставок

CyberSecureFox 🦊

В экосистеме npm зафиксирована новая кампания массовой публикации спам-пакетов: самораспространяющийся червь IndonesianFoods создает новые пакеты каждые 7–10 секунд. По данным Sonatype, уже выпущено более 100 000 публикаций с псевдослучайными именами, часто связанными с индонезийскими блюдами. Пока вредоносный функционал в самих пакетах не обнаружен, однако уровень автоматизации и масштаб создают существенный риск для цепочек поставок ПО.

Масштаб и автоматизация атаки на npm

Одним из первых кампанию заметил исследователь Пол Маккарти, запустивший публичный трекер связанных аккаунтов и счетчик пакетов. Аналитики Sonatype уточняют, что попытки атаки предпринимались как минимум с 10 сентября 2025 года (пакет fajar-donat9-breki), тогда логика саморепликации не привела к значимому распространению. Нынешняя волна стала беспрецедентной по темпу и объему и, по словам экспертов, «перегружает множество систем безопасности»: Amazon Inspector, помечая подобные пакеты через OSV advisory, порождает массовые уведомления, а база Sonatype зафиксировала 72 000 новых бюллетеней за один день.

Как работает IndonesianFoods: механизм саморепликации

По данным исследователей, код червя размещен в единственном JS-файле внутри каждого пакета (auto.js или publishScript.js). Он не активируется автоматически и не использует postinstall-хуки: для запуска требуется ручной вызов node auto.js. После активации скрипт бесконечно повторяет цикл: удаляет «private»: true из package.json, генерирует новое имя и версию (обходя фильтры дубликатов), затем публикует пакет через npm publish. Это приводит к лавинообразному засорению реестра, росту нагрузки на инфраструктуру и «загрязнению» результатов поиска — а в случае случайной установки повышает риск компрометации цепочки поставок.

Мотивы и монетизация: злоупотребление TEA Protocol

Эксперты Endor Labs обнаружили в части пакетов файлы tea.yaml с учетными данными и криптокошельками, что указывает на попытку злоупотребить TEA Protocol — блокчейн-платформой, начисляющей токены за вклад в open source. Логика проста: чем больше пакетов и их «влияние» (impact score), тем выше потенциальные выплаты. Исследователи предполагают, что злоумышленники создавали тысячи взаимосвязанных пакетов для фарминга токенов. По оценке Endor Labs, кампания начинается в 2023 году (≈43 000 пакетов), с 2024 года добавляется монетизация через TEA, а в 2025-м внедряется саморепликация, превращая IndonesianFoods в червя.

Последствия для безопасности цепочек поставок ПО

Хотя на текущем этапе в пакетах не обнаружено кражи данных или бекдоров, риск «горячей подмены» пейлоада сохраняется: обновление или зависимость-«спутник» могут незаметно внедрить вредонос, когда защитные механизмы уже перегружены шумом. Тренд подтверждают недавние инциденты с червями GlassWorm (OpenVSX и Visual Studio Code Marketplace) и Shai-Hulud (сотни пакетов в npm). Простые во внедрении кампании создают удобный «кожух» для более сложных атак на экосистемы open source.

Рекомендации по снижению рисков

Для команд разработки

— Фиксируйте версии и используйте lock-файлы; ограничьте обновления по allowlist.
— Разверните приватный прокси-реестр (например, Verdaccio, Artifactory) с карантином для новых и непроверенных пакетов.
— Включите 2FA в npm, применяйте аттестации происхождения (например, provenance, где доступно).
— Запускайте сборки с флагом —ignore-scripts по умолчанию в CI; блокируйте произвольные lifecycle-хуки.
— Используйте SCA-инструменты (Sonatype, Endor Labs, osv-scanner) и мониторинг аномалий публикаций/зависимостей.
— Минимизируйте поиск по всему реестру, контролируйте расширения диапазонов версий (caret/tilde).

Для владельцев реестров и экосистем

— Внедряйте rate limiting на публикации, поведенческую аналитику и автоматическую карантинизацию подозрительных серий.
— Усильте верификацию мейнтейнеров и дедупликацию шаблонного кода.
— Координируйте уведомления (OSV, сканеры) для снижения «усталости от алертов» без потери видимости инцидентов.

IndonesianFoods демонстрирует, как «шумовая» активность способна подорвать доверие к крупнейшему реестру JavaScript-пакетов и создать окно возможностей для более опасных внедрений. Организациям стоит пересмотреть политику работы с зависимостями, усилить контроль публикаций и инвестировать в обнаружение аномалий. Чем раньше внедрены меры — тем ниже вероятность того, что следующая волна спам-пакетов станет началом реальной атаки на вашу цепочку поставок.

Оставьте комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.