В npm обнаружили еще одного самораспространяющегося червя IndonesianFoods, который каждые семь секунд порождает новые пакеты. По данным специалистов Sonatype, малварь уже создала более 100 000 пакетов, и их количество продолжает расти.
Название червя IndonesianFoods (англ. «индонезийская еда») связано со схемой именования пакетов, которые получают случайные имена, связанные с названиями индонезийских блюд.
Хотя пока пакеты, которые создает червь, не содержат никакой вредоносной функциональности (вроде кражи данных или скрытых бэкдоров), ситуация может легко измениться после обновления, которое добавит нужный злоумышленникам пейлоад.
Исследователи предупреждают, что уровень автоматизации и масштаб этой атаки создают потенциал для масштабной компрометации цепочек поставок.
Одним из первых эту вредоносную кампанию заметил ИБ-исследователь Пол Маккарти (Paul McCarty), который создал специальную страницу для отслеживания связанных с червем пользователей npm и количества опубликованных ими пакетов.
В свою очередь аналитики Sonatype сообщают, еще 10 сентября 2025 года те же атакующие пытались начать атаку, используя пакет fajar-donat9-breki. Хотя он содержал ту же логику саморепликации, распространиться ему не удалось.
Специалисты полагают, что IndonesianFoods нацелен не на компрометацию машин разработчиков. Вместо этого червь, по их мнению, стремится перегрузить экосистему и нарушить работу крупнейшей в мире цепочки поставок ПО.
«Эта атака перегрузила множество систем безопасности, демонстрируя беспрецедентный масштаб, — говорят в компании. — Amazon Inspector помечает такие пакеты через OSV advisory, запуская массовую волну отчетов об уязвимостях. Только база данных Sonatype зафиксировала 72 000 новых бюллетеней за один день».
Однако, по информации компании Endor Labs, некоторые пакеты IndonesianFoods содержат файлы tea.yaml с аккаунтами и адресами криптокошельков, то есть злоупотребляют TEA Protocol — блокчейн-платформой, которая платит токенами разработчикам опенсорсных проектов.
Схема проста: чем больше пакетов и чем выше их «влияние» (impact score), тем больше токенов можно получить. Предполагается, что атакующие могли создавать тысячи взаимосвязанных пакетов для фарма токенов.
Исследователи рассказывают, что сам червь присутствует в единственном JavaScript-файле (auto.js или publishScript.js) внутри каждого пакета. При этом он не активируется самостоятельно, не имеет автоматических триггеров при установке или postinstall-хуков: нужно вручную запустить node auto.js.
Неясно, кто мог вручную запускать этот файл, но десятки тысяч пакетов, содержащих IndonesianFoods, свидетельствуют либо о множестве жертв, которые зачем-то открыли файл, либо о том, что это делали сами атакующие.
В Endor Labs говорят, что не обнаружили следов масштабного использования социальной инженерии, которая могла бы сопровождать эту кампанию. Однако код малвари может быть предназначен для сценариев, когда пользователей убеждают (например, в фейковых туториалах) запустить node auto.js, чтобы завершить настройку.
После активации скрипт работает в бесконечном цикле: удаляет "private": true из package.json, генерирует случайное имя из словаря, создает случайный номер версии (чтобы обойти обнаружение дубликатов в npm) и публикует новый пакет через npm publish. Цикл повторяется без остановки — новый пакет появляется каждые 7-10 секунд.
«Репозиторий захламляется мусором, инфраструктура тратит ресурсы впустую, результаты поиска загрязняются, а если кто-то случайно установит такой пакет — привет, риски для цепочки поставок», — пишет Маккарти.
Интересно, что, по данным Endor Labs, эта спам-кампания началась еще два года назад: в 2023 году злоумышленники добавили в npm 43 000 пакетов, в 2024 году внедрили в них монетизацию посредством TEA, а в 2025 году добавили в эту схему саморепликацию, сделав IndonesianFoods червем.
IndonesianFoods — не первый червь, попавший в заголовки СМИ за последнее время. Совсем недавно червь GlassWorm был обнаружен в OpenVSX и Visual Studio Code Marketplace, а червь Shai-Hulud скомпрометировал сотни пакетов в npm.
Аналитики Sonatype предупреждают, что эти простые, но эффективные вредоносные кампании создают идеальные условия для того, чтобы злоумышленники незаметно внедряли более серьезную малварь в опенсорсные экосистемы.


