TL, д-р
Shai-Hulud 3.0 — гэта найноўшая версія шкоднаснага ПЗ shai-hulud npm. самараспаўсюджвальны чарвяк ланцужка паставак злоўжыванне npm-пакетамі для крадзяжу ўліковых дадзеных, аўтаматычнага распаўсюджвання і кампраметацыі CI/CD асяроддзяў. У адрозненне ад папярэдніх хваль, Shai-Hulud 3.0 удасканальвае сваю логіку распаўсюджвання, арыентуецца на папулярныя бібліятэкі фронтэнда і паскарае заражэнне праз злоўжыванне токенамі адміністратара.
У выніку, гэта шкоднаснае праграмнае забеспячэнне shai-hulud у чарговы раз даказвае, што сучасныя атакі на ланцужкі паставак npm больш не абапіраюцца на нулявога дня, а на аўтаматызацыю, злоўжыванне даверам і працоўныя працэсы распрацоўшчыкаў.
Што такое Шай-Хулуд 3.0?
Shai-Hulud 3.0 — гэта трэцяя пацверджаная хваля распаўсюджвання шкоднаснага праграмнага забеспячэння shai-hulud npm пасля першапачатковага чарвяка Shai-Hulud і маштабнай успышкі Shai-Hulud 2.0.
Аднак гэтая версія не ўводзіць радыкальна новага эксплойта. Замест гэтага яна паляпшае эфектыўнасць, скрытнасць і мэтанакіраванасць. Іншымі словамі, Shai-Hulud 3.0 аптымізуе мадэль атакі на ланцужок паставак, а не перапрацоўвае яе.
Найважнейшае, што шкоднаснае праграмнае забеспячэнне працягвае функцыянаваць як чарвяк, а не як аднаразовы шкоднасны пакет.
Чаму Shai-Hulud 3.0 важны для бяспекі npm
На першы погляд, Shai-Hulud 3.0 можа выглядаць як «чарговы шкоднасны npm-пакет». Аднак менавіта гэтае меркаванне з'яўляецца прычынай поспеху гэтай кампаніі.
Паколькі экасістэмы npm у значнай ступені залежаць ад:
- няяўны давер
- аўтаматычныя ўсталёўкі
- паўнамоцтвы адміністратара
- CI/CD pipelines
Адзін узламаны токен можа хутка перарасці ў паўнавартасную ўспышку шкоднаснага праграмнага забеспячэння npm у ланцужку паставак.
У выніку, шкоднаснае праграмнае забеспячэнне shai-hulud не патрабуе эксплойтаў. Яно ператварае звычайныя працоўныя працэсы ў зброю.
Вектар атакі Shai-Hulud 3.0: як распаўсюджваецца шкоднаснае праграмнае забеспячэнне npm
Першапачатковае заражэнне праз шкоднасны пакет npm
Шкоднаснае праграмнае забеспячэнне shai-hulud npm трапляе ў экасістэму праз траянскія пакеты, апублікаваныя пад легітымнымі або ўзламанымі акаўнтамі адміністратараў.
У хвалі Shai-Hulud 3.0 даследчыкі назіралі заражэнне праз папулярныя залежнасці, у тым ліку праз арыентаваныя на фронтэнд пакеты, такія як:
Паколькі гэтыя пакеты займаюць высокае месца ў графах залежнасцей, адна ўстаноўка хутка распаўсюджваецца на розныя праекты.
Збор пасведчанняў і распаўсюджванне чарвякоў
Пасля ўсталёўкі Shai-Hulud 3.0 выконвае шкоднасныя скрыпты жыццёвага цыклу падчас install or postinstall.
На гэтым этапе шкоднаснае праграмнае забеспячэнне:
- скануе лакальныя файлы і зменныя асяроддзя
- здабывае токены npm і ўліковыя дадзеныя GitHub
- вызначае даступныя рэпазіторыі і пакеты
Такім чынам, інфекцыя адразу пераходзіць з мясцовы кампраміс у распаўсюджванне па ўсёй экасістэме.
Аўтаматычная перавыданне ў партфелях адміністратара
Пасля збору паўнамоцтваў, шкоднаснае праграмнае забеспячэнне shai-hulud npm праграмна пералічвае ўсе пакеты, якія належаць узламанаму распрацоўшчыку.
Затым яно:
- уводзіць шкоднасны код у новыя версіі
- аўтаматычна перавыдае гэтыя версіі
- ператварае кожную ахвяру ў новую кропку распаўсюджвання
У выніку адзін скрадзены токен можа заразіць дзясяткі ці сотні npm-пакетаў на працягу некалькіх гадзін.
Шай-Хулуд 3.0 супраць папярэдніх хваль
Што змянілася ў Шай-Хулуд 3.0?
Нягледзячы на тое, што асноўныя механізмы застаюцца знаёмымі, Шай-Хулуд 3.0 уводзіць некалькі важных удасканаленняў.
Найбольш прыкметна:
- хутчэйшая логіка распаўсюджвання
- больш чыстая структура карыснай інфармацыі
- лепшае спалучэнне з легітымнымі абнаўленнямі пакетаў
- зніжаны шум у параўнанні з Шай-Хулуд 2.0
Такім чынам, выяўленне, заснаванае выключна на рэпутацыі або CVE, становіцца неэфектыўным.
| Aspect | Шай-Хулуд 2.0 | Шай-Хулуд 3.0 |
|---|---|---|
| Пачатковы вектар інфекцыі | Шкоднасныя npm-пакеты з папярэдне ўсталяванымі сцэнарыямі жыццёвага цыклу | Шкоднасныя npm-пакеты злоўжываюць даверанымі высокабачнымі бібліятэкамі і шляхамі абнаўлення |
| Асноўная мэта | экасістэма npm і CI/CD pipelines | Экасістэма npm з акцэнтам на машыны распрацоўшчыкаў і спажыўцоў |
| Механізм распаўсюджвання | Крадзеж уліковых дадзеных з наступнай аўтаматычнай перапублікацыяй пакетаў | Паўторнае выкарыстанне ўліковых дадзеных плюс злоўжыванне залежнасцямі і даверам для больш хуткага пашырэння ахопу |
| Злоўжыванне падчас выканання | Усталёўка асяроддзя выканання Bun на хаду | Паўторнае выкарыстанне існуючага асяроддзя выканання Node.js і давераных шляхоў выканання |
| CI/CD злоўжыванне | Схаваныя працоўныя працэсы дзеянняў GitHub і самастойныя рабочыя працэсы | Паменшаны CI/CD шум, большы акцэнт на схаваным выкананні на ўзроўні пакета |
| Паводзіны карыснай нагрузкі | Вялікія заблытаныя карысныя нагрузкі JavaScript і сканаванне асяроддзя | Меншыя, больш мэтанакіраваныя карысныя нагрузкі, арыентаваныя на захаванне і распаўсюджванне |
| Таргетынг паўнамоцтваў | Токены GitHub, токены npm, воблачныя ўліковыя дадзеныя, сакрэты CI | Тыя ж мэты ўліковых дадзеных, з больш хуткім паўторным выкарыстаннем і менш бачнай эксфільтрацыяй |
| Працоўны шум | Вельмі шумна: масавае стварэнне рэпазітараў, укараненне ў працоўны працэс, масавыя загрузкі | Меншы шум: менш бачных артэфактаў, якія цяжэй заўважыць пры ручным праглядзе |
| Радыус ўздзеяння | Вялікі, але выяўляецца з-за маштабу і артэфактаў | Патэнцыйна большы з-за схаванасці і злоўжывання надзейнымі пакетамі |
| Абарончы выклік | прыпынак CI/CD злоўжыванне і ўцечка ўліковых дадзеных | Выяўленне шкоднасных паводзін унутры пакетаў, якія ў цэлым з'яўляюцца законнымі |
Чаму гэта ўсё той жа чарвяк
Нягледзячы на гэтыя змены, Shai-Hulud 3.0 усё яшчэ застаецца тым жа класам чарвякоў ланцужка паставак npm..
Гэта абапіраецца на:
- паўторнае выкарыстанне ўліковых дадзеных
- аўтаматызаваная перавыданне
- залежнасць даверу
- CI/CD выкананне
Такім чынам, любое асяроддзе, якое ўсталёўвае npm-пакеты без паводніцкага кантролю, застаецца небяспечным.
Паказчыкі кампрамісу
Каманды бяспекі, якія расследуюць шкоднаснае праграмнае забеспячэнне shai-hulud, павінны звяртаць увагу на наступныя сігналы:
- нечаканыя збоі ў версіі пакета
- скрыпты жыццёвага цыклу дададзены без абгрунтавання
- заблытаныя JavaScript-блобы
- выходныя сеткавыя запыты падчас усталёўкі
- npm або GitHub токены, да якіх быў атрыманы доступ падчас усталёўкі
- CI/CD заданні паводзяць сябе нечакана пасля абнаўлення залежнасцей
Важна адзначыць, што для існавання ніводнага з іх не патрабуецца CVE.
Чаму традыцыйныя інструменты бяспекі npm? Міс Шай-Хулуд 3.0
Памылкі выяўлення на аснове CVE
Паколькі Shai-Hulud 3.0 злоўжывае легітымнымі працоўнымі працэсамі, сканеры, якія сканцэнтраваны толькі на вядомых уразлівасцях, не бачаць нічога дрэннага.
Ёсць:
- няма ўразлівай функцыі
- няма небяспечнага API
- без пашкоджання памяці
Замест гэтага ў звычайны JavaScript убудаваны злы намер.
SBOM Бачнасці недастаткова
Акрамя таго, SBOMs можа сказаць вам што ты залежыш ад, але не што ён робіць падчас усталёўкі.
У выніку, бачнасць без правапрымянення не спыняе «чарвяка» ў ланцужку паставак.
Як Xygeni прадухіляе атакі Shai-Hulud 3.0 на ланцужкі паставак npm
Менавіта тут мае значэнне архітэктура Xygeni.
Папярэджанне аб шкоднасных праграмах (MEW): Спыніце шкоднасныя праграмы npm падчас публікацыі
Ранняе папярэджанне аб шкоднасных праграмах (MEW) ад Xygeni бесперапынна скануе нядаўна апублікаваныя npm-пакеты ў рэжыме рэальнага часу.
MEW выяўляе:
- заблытаныя карысныя нагрузкі
- падазроныя сцэнарыі жыццёвага цыклу
- паводзіны пры зборы ўліковых дадзеных
- анамальныя запісы ў файлавую сістэму
- нечаканая сеткавая актыўнасць
Найважнейшае, што MEW можа аўтаматычна блакаваць зборкі, прадухіляючы пранікненне шкоднаснага ПЗ shai-hulud npm. CI/CD.
GuardrailsЗабяспечваць бяспечныя паводзіны залежнасцей
Ксігені Guardrails выконваць строгую палітыку ўнутры pipelines.
Яны:
- блакуе шкоднасныя або падазроныя npm-пакеты
- забараніць выкананне схаваных скрыптоў усталёўкі
- спыніць загрузку асяроддзя выканання падчас зборкі
- забяспечыць цэласнасць файла блакіроўкі
У выніку, pipeline спыняецца перад тым, як чарвяк выканаецца.
CI/CD Бяспека: Абарона Pipelineад злоўжыванняў
Паколькі Шай-Хулуд 3.0 часта пераходзіць у CI/CD, маніторы Xygeni pipelines для:
- несанкцыянаваныя змены ў працоўным працэсе
- анамальныя заканамернасці выканання
- злоўжыванне дазволамі
- ін'екцыя працоўнага працэсу, выкліканая залежнасцямі
Калі з'яўляецца рызыкоўная паводзіна, Xygeni блакуе pipeline неадкладна, перарываючы бакавы рух.
Сакрэты абароны: паменшыце радыус выбуху
Паколькі шкоднаснае праграмнае забеспячэнне shai-hulud агрэсіўна крадзе ўліковыя дадзеныя, Ксігені таксама засяроджваецца на сакрэтах.
Ксігені:
- выяўляе раскрытыя сакрэты па ўсім SDLC
- аўтаматычна змяняе высокарызыкоўныя ўліковыя дадзеныя
- забяспечвае больш бяспечныя практыкі токенавання
Такім чынам, нават калі шкоднаснае праграмнае забеспячэнне працуе, скрадзеныя сакрэты хутка губляюць каштоўнасць.
Чаму Шай-Хулуд 3.0 пацвярджае доўгатэрміновую тэндэнцыю
У рэшце рэшт, Шай-Хулуд 3.0 пацвярджае больш шырокую рэальнасць.
Сучасныя атакі на ланцужкі паставак npm:
- распаўсюджваецца аўтаматычна
- рухацца хутчэй, чым прагляд чалавекам
- эксплуатаваць давер, а не ўразлівасці
- мішэнь pipelineс, а не толькі код
Такім чынам, абарона ад шкоднасных праграм shai-hulud npm патрабуе паводніцкага выяўлення і прымянення мер, а не толькі сканавання.
Заключныя заўвагі: чаму Шай-Хулуд 3.0 усё яшчэ важны
Нягледзячы на тое, што Shai-Hulud 3.0 не ўводзіць новага яркага эксплойта, ён уяўляе сабой сталую, паўтаральную і маштабуемую мадэль атакі.
Іншымі словамі, гэта будзе не апошняя хваля.
Каманды, якія абапіраюцца на рэактыўную бяспеку, будуць працягваць пераследваць інфекцыі. Каманды, якія блакуюць шкоднасныя паводзіны на ранняй стадыі, цалкам спыняць чарвяка.
Вось у чым розніца.





