- Нападач је компромитовао npm налог главног одржаваоца Axios-а и објавио верзије 1.14.1 и 0.30.4 са фантомском зависношћу, plain-crypto-js, која је током инсталације распоредила RAT за више платформи.
- Злонамерни софтвер је контактирао C2 сервер (sfrclak[.]com) и преузимао специфичне корисне садржаје за Windows, macOS и Linux, вршећи извиђање система, одржавајући периодичне сигнале и, у неким случајевима, успостављајући перзистентност.
- Напад, који Гугл и други истраживачи приписују севернокорејском актеру UNC1069, комбиновао је временски оквир изложености од око три сата са софистицираном кампањом социјалног инжењеринга против одржаваоца како би се украли њихови акредитиви.
- Организације које су биле у могућности да инсталирају погођене верзије морају се обавезати да предузму мере, траже RAT артефакте, ротирају акредитиве, закаче безбедне верзије Axios-а и ојачају свој ланац снабдевања, CI/CD и контроле управљања зависностима.
Заједница програмера Јаваскрипта је управо доживела један од оних страхова који вас терају да преиспитате колико верујете својим зависностима, као што је показано случајеви квара библиотеке. Аксиос, једна од најшире коришћених HTTP библиотека у екосистему, манипулисана је у npm-у да би дистрибуирала тројанца за удаљени приступ (RAT). кроз наизглед легитимне верзије. Инцидент је трајао само неколико сати, али је јасно показао да ланац снабдевања софтвером виси на много тањој нити него што су многи мислили.
Озбиљан проблем није само то што су нападачи успели да убаце злонамерни софтвер у пакет који се преузима десетине или стотине милиона пута недељно. Прави проблем је што су то урадили отимањем npm налога главног одржаваоца, објављивањем „званичних“ верзија које су изгледале нормално и нису дотакле ниједну линију изворног кода Axios-а.Све злонамерно понашање налазило се у фантомској зависности посебно дизајнираној за напад.
Како је дошло до Аксиосове посвећености новом систему управљања производима (npm)
Да бисмо разумели величину инцидента, потребно је почети са улазним вектором. Нападач је успео да преузме контролу над npm налогом „jasonsaayman“, главне особе одговорне за Axios, и променио је повезану имејл адресу у адресу под својом контролом.хостовано на Proton Mail-у. Од тог тренутка, имао је слободу да објављује нове верзије пакета као да је сам одржавалац.
Са тим акредитивима, Поставио је две злонамерне верзије Аксиоса: 1.14.1 и 0.30.4обухватајући обе главне гране пројекта. Издања су направљена у размаку од само 39 минута и, према анализи компаније StepSecurity, направљена су директно из npm-а коришћењем класичног дуготрајног токена, потпуно заобилазећи уобичајени CI/CD цевовод заснован на GitHub Actions.
Осамнаест сати пре последњег ударца, Глумац је већ објавио „чисту“ верзију везану за злонамерну зависност од npm регистраОвај прелиминарни корак је служио за генерисање историје и спречавање покретања неких аутоматских контрола када се у тренутку напада појави потпуно нови пакет.
Оно што упада у очи је то Нападачи нису изменили изворни код Axios-а нити су увели било какве видљиве измене у GitHub репозиторијуму.У ствари, верзије 1.14.1 и 0.30.4 нису имале одговарајуће commit-ове или ознаке на GitHub-у; постојале су само на npm-у. Суштинска разлика је била у објављеној датотеци зависности пакета.
Под нормалним условима, Axios декларише само три зависности: follow-redirects, form-data и proxy-from-env.Међутим, у компромитованим верзијама појавила се четврта зависност, која није постојала у пројекту до тог тренутка: plain-crypto-js у својој верзији 4.2.1. Ова фантомска библиотека није коришћена нигде у Axios коду, али је укључивала постинсталациони скрипт који се аутоматски покреће приликом инсталирања пакета помоћу npm, pnpm или сличних алата.
plain-crypto-js: фантомска зависност коју је применио RAT
Кључ напада је лежао у тој додатној зависности. plain-crypto-js је објављен на npm-у од стране корисника под именом „nrwise“, такође са Proton Mail имејл адресом, а његова једина сврха је била покретање замаскиране пост-инсталационе скрипте у Node.js-у (setup.js)Тај скрипт је деловао као дроппер, односно као почетни инсталатер друге фазе злонамерног софтвера.
Инсталирањем Axios-а у једној од његових оштећених верзија, npm-ов постинсталациони животни циклус је аутоматски покренуо plain-crypto-js код без потребе да програмер ради било шта посебно.Дроппер се повезао са командним и контролним (C2) сервером активним у sfrclakcom домену, слушајући на порту 8000, и преузео је корисни терет специфичан за оперативни систем погођене машине; ово понашање се може идентификовати по анализа мрежног саобраћаја.
Истраживачи из StepSecurity-ја и других аналитичких тимова описују веома пажљиво понашање. Након извршавања злонамерног корисног оптерећења, дропер је уклонио сопствене трагове: обрисао је постинсталациону скрипту, заменио package.json „чистом“ верзијом и оставио датотеку node_modules која је, на први поглед, деловала безопасно.Стога, накнадна ручна инспекција није пронашла злонамерни код директно унутар Аксиоса.
Да би се идентификовала неовлашћена манипулација, Једини поуздан траг био је у закључаним датотекама (package-lock.json, pnpm-lock.yaml, yarn.lock) и у присуству специфичних верзија: axios 1.14.1 или 0.30.4 и plain-crypto-js 4.2.1, поред две верзије тог пакета са међунумерацијом (4.2.0, 4.2.2) повезане у неким анализама. Socket је, са своје стране, касније открио да је исти злонамерни софтвер дистрибуиран и кроз пакете @shadanai/openclaw (разне верзије 2026.3.xx) и @qqbrowser/openclaw-qbot (0.0.130), и технике као што су медени саксији у безбедности Такође могу помоћи у идентификацији сличних кампања.
Вишеплатформски RAT: Windows, macOS и Linux у центру пажње
Једном извршен, Скрипта setup.js је деловала као оркестратор способан да детектује оперативни систем и прати путању напада специфичну за платформу.Кампања је очигледно била унапред припремљена: према StepSecurity-ју, нападачи су унапред саставили три одвојена корисна терета, по један за сваки систем.
На macOS системима, Процес након инсталације покренуо је AppleScript који је преузео тројанизовани бинарни фајл са сервера sfrclakcom:8000Ова бинарна датотека је сачувана у путањи /Library/Caches/com.apple.act.mond, њене дозволе су подешене да би била извршна, и на крају је покренута у позадини користећи /bin/zsh. Када је RAT покренут, сам AppleScript је обрисан да би се додатно закомпликовала форензичка анализа.
На Windows машинама, Злонамерни софтвер је лоцирао бинарни PowerShell систем, копирао га у %PROGRAMDATA%\wt.exe да би га прикрио као Windows терминал и генерисао привремени VBScript скрипт.Овај VBScript је поново контактирао C2 сервер да би преузео додатни PowerShell RAT скрипт, извршио га, а затим обрисао преузету датотеку. Штавише, Windows варијанта је креирала датотеку %PROGRAMDATA%\system.bat са рутином преузимања која је омогућавала преузимање злонамерног софтвера при сваком пријављивању и додавала је кључ за извршење у Windows регистар како би се осигурала постојаност.
На Линуксу и другим Јуникс-сличним системима, осим macOS-а, Дропер је користио Node.js-ов execSync да покрене команду шелла која је преузела Пајтон скрипту са sfrclakcom, сачувала је као /tmp/ld.py и извршила је са nohup-ом да би је наставила да ради у позадини.За разлику од Windows-а, ова варијанта није показала консолидовани механизам перзистенције, што указује на фокусиранији приступ брзом извлачењу података или повремено распоређивање перзистенције путем накнадних команди.
SafeDep и Elastic Security Labs су анализирали оптерећења другог нивоа и закључили да RAT-ови за macOS (C++ Mach-O бинарни фајл) и Linux (Python скрипта) су делили исти скуп команди, C2 протокол, формат поруке и оперативно понашање.Ова врста анализе често се ослања на сервисе скенирања као што су ВирусТотал, што олакшава корелацију узорака и МОК-а.
У сваком случају, Сваки угрожени хост је извршио тренутно извиђање система: корисничке директоријуме, корене дискова, активне процесе и друге метаподатке.Ове информације су послате на командни и контролни сервер, а агент је одржавао петљу сигнала од око 60 секунди, чекајући нове инструкције, укључујући извршавање додатних скрипти или убризгавање бинарних датотека у меморију.
Период изложености, циљеви и приписивање Северној Кореји
Злонамерне верзије Аксиоса биле су доступне на npm-у отприлике три сата, током пажљиво одабраног временског периода. Компромитовани пакети су објављени непосредно пре поноћи у недељу (у време које је максимизирало време реакције бранилаца), а инцидент је стављен под контролу до раног понедељка ујутру., након што су безбедносне компаније упозориле власти на аномално понашање.
Током тог релативно кратког интервала, Хантрес је открио најмање 135 система који су се повезали са сервером нападача.С обзиром на то да Аксиос бележи више од 80-100 милиона недељних преузимања (према различитим изворима, чак и више од 300 милиона у неким периодима), тај број вероватно представља само врх леденог брега, ограничен на системе који доспевају на радар аналитичких фирми које су објавиле своје податке.
Гугл, преко свог тима за обавештајне податке о претњама, Он је напад приписао осумњиченом севернокорејском глумцу са ознаком UNC1069.Еластиц Сецурити Лабс је потврдио ову хипотезу проналажењем велике сличности између РАТ-а испорученог у macOS-у и ВАВЕСХАПЕР-а, Ц++ бекдора који је открио Мандиант и који је такође повезан са истом групом претњи.
Аналитичари компаније Google су нагласили да Групе повезане са Северном Корејом годинама су се специјализовале за нападе на ланце снабдевања и операције крађе криптовалута.Образац одговара: угрожавање развојних инфраструктура, широко коришћених библиотека или поузданог софтвера како би се латерално померило ка циљевима где се управља економском имовином, приватним кључевима или високовредним акредитивима.
Неколико извештаја је такође истакнуло да Уздржаност и дизајн напада остављали су утисак добро координираног тима.Три паралелне имплементације истог RAT-а (PowerShell, C++ и Python), конзистентан C2 протокол, готово идентично понашање у свим варијантама и јасна стратегија самочишћења како би се избегло остављање трагова. Elastic је нагласио да ова конзистентност указује на једног програмера или групу која ради на заједничком дизајнерском документу, далеко од импровизације.
Поред чисто техничког аспекта, једна од најузбудљивијих тачака случаја је како је главни одржаватељ отет са npm налога. Шеф компаније Аксиос је касније објаснио да је имао омогућену двофакторску аутентификацију на скоро свим својим сервисима Ипак, на крају је одобрио приступ, а да тога није ни био свестан.
Према анализи након смрти коју је поделио тим, Нападачи су спровели веома сложену операцију социјалног инжењеринга, уз подршку алата заснованих на вештачкој интелигенцији, како би стекли њихово поверење.Лажно су се представљали као оснивач компаније, копирајући њен визуелни идентитет, фотографију, па чак и корпоративни бренд. Направили су прави Slack простор са логотипом компаније, каналима са објавама наводно синхронизованим са LinkedIn-ом, па чак и лажним профилима запослених и других одржавалаца софтвера отвореног кода.
Унутар тог окружења, Заказали су састанак путем Microsoft Teams-а на којем је, чини се, учествовала читава група професионалаца.Током састанка, симулирали су технички проблем и указали на то да има застарелу компоненту свог система. Техничар за одржавање, претпостављајући да је то легитиман захтев везан за сам алат за видео конференције, преузео је и инсталирао предложену датотеку.
Тај фајл је, у стварности, био Тројански кон за удаљени приступ омогућио је нападачима да се окрену ка њиховим акредитивима и на крају преузму контролу над npm налогом који се користи за објављивање Axios-а.Читав процес је био тако добро оркестриран, са толико уверљивих детаља, да га је жртва описала као „савршено координисан, професионалан и потпуно убедљив“.
Ова људска компонента инцидента јасно показује да Чак ни техничке мере попут 2FA нису довољне када се друштвени инжењеринг високог нивоа комбинује са визуелном имитацијом, дипфејковима или детаљним клонирањем организација.Најслабија карика је, још једном, људска интеракција.
Утицај на организације и програмере који користе Axios
Са практичне тачке гледишта, главни проблем је утврђивање ко је заправо погођен. Cualquier organización que haya instalado [емаил заштићен] o [емаил заштићен] durante la ventana en la que estuvieron disponibles debe partir de la premisa de que la máquina o el pipeline que realizó la instalación puede estar comprometido.
Препоруке фирми као што су StepSecurity, Aikido, Huntress или Elastic су убедљиве. У случају сумње, мора се преузети обавеза, а не само „обрисати и поново инсталирати node_modules“Разумно је поново изградити погођене машине или окружења из поузданих слика и пажљиво прегледати CI/CD логове како би се идентификовали који послови или цевоводи су можда покренули манипулисане верзије.
Поред тога, Кључно је ротирати све акредитиве и тајне податке којима је RAT можда приступио са тих чворова.npm токени, кључеви добављача облака, тајне цевовода, акредитиви базе података, SSH кључеви итд. Остављање ових акредитива у оптицају након таквог напада оставља врата отворена за тихо латерално кретање.
На техничком нивоу, Тимови би требало да прегледају своје датотеке закључавања (package-lock.json, pnpm-lock.yaml, yarn.lock) за референце на компромитоване верзије Axios-а и plain-crypto-js-а.Ако се појаве ове ставке, следећи корак је провера могућих RAT артефаката на погођеним системима: /Library/Caches/com.apple.act.mond на macOS-у, %PROGRAMDATA%\wt.exe и %PROGRAMDATA%\system.bat на Windows-у или /tmp/ld.py на Linux-у.
Паралелно, Препоручује се експлицитно подешавање безбедних верзија Axios-а, као што су 1.14.0 и 0.30.3, и коришћење механизама за превазилажење или решавање како би се спречило да транзитивне зависности решавају нежељене верзије.Блокирање одлазног саобраћаја ка домену sfrclakcom је такође разумна мера обуздавања, барем док се анализира пуни обим напада.
Лекције о безбедности за ланац снабдевања софтвером
Инцидент са Axios-ом није изолован догађај, већ још једна карика у ланцу напада на ланац снабдевања који укључује случајеве као што су SolarWinds, Kaseya, 3CX, Polyfill.io или рањивости искоришћене у Log4j-у. Основна идеја је увек иста: компромитовати широко коришћену, поуздану опрему како би се максимизирао досег, уместо да покушавају да нападају машину по машину.
Једна од лекција коју стручњаци најчешће понављају јесте да Поверење не може почивати искључиво на популарности књижаре или репутацији одржаваоцаАко је канал за имплементацију (npm налог, CI/CD цевовод, инфраструктура за изградњу) угрожен, све што је имплементирано кроз њега наслеђује тај ризик. Ручни преглед кода такође није довољан ако се злонамерни софтвер крије у транзитивним зависностима и брише се након извршавања.
Такође је истакнуто да „Подразумевана брзина“ у ажурирањима зависности долази са ценом у површини нападаАутоматско усвајање најновије верзије је невероватно згодно, али отвара врата за ширење злонамерних ажурирања за неколико минута. Неке организације већ разматрају политике као што је захтев да нова верзија буде у екосистему одређени период пре усвајања или захтев да се измене критичних пакета подвргну додатном ручном прегледу.
Што се тиче развојне инфраструктуре, CI/CD окружења треба третирати као веома осетљиву имовинуБило који RAT који се покреће током инсталације зависности ће готово сигурно тражити тајне податке цевовода и приступ другим окружењима. Сегментирање ових чворова, њихово пажљивије праћење и периодично ротирање њихових тајни више није само „идеална“ препорука, већ нужност.
Коначно, Детекција ових врста напада захтева комбиновање информација из више извора: инсталираних верзија, закључаних датотека, индикатора компромитовања у оперативном систему и мрежне телеметрије.Алати који генеришу и управљају SBOM-овима (софтверским билбордом материјала) помажу у брзом праћењу који пројекти користе које пакете, што је нешто што је од виталног значаја када се појаве масовна упозорења попут овог.
Читава ова епизода са Аксиосом илуструје у којој мери екосистем зависности, колико год зрео и консолидован изгледао, и даље у великој мери зависи од поверења и сталне будности. Наизглед безопасна библиотека, коју одржава једна особа која је жртва паметног маневра социјалног инжењеринга, може за неколико сати постати глобални вектор за примену крос-платформских RAT-ова у компанијама, фриленсерима и организацијама свих величина.Јачање контрола око објављивања налога, цевовода и критичних зависности више није опционална добра пракса, већ услов за континуирани развој у окружењу где су нападачи све стрпљивији, домишљатији и имају боље алате.

