TL; DR
Пакеттер өздерін жояды. Тамыз айында он бес күн ішінде бір npm операторы жеті тіркелгіден тоғыз атаумен тоғыз пакет жариялап, олардың сегізін жеке өзі алып тастады. Әрқайсысының тоқтап қалу уақыты он үш сағаттан он жеті минутқа дейін қысқарды. Бұл әдіс тек олардыкі емес: мүлдем басқа пайдалы жүктемелерді тасымалдайтын байланыссыз операторлардан тағы жеті пакетті өз баспагерлері орта есеппен 37.8 минутта алып тастады. Артефакт көптеген қорғаныс процестері басталмай тұрып жойылып кетеді және орнату қазірдің өзінде аяқталған.
Тізілімде көрсетілген барлық нәрсе айналады; пайдалы жүктеме айналмайды. Тоғызының барлығы бірдей байтпен жөнелтілді bin/ каталогта, сол SHA-256 үш пакет атауы мен екі тіркелгі арқылы он бес күн аралықпен дайджест жасайды. Мазмұн сәйкестігі - бұл оператор бұзбаған жалғыз бақылау сигналы, ал олар ешқашан алып тастамаған бір пакет оның кез келгенін тексеруге мүмкіндік беретін себеп.
Оны орнатқан адамдар құрбан емес және бәрібір қатты зардап шегеді. Бұл құрал әзірлеушілерге арналмаған: ол жасырын экран түсіру, экрандағы мәтінді алу және жауаптарды қабаттасуға қайтару арқылы қашықтан емтихан бақылауын жеңеді, сондықтан кім жүгірсе де npm install нысана емес, мақсатты пайда алушы болып табылады. Олар сондай-ақ бір сағат ішінде өзін жойатын тіркелгіден браузер куки қоймасының шифрын ашатын қолтаңбаланбаған екілік файлды іске қосады. Олар түзету ала алмайды, кейінірек не іске қосқанын тексере алмайды және оны не үшін орнатқанын айтпай зиян туралы хабарлай алмайды.
Экожүйе: npm, PyPI-де де осындай үлгі байқалды. Мерзімі: 2026 жылдың маусым-тамыз айлары.
Өлшеу
Тұру уақыты - тізілімнің өз метадеректерінен есептелген пакеттің пайда болуы мен жоғалуы арасындағы аралық. Бұл бағалаулар емес, өлшемдер.
| пакет | Жарияланған (UTC) | Сол жақта тұру |
|---|---|---|
moidev | 2026-08-16 16:31 | 5с 58м |
moidevx | 2026-08-17 03:24 | 13с 23м |
moidevz | 2026-08-26 03:38 | 12с 56м |
moideva | 2026-08-26 18:58 | 1с 33м |
amicat | 2026-08-28 20:48 | 17m |
bmcat | 2026-08-28 21:17 | 47m |
eyevox | 2026-08-28 21:44 | 21m |
moidevh | 2026-08-31 03:22 | 47m |
Басылым ретімен оқыңыз, терезе қырық еседен астамға қысқарады — ең кең жерінде 13 сағат 23 минуттан ең тар жерінде 17 минутқа дейін. Алғашқы төрт пакет орта есеппен сегіз жарым сағатқа, ал соңғы төрт пакет орта есеппен отыз үш минутқа созылады. 28 тамызда үш пакет 77 минут ішінде жарияланып, алынып тасталды.
Қысқарту біртіндеп ауытқу емес. Ол 26 және 28 тамыз аралығында шоғырланған, және оператордың пакеттің қанша уақыт қауіпсіз тұра алатыны туралы болжамы өзгерген.
Мұндағы әрбір алып тастау баспагердің бастамасымен жүзеге асырылады. Әрқайсысының тізілім құжатында бос қызмет көрсетушілер тізімі көрсетілген уақыт.жарияланбаған жазба — алып тастаудың орнына жарияланбаудың қолы. Тоғызыншы пакет, eyouss, ешқашан алынып тасталған жоқ; осының кез келгенін тексеруге болатын себебі осы.
Екінші рет бас тарту режимі бар және оны осы режиммен шатастырмау керек. Тек пайдалы жүктеме нұсқасы Егер пакет тартылып, сақталса, медиана 31 пакет бойынша шамамен 73 сағатты құрайды. Бұл ауыстырғыштар сценарий бойынша дайындалған партиялармен келіп, бос қабық қалдырады — пакет.json жариялау басты ешқандай файл жібермейді — оның жалғыз функциясы - атын сақтап қалу. Бұл режим кесте бойынша үй шаруашылығын жүргізу. Бұл реттелетін экспозиция терезесі.
Жойылғаннан кейін не қалады
Осы пакеттердің тоғызы бір оператор болып табылады: моидев, moidevx, моидевз, моидева, моидевх, достық, bmcat, эйевокс және eyoussАтауларда ешқандай шарттылық жоқ — кез келген адам бақылайды моидев Stem олардың жартысынан көбін жіберіп алған болар еді — және олар жеті бөлек аккаунттан жарияланған, олардың барлығы дерлік бір реттік электрондық пошта домендерінде тіркелген.
Олар ортақ нәрсе - өмір сүруге ешқандай себепсіз манифест жазба:
"қоқыс жәшігі": { "": "bin/kalamasha-tool.js" } } Біз бесеуін алып тастамас бұрын сақтап қойдық. Бесеуінің барлығында, тұтастай алғанда қоқыс жәшігі/ каталог байттармен бірдей:
| файл | SHA-256 |
|---|---|
bin/kalamasha-tool.js | 0c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd |
bin/uia_extract.exe | e2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865 |
bin/chrome_cookies.ps1 | 21b61ec810331850d72423c40c5448e6cd310c4cfad6aed54f92cd7e7cac5f3a |
bin/stealth_capture.ps1 | c9baf5897c03b941c54f736df5af9243ad28794a9e69746d41d4f4a34065589c |
bin/uia_extract.py | c20b38c63efd9221930095c54b42cdd5adffa1972c44c4578226cbe1e4dbac3e |
bin/uia_get_text.ps1 | 4a3f3ada0bdf13aa8e89edb8af817c7816296147dae5be25f169ff960d28a87c |
Тағы екі сигнал келіседі. Пакеттердің үшеуі 17 тамыз, 26 тамыз және 31 тамызда UTC бойынша сағат 03:24, 03:38 және 03:22-де жарияланды — он бес күн және үш бөлек тіркелгі бойынша он алты минуттық диапазон. Ал сол тіркелгілердің екеуі бір реттік электрондық пошта доменінде тіркелген, оларды кодтан тәуелсіз байланыстырған.
Есептер
Бұл пайдалы жүктемені жөнелткен npm жариялаушысының тіркелгілері, әрқайсысы жүктелген пакет және оның қанша уақыт тұрғаны көрсетілген:
| Баспагердің аккаунты | пакет | Электрондық пошта домені | Сол жақта тұру |
|---|---|---|---|
letol39119 | moidev:1.0.0 | hutdot.com (бір реттік) | 5с 58м |
so1d1a7i27 | moidevx:1.0.0 | ogzmail.com (бір реттік) | 13с 23м |
lololololol435678 | eyiouss:3.0.21, 3.0.22, 4.0.1 | ogzmail.com (бір реттік) | әлі де жарияланған |
tagadob568 | moidevz:1.0.0 | ebflyai.com (бір реттік) | 12с 56м |
tayihim489 | moideva:1.0.0 | prodbits.com (бір реттік) | 1с 33м |
sahihai123 | amicat:1.0.0, bmcat:2.0.9, eyevox:1.0.0 | тұтынушы веб-поштасы | 17м / 47м / 21м |
heytoshan | moidevh:1.0.0 | тұтынушы веб-поштасы | 47m |
so1d1a7i27 және lololololol435678 бөлісу ogzmail.com тіркеу домені — тіркелгіні әлі күнге дейін жарияланған тіркелгінің тікелей көшірмесін орналастыратын сілтеме моидев сабақ екі апта бұрын. sahihai123 28 тамызда 77 минуттық бір терезе ішінде үш бөлек пакет атауын жариялап, алып тастады. хейтошан тіркелген, жарияланған моидевх, және оны 47 минуттан кейін алып тастады; бұл сол аккаунттың жалғыз жарияланымы болып қала береді.
Бұл тіркелгілердің әрқайсысы электрондық пошта арқылы тексерілмеген, тексерілген дереккөзді басқару сілтемесі жоқ және ешқандай қатысы жоқ жоба жарияламаған. Жеті тіркелгінің алтауында енді ештеңе жоқ.
Бір пакет ешқашан алынып тасталмады. eyiouss:4.0.1 16 тамыздан бері жарияланып келеді және жазылып жатқан кезде әлі де шешілуі мүмкін еді. Сегіз артефакт қалпына келтірілмеді; науқан қалған артефактіден толығымен қалпына келтірілді. Рефлексивті түрде жойған оператор ақырында біреуін қалдырады.
Құралдың қызметі
eyiouss:4.0.1 өзін npm сайтында «қазіргі заманғы веб-қосымшаларға арналған жоғары өнімді DOM утилитасы және диагностикалық көпір» деп сипаттайды. Бұл қашықтан емтихан бақылауы кезінде жұмыс істеуге арналған экранды түсіру және жауап алу құралы, және дереккөз мұны өз сөзімен айтады.
Іске қосу құрылғысы Electron жұмыс уақытын іске қоспас бұрын жалған файл атауымен көшіреді және неден аулақ болатынын атайды:
// 🛡️ ЖАСЫРЫН ЕКІЛІКТІ АТАУ: Нақты Testpad-пен соқтығыспауы керек! const STEALTH_NAME = 'SearchApp.exe';
Сол файлдың тақырыбы оны ... деп атайды Прокторға қарсы елес бақылаушысы және тезірек өлтірілген сайын шегінетін қайта бастау циклін жүзеге асырады. Басқа жерде процесс өзінің басымдығын арттырады. Процессорды реттеуді тоқтатумен күресу үшін, емтиханға өтініш фокусталған кезде оны алдыңғы жоспардан шығарады және Safe Exam Browser бала процесін тоқтатады taskkill /F /T.
Түсіру орындалу саясаты өшірілген және терезе басылған күйде шақырылған PowerShell скрипті арқылы орындалады, экрандағы мәтін Windows UI автоматизациясы арқылы параллель жиналады. Кезекке қойылған кескіндер мен мәтін ендірілген шолғыштағы тілдік модель сессиясына жіберіледі және жауап әрқашан жоғарғы жағындағы қабатта көрсетіледі. Бұл қосылым әдейі кейінге қалдырылады және код себебін көрсетеді: NETSTAT-тың тұрақты әсерінен аулақ болу үшін.
Пакет те жіберіледі chrome_cookie_ps1басқарған ХРОМ КУКИ ЭКСТРАКТОРЫ, ол DPAPI арқылы Chrome және Edge cookie файлдарын шифрдан шығарады және төрт шолғыш профилінен cookie дерекқорын оқиды. Алдын ала көрсетілгенcisely: біз жіберілген JavaScript файлынан атымен шақырылған скриптті таппадық. Қолжетімді және қолжетімді нәрсе - тұтынатын жартысы, ол сақталған сеанс cookie файлдарын ендірілген браузерге енгізеді.
Оны орнататын адамдардың лауазымы
Ешкім мұны кездейсоқ орнатпайды. Оның бақыланатын тексеруден басқа ешқандай функциясы жоқ және оның нәтижесі пайдаланушының өз экранындағы жауап қабаты болып табылады. Алдамшы пакет сипаттамасы орнатушыға мүлдем бағытталмаған — ол тізілімге және кейіннен машинаны тексеретін кез келген адамға бағытталған. Орнатушы не алып жатқанын біледі; сипаттама бар, сондықтан рекорд Орнату оны көрсетпейді.
Зардап шеккен тараптар - npm-ге ешқашан қол сұқпаған үшінші тараптар: емтихан өткізетін мекеме, басқа кандидаттар және белгілі бір мағына беретін құжаттарға сүйенетін келесі барлық адамдар.
Бірақ орнатушы қауіпсіз емес, және бұл бөлікті егжей-тегжейлі қарастырған жөн, себебі жоғалып бара жатқан пакет моделінің өзі экспозицияны тудырады.
Олар ешкімнен белгісіз екілік файлды іске қосып жатыр. uia_extract.exe жоқ тіркелгіден дереккөзі және құрастыру көзі жоқ компиляцияланған. Дәл сол файлды хэш арқылы қайта жариялады letol39119, so1d1a7i27, lololololol435678, tagadob568, tayihim489, sahihai123 және хейтошан он бес күн ішінде. Сұрайтын техникалық қызмет көрсетуші жоқ, оқитын репозиторий жоқ және тексеретін тарих жоқ — оны жіберген әрбір идентификатор өзін жойды.
Олар оған зиянды бағдарламаға қажетті мүмкіндіктерді дәл берді. Жалған атаумен жұмыс істейтін жасырын процесс, ол браузер куки қоймасын шифрдан шығарады, экранды үздіксіз оқиды, қауіпсіздік бағдарламалық жасақтамасын тоқтатады және жойылған кезде қайта пайда болады. Бүгінгі таңда куки шифрын ашу бір жеткізушінің доменіне қолданылады және пайдаланушының өз сеансына қызмет көрсетеді. Бұл ауқым бір жолдық өзгеріс болып табылады және жеткізу моделі туралы ештеңе өзгерген жағдайда оны көрсетпейді - жаңа атау, жаңа тіркелгі, жаңа жүктеу.
Олар түзету ала алмайды. Пакет бір сағат ішінде жарияланбайды. Жаңарту жолы да, ескерту де жоқ және кейінірек олар орнатқан нұсқаның досы орнатқан нұсқадан өзгеше екенін білудің ешқандай мүмкіндігі жоқ. Машинада не болса, сонда қалады.
Олар не істеп жатқанын тексере алмайды. Олардың құлыптау файлы енді шешілмейтін пакетке сілтеме жасайды. Егер олар кейінірек өз компьютерінде не болғанын анықтағысы келсе - оқиғадан немесе даудан кейін - тізілімде оларға беретін жазба болмайды.
Және олар зиян туралы хабарлай алмайды. Бұл құралдың шабуылына ұшыраған пайдаланушы оны не үшін орнатқанын айтпай, теріс пайдалану туралы есеп бере алмайды. Бұл кездейсоқ емес. Тізілімді теріс пайдалану туралы есептер қысқа мерзімді пакеттерді ұстаудың негізгі арнасы болып табылады және бұл оператордың пайдаланушы базасы оны құрылымдық тұрғыдан пайдалана алмайды. Қалған жалғыз қарсылас - автоматтандырылған сканерлеу, оған он жеті минуттық терезе калибрленеді.
Зардап шегушінің құрылымы мен күту уақыты екі рет көрінген бірдей факт. Бұл сондай-ақ уақыт шкаласындағы аномалияны түсіндіреді: егер шағымдардан қорқудан бас тартуға әкелсе, ұзақ уақыт бойы танымал болған пакет бірінші болып кетеді. Ол бірінші болып кетпейді, себебі шағымдар ешқашан келмейді.
Бірдей үлгі, басқа оператор
Бақылау операторы бұл істе жалғыз емес, және ең айқын параллель байланыссыз пайдалы жүктемеде жұмыс істейді.
24 және 27 тамыз аралығында екі факторлы аутентификация құралдарынан алынған атаулармен төрт npm пакеті пайда болды — аутентификация-отп, құпия кілт-2fa, құпия кілт2фа және 2fa-құпия кілт — олардың арасында он алты нұсқа болды. Әрқайсысы өзінің жаңа тіркелген аккаунтынан жарияланды (бейилол, jeanpaul686g, zzzalipay, длуууууу), барлығы электрондық пошта арқылы тексерілмеген, ешқайсысы расталған дереккөзді бақылау сілтемесі жоқ, басқа ештеңе жарияламаған. Әрқайсысын өз баспагері алып тастады.
Пайдалы жүктеменің емтихан бағдарламалық жасақтамасына ешқандай қатысы жоқ. Ол браузердің тіркелгі деректері дүкендерін және Discord токендерін оқиды және жаңарту токенін алу үшін Xbox Live аутентификация сатысын Minecraft іске қосу құрылғысына қарсы жылжытады. Мұнда орнатушы is жәбірленуші қарапайым мағынада — бұл салыстыруды пайдалы етеді, себебі жеткізу әрекеті қандай болса да бірдей.
Төрт цикл жариялау ретімен 274.9, 37.8, 37.6 және 35.7 минутта өтті: бір ұзақ алғашқы әрекет, содан кейін сақталған санға конвергенция. Тағы үш пакет тағы да басқа операторларға тиесілі және бірдей қайтарып алу әрекетін көрсетеді.
| пакет | Оператор | Сол жақта тұру |
|---|---|---|
octopus-action | барлау маяк | 2.5 мин |
mt-ts-serverless-starter | барлау маяк | 9.6 мин |
2fa-secretkey | 2FA мұқаба атаулары | 35.7 мин |
secretkey2fa | 2FA мұқаба атаулары | 37.6 мин |
secretkey-2fa | 2FA мұқаба атаулары | 37.8 мин |
auth-otp | 2FA мұқаба атаулары | 274.9 мин |
hex-encode-utils | басқа | 724.2 мин |
Жеті пакет, орташа есеппен 37.8 минут, олардың ешқайсысы емтихан бағдарламасына қатысты емес.
Үш байланыссыз пайдалы жүктеме, үш байланыссыз есептік жазбалар жиынтығы, бір ортақ әдіс.
Неліктен терезе жабылып жатыр
2026 жылы тізілім ортасында бір нәрсе өзгерді, және ең айқын үміткер - сканерлеу жылдамдады.
Жақында ғана зиянды пакеттер негізінен оқиғадан кейін табылды: пайдаланушы бір нәрсені байқағаннан кейін, кейінгі есеп арқылы немесе мерзімді тексеру арқылы. Анықтау кідірісі күндермен өлшенді. Бұл енді жалғыз режим емес. Жаңадан жарияланған пакеттерді нақты уақыт режимінде талдау — Xygeni компаниясының зиянды бағдарламалар туралы ерте ескертуі сала бойынша осындай жүйелердің өсіп келе жатқан жиынтығы арасында - жарияланым мен тексеру арасындағы алшақтықты әлдеқайда қысқартады.
Оператордың екі нұсқасы бар. Пайдалы жүктемені тануды қиындату немесе оны қарауға қолжетімді уақытты қысқарту. Екіншісі арзанырақ, ешқандай инженерияны қажет етпейді және тізілім механизмді тегін ұсынады: npm-нің 72 сағаттық жарияламау терезесінде баспагер пакетті біржақты түрде алып тастай алады, ал атауды кейін қайта пайдалануға болады. Алып тастау операторға ештеңеге тұрмайды.
Уақыт сәйкес келеді. Жоғарыдағы екі оператор да бір фигураға жақындайды және оны дрейфтеудің орнына ұстайды, бұл реттелген параметр ыңғайлылық мәселесі емес, дәл осылай көрінеді. Ал олар жақындаған параметр — ондаған минут — алдын ала орнатылғанcisол автоматтандырылған тексеруден өту үшін тұруы керек, сонымен бірге пакетті аудиторияға жету үшін жеткілікті уақытқа орнатуға болатындай етіп қалдыруы керек.
Бұл гипотеза болып қала береді. Уақыт деректері сканерлеуге жауапты тізілімді орындауға жауапты немесе операторлар бір-бірінен үйренетіндіктен, қарапайым операциялық жетілуден бөле алмайды. Қорытындысыз не айтуға болатыны тарырақ және пайдалы: Экспозиция терезесі енді жарияланғаннан кейін пакетті тексеруге байланысты кез келген басқару элементі оператор орнатқан уақытпен жүгіретіндей қысқа. Тексеруге тәуелді емес басқару элементтеріне — жасы бойынша карантинге, орнату сценарийлерінің өшірілуіне — сол нәсіл әсер етпейді, бұл оларды таңдаудың практикалық себебі.
Бұл туралы не істеу керек
Жасына байланысты карантин. Тұру уақыты кестесіндегі ештеңе он үш сағаттан кейін де сақталмады. Тәуелділік нұсқасы 72 сағат бойы болғанға дейін орнатылмайды деген саясат ештеңе анықтамай, олардың барлығын алып тастар еді.
Әдепкі бойынша орнату сценарийлерін өшіріңіз. –ескерту-скрипттері осы корпустағы тіркелгі деректерін ұрлайтын пакеттер тәуелді жеткізу механизмін жояды. Бұл пайдаланушы әдейі іске қосатын құралға қарсы көмектеспейді, бұл алдын ала жасалған.cisтүсінуге тұрарлық айырмашылық бар.
Жоғалып кетуді қауіпсіздік оқиғасы ретінде қарастырыңыз. Орнатылған тәуелділік шешілуін тоқтатқан кезде ескерту. Дәлелдер әлі де тізілімде емес, сіздің құлыптау файлыңызда сақталады.
Атауларды емес, мазмұнды бақылаңыз. Жоғарыдағы алты дайджест пакет атауына, жариялаушы тіркелгісіне немесе нұсқа жолына қарамастан сәйкес келеді — бұл оператор көрсеткен әрбір өріс өзгертіледі. Жаңадан тіркелген тіркелгінің бір сағат ішінде жалғыз пакетін алып тастауы туралы тізілім жағындағы ереже есеп беруге болатын үлгі болып табылады, бұл тек метадеректер бойынша ғана әрбір пакетке әсер еткен болар еді.
Егер сіз осы санаттағы нәрсені орнатуды қарастырып жатсаңыз: Тізілімнің анықталуын қиындататын қасиеттер - бұл сізді ешқандай шешімсіз қалдыратын қасиеттер. Жауапты баспагер жоқ, жаңарту жолы жоқ және сіз іске қосқан нәрсе туралы жазба жоқ.
Индикаторлар
| түрі | құн |
|---|---|
| файл | bin/kalamasha-tool.js — емесstandard қоқыс жәшігіне кіру нүктесі |
| SHA-256 | 0c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd |
| SHA-256 | e2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865 |
| процесс | SearchApp.exe заңды Electron жұмыс уақытының жанында жазылған |
| Мінез-құлық | powershell -ExecutionPolicy Bypass -File бірге windowsHide: true |
| Мінез-құлық | taskkill /F /T Қауіпсіз емтихан шолғышы процесін нысанаға алу |
| Метадеректер | Бос қызмет көрсетушілер тізімінің жанында time.unpublished рекорд |
| Есеп | letol39119, so1d1a7i27, lololololol435678, tagadob568, tayihim489, sahihai123, heytoshan |
| тіркеу | ogzmail.com, hutdot.com, ebflyai.com, prodbits.com — бір реттік пошта домендері |
Әдебиеттер тізімі
- npm жарияламау саясаты — баспагер пакетті араласусыз алып тастай алатын 72 сағаттық мерзім.







