- Седем npm пакета, прикрити с Adspect, използваха филтриране на трафика, фалшиви CAPTCHA и анти-изследователски трикове; един действаше като примамка.
- Мащабен спам, наречен „IndonesianFoods“, използваше спящи скриптове, шаблонни именувания и вериги от зависимости, за да залее системния регистър.
- Обхватът се разшири от десетки хиляди до над 150 000 пакета; Amazon Inspector и OpenSSF координираха MAL-IDs и премахването на пакети.
- Смекчаващите мерки включват одити на зависимости, ограничени права за публикуване, SCA за спящи файлове, ограничаване на скоростта, SBOMs и по-строга проверка на акаунта.
Като най-натовареният център на JavaScript екосистемата, регистърът на npm се справя едновременно с две много различни заплахи : малък набор от пакети, които дискретно пренасочват потребителите чрез прикриване, и разрастваща се кампания, която масово публикува боклуци, за да се стремят към крипто награди. И двата проблема, макар и различни, разкриват познати пропуски в защитата на веригата за доставки.
Изследователи от множество екипи съобщават, че нападателите са комбинирали прикриване на трафика, автоматизация и разпространение на софтуер с отворен код , за да насочат жертвите към съмнителни дестинации или да наводнят индекса с нискостойностни пакети в безпрецедентен мащаб. Тези случаи показват как стимулите и инструментите могат да бъдат изопачени срещу общността, когато предпазните мерки изостават от креативността на нападателите.
Пренасочванията, базирани на прикриване, превръщат npm пакетите в трафик гейтове
Разследващите идентифицираха седем npm пакета, свързани с един-единствен участник, който използва услугата Adspect, за да раздели реалните потребители от изследователите и да скрие истинския полезен товар . Пакетите, приписвани на вече премахнат акаунт с име „dino_reborn“, са се появили между септември и ноември 2025 г. с брой изтегляния от малкото стотици.
Шест от пакетите съдържаха компонент с размер приблизително 39 kB, който „ отпечатва пръстови отпечатъци“ на средата, блокира инструментите за разработчици в браузъра (за да възпрепятства анализа) и незабавно се изпълнява чрез IIFE шаблона на JavaScript след импортиране. Седми пакет, „signals-embed“, се открои, като предостави безобидна бяла страница като примамка, а не като открито злонамерено поведение.
Когато имплантираните сайтове се заредят, трафикът се изпраща през прокси крайна точка на адрес association-googlexyz/adspect-proxyphp , което помага да се определи дали посетителят изглежда като жертва или изследовател. Ако бъде маркиран като жертва, потребителят вижда фалшив CAPTCHA, който в крайна сметка пренасочва към страници с крипто тематика, представящи се за услуги (напр. StandX). Ако бъде маркиран като вероятен анализатор, страницата показва обикновен изглед примамка и дори включва шаблонен текст, свързан с фиктивна компания, наречена Offlido.
Adspect се рекламира като услуга за облачно прикриване, която блокира „нежелан“ трафик като ботове или антивирусни роботи , предлагайки многостепенни планове и обещавайки „непробиваемо прикриване“. Вграждането на това филтриране в стил рекламни технологии в npm пакети остава необичайно и изследователите отбелязват, че то ефективно обгръща логиката за ограничаване на трафика в дистрибуция с отворен код, така че кодът решава в реално време кой получава истинския полезен товар.
Тъй като логиката се изпълнява веднага щом ресурсът се зареди, не е необходима намеса от страна на потребителя, за да се задейства поведението . Този незабавен поток на изпълнение – и блоковете на ниво браузър в инструментите за разработчици – усложняват анализа и помагат схемата да не се вижда от случайна проверка.
Разпростираща се npm спам операция, задвижвана от награди с токени
В отделна разработка, екипи по сигурността разкриха обширен набор от спам npm пакети, публикувани на вълни в продължение на около две години , първоначално изглеждащи безобидни, но предназначени за репликация и финансова печалба. Известни общо като „IndonesianFoods“, усилията използваха последователна схема за именуване, която съчетава произволни индонезийски имена с хранителни термини и различни наставки, за да генерира хиляди правдоподобно звучащи пакети.
На пръв поглед много записи изглеждаха легитимни – някои дори доставяха функционални шаблони за Next.js. Но вътре бяха заровени неизползвани файлове като auto.js или publishScript.js , които при ръчно стартиране генерираха нови пакети с висока скорост , променяха версии и премахваха предпазните мерки за поверителност. Именно тази лесна за стартиране автоматизация – а не наистина автономно поведение, подобно на червей – подхранваше бързото мащабиране.
Мрежата от спам често препращаше към осем до десет други фалшиви зависимости, увеличавайки въздействието чрез вериги от зависимости . Инсталирайте една и npm може тихо да изтегли десетки други, увеличавайки хаоса в системния регистър без никаква непосредствена, очевидна вреда за машините на разработчиците.
Монетизацията изглежда е обвързана с наградите с отворен код на протокола TEA . Няколко пакета включват tea.yaml , сочещи към конкретни акаунти и адреси на портфейли, което предполага опит за завишаване на оценките за въздействие и извличане на изплащания от токени . В някои случаи документацията дори посочва тези приходи, засилвайки идеята за координиран, ориентиран към печалба план, а не за случайно експериментиране.
Различни изследователски групи са измервали вълната на различни етапи: констатациите варират от приблизително 43 000 качвания на спам по-рано в кампанията до над 100 000 по-късно, като Amazon Inspector в крайна сметка отчита над 150 000 пакета в множество акаунти до средата на ноември 2025 г. Ръстът разкрива ограниченията на скоростта на регистрите, проверките на метаданни и откриването на шаблони като области, нуждаещи се от внимание.
Защо скенерите го пропуснаха и какво се промени
Една от ключовите причини кампанията да продължи толкова дълго е, че повечето автоматизирани инструменти търсят зловреден софтуер по време на инсталиране – например подозрителни „hooks“-ове след инсталиране или активност на файловата система. В този случай полезният товар е бил неактивен и не е бил използван, така че обичайните евристики са го определяли като безобиден. Без активни тригери, скенерите често са третирали допълнителните файлове като безобиден хаос.
Друг фактор беше мащабът и честотата на публикуване: скриптовете можеха да пускат нови пакети на всеки няколко секунди , създавайки огромен обем, без да се нарушават класическите сигнатури на зловреден софтуер. Докладите отбелязват, че няколко системи за данни за сигурност са били заляти от предупреждения, включително масивни пикове в OSV-свързаните предупреждения.
Към края на октомври 2025 г. Amazon Inspector внедри ново правило за откриване, съчетано с AI-базирано моделиране, за да открива ясни черти като наличие на tea.yaml, клониран или минимален код, предвидимо именуване, автоматично генерирани пръстови отпечатъци и кръгови вериги от зависимости. След потвърждаване на моделите в началото на ноември, екипът се координира с Open Source Security Foundation (OpenSSF), за да присвои MAL-IDs бързо - средното време за обработка беше около 30 минути.
Един важен нюанс: някои ранни коментари нарекоха кампанията „червей“. Последващи актуализации изясниха, че логиката на репликация не се саморазпространява ; тя трябва да бъде изпълнена. Тази корекция е важна, но резултатът – бързо, индустриализирано заливане с пакети – все още натоварваше инфраструктурата на системния регистър и доверието.
Практически стъпки за намаляване на експозицията
Организациите трябва да подхождат към намаляването на риска от нови проекти като към непрекъснат, многопластов процес , съчетаващ проактивна хигиена на зависимостите с контрол, съобразен с политиките и регистъра. Следните мерки отразяват съветите на изследователите и стопаните на екосистемите.
- Проверете зависимостите спрямо списъци с известни лоши издатели и премахнете подозрителни или нискокачествени пакети.
- Ограничаване на публикуването в npm разрешения за CI/CD и проверени администратори; предотвратяване на случайно изпълнение на скриптове за репликация.
- Приемете анализ на състава на софтуера (SCA), способен маркиране на спящи файлове, шаблонно именуване или кръгови мрежи от зависимости.
- Въвеждане ограничаване на скоростта и поведенческо наблюдение За голям обем заявки, помислете за CAPTCHA и по-строга проверка на акаунта.
- Укрепете тръбопровода си с SBOM-ове, закрепване на версии и изолиран CI/CD, плюс строги проверки на подписите и произхода.
Когато се комбинират, тези мерки намаляват шума в системния регистър, като същевременно улесняват откриването на злонамерено или манипулативно поведение . Те също така намаляват радиуса на взрив, ако в графа се промъкне лош пакет.
И при двата инцидента, основната причина е проста: нападателите следват стимули и слепи петна . Независимо дали става въпрос за логика на прикриване, която филтрира анализаторите от жертвите, или за автоматизирано генериране на токени, което заглушава легитимната работа, отговорът се крие в по-добра видимост, по-бързо сътрудничество и политики, които правят злоупотребата по-трудна и по-скъпа в голям мащаб.
