TL; DR
አንድ የnpm ኦፕሬተር እንደ “TypeScript” ያሉ የሐሰት “utility” ፓኬጆችን ለስድስት ሳምንታት አሳትሟል። ts-form-utils, ts-project-lint, እና ts-enum-helper.
ፓኬጆቹ ትናንሽ ህጋዊ የሚመስሉ የማረጋገጫ ረዳቶችን ሲያጋልጡ፣ ትክክለኛው የክፍያ ጭነት በተጫነበት ወይም መጀመሪያ ላይ የአስተናጋጅ አሻራ፣ የጂትሃብ ድርጅት ግኝት፣ የማከማቻ ክሎኒንግ እና የምንጭ ኮድ ማጣሪያን ይጠይቃል እና ያከናውናል።
ማልዌር በተለይ ከፍተኛ ዋጋ ያላቸውን የጂቲኤችቲ ድርጅቶችን ኢላማ ያደርጋል፣ ከእነዚህም ውስጥ በርካታ Shopify ማከማቻዎችን፣ ከዚያም ሊደረስባቸው የሚችሉ የምንጭ ዛፎችን ወደ ማዕከላዊ የመሰብሰቢያ መጨረሻ ያስቀምጣል እና ያወጣል።
እንደ ስምምነት የስራ ፍሰት አካል፣ የክፍያ ጫናው commitየጉግልን የራስ-ሰር የኮድ ማንነት በማስመሰል ፋይሉን ወደ ተጎጂ ማከማቻዎች ይመልሱ google-labs-jules[bot].
ዘመቻውን ተከታትለናል — የተሰየመው ጁልስጃከር — በበርካታ የአታሚ ስኮፖች እና ቢያንስ አምስት የክፍያ ጭነት ትውልዶች፣ የተመሰጠሩ እና የአሸዋ ሳጥን-ተኮር ልዩነቶችን ጨምሮ።
አዲሱ ስሪት በተለይ የማልዌር-ትንተና መሠረተ ልማትን ያነጣጠረ ነው፡- በትንታኔ አካባቢዎች ውስጥ ብቻ ነው የሚያንቀሳቅሰው፣ የደመና ሜታዳታ አገልግሎት-መለያ ቶከኖችን ይሰርቃል፣ እና የኩበርኔትስ የቁጥጥር አውሮፕላኖችን እና የደመና ማከማቻ ባልዲዎችን ይመረምራል።
በሁሉም የክፍያ ጭነት ትውልዶች ውስጥ የሚጋራው ዋናው የ IOC ስብስብ የመጨረሻ ነጥብ ነው aaronstack[.]com/jules-collect.
ከባድነት፡ ወሳኝ።
ጥቃቱ፡ እንዴት እንደሚሰራ
እያንዳንዱ የጁልስጃከር ጥቅል ተመሳሳይ አብነት ይከተላል። package.json የMIT ፈቃድ ያለው እና የተገናኘ የምንጭ ማከማቻ የሌለውን ጤናማ የTypeScript አጋዥ ያስተዋውቃል። index.js ጥቂት እውነተኛ፣ የሚሰሩ ተግባራትን - የኢሜይል ሬጅክስ፣ የኢነም ካርታዎች፣ የሊንት ደንብ ሰንጠረዦች - ወደ ውጭ ይልካል፣ ስለዚህ ፓኬጁን የሚያስመጣ ገንቢ አሳማኝ ባህሪ እንዲያይ ያደርጋል። ክፋት በሌላ ቦታ ይኖራል፡ በ ድህረ-ጭነት መንጠቆ፣ ወይም ከታች ባለው ብሎክ ውስጥ index.js ሞጁሉ በሚያስፈልግበት ቅጽበት የሚያከናውነው።
የክፍያ ጭነቶች በግልጽ በተቆጠሩ ውስጣዊ ደረጃዎች ተሻሽለዋል (ኦፕሬተሩ የራሱን የቴሌሜትሪ ክስተቶች ይሰይማል) sc1-, sc3-, sc4-ወዘተ)፣ እና ያንን ዝግመተ ለውጥ መመልከት ዘመቻውን ለመረዳት በጣም ግልፅ መንገድ ነው።
ትውልድ 1–2፡ የስለላ እና የጂት-ውቅር ስርቆት
የመጀመሪያዎቹ ፓኬጆች ቀጥተኛ የመረጃ ተንኮለኞች ነበሩ። ሲጫኑ የአካባቢ ተለዋዋጮችን፣ የጂትሆብ CLI ፋይሉን እና ዓለም አቀፍ የጂት ውቅርን ይሰበስቡ ነበር (git config –global –list, git remote -v) ከዚያም ጥቅሉን ወደ ስብስቡ የመጨረሻ ነጥብ ለጥፏል። ይህም የኦፕሬተሩን ፊርማ አስፍሯል፡- “የTypeScript ቅጽ ማረጋገጫ መገልገያዎች” የሽፋን ታሪክ፣ ወደ አንድ ጎራ የሚወጣ የምልክት ምልክት እና የሸማች ውሂብን ሳይሆን የገንቢ ምስክርነቶችን የመፈለግ ፍላጎት።
ትውልድ 3፡ ሃይፐርቪዘር እና የከርነል ማምለጫ መመርመሪያዎች
አንድ የዘመቻ አጋማሽ ስሪት ወደ መሠረተ ልማት ጥቃቶች ዘልቋል። ውቅርን ከመስረቅ ይልቅ የሪኮን ማሰሪያ ምርመራ አካሂዷል AF_VSOCK ሶኬቶች፣ የቨርቲዮ MMIO ክልሎች፣ /dev/memእና የከርነል ማጠንከሪያ ባንዲራዎች፣ እና በሲስአርኪው የተፈጠሩ የከርነል ብልሽቶችን እንኳን ሞክረዋል - ከቨርቹዋል ማሽን ወይም ኮንቴይነር ለመውጣት ከሚደረጉ ሙከራዎች ጋር የተያያዘ ባህሪ። የቴሌሜትሪ መለያዎች (s0-vmm-recon, s1-vmm-vsock-fuzz, s2-vmm-mmio, s3-ከርነል-ፕሮብ) ዓላማውን ግልጽ አድርጓል። ይህ ልዩነት በግልጽ የታለመው ለ የደመና-ማጠሪያ እና የአገልጋይ-ሯጭ አካባቢዎች — የማይታመን ኮድ የሚገነባ እና የሚፈትሽ ጊዜያዊ VM አይነት።
ትውልድ 3 (SC3): የመስቀል-ሪፖ የመፃፍ ትል
የዘመቻው የስበት ማዕከል ራሱን የሚያሰራጭ የሪፖ ሌባ ሆነ። ሲጫን፣ የክፍያ ጭነቱ አምስት ደረጃዎች ያሉት የጊዜ ቅደም ተከተል ያካሂዳል፡
- መድረክ 0 (~100 ms): የጣት አሻራ የአስተናጋጁ — የአስተናጋጅ ስም፣ የተጠቃሚ መረጃ፣ የጂት ማንነት።
- መድረክ 1 (~3 ሰ): ተጎጂው የትኛው ድርጅት እንደሆነ በመመርመር መወሰን git remote -vከዚያ ጠንካራ ኮድ ያለው ይፈልጉ ORG_CONFIG የጠረጴዛ እና የሙከራ ማከማቻ መዳረሻ ከ ጋር git ls-remote — በአጥቂ ቁጥጥር በሚደረግበት የSSRF ፕሮክሲ በኩል የተዘዋወረ http://git@192.168.0.1:8080.
- መድረክ 2 (~10 ሰከንድ): git ግላኮ በዒላማው ዝርዝር ውስጥ ያሉ እያንዳንዱ ሊደረስባቸው የሚችሉ ማከማቻዎች፣ ታርቦል እና ጂዚፕ ዛፉን፣ ቤዝ64-ኢንኮድ ያድርጉት፣ እና ክላንክ-ኢንፍሉት ያድርጉት።
- መድረክ 3 (~45 ሰከንድ): "የመዳረሻ ማረጋገጫ" - ሊጻፍ የሚችል ማከማቻ ገልብጥ፣ SECURITY-POC.md የሚባል ፋይል ጣል፣ እና commit ደራሲው ወደ google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> እና የመልእክት ስራውን፡ የጥገኝነት መሸጎጫ ያዘምኑ፣ ከዚያም ወደ ተጎጂው ዋና መስመር ቅርንጫፍ ይግፉ።
ጠንካራ ኮድ የተደረገለት የዒላማ ዝርዝር አጠቃላይ አይደለም። ከሰላሳ በላይ ይዘረዝራል። Shopify ማከማቻዎች በስም — ሱቅ/ሱቅፊፍ, Shopify/ማንነት, ሱቅ/ሂሳብ አከፋፈል, ሱቅ/ማከማቻ ቦታ, Shopify/ምስጢሮች, ሱቅ/መሠረተ ልማት, Shopify/.githubእና ሌሎችም ብዙ - ከሙከራ ድርጅት ጎን ለጎን፣ አሮንስታክባርንስኦፕሬተሩ የሚቆጣጠረው እና እንደ የመፃፍ ኢላማ የሚጠቀምበት ይመስላል።
ትውልድ 4 (SC4): የተመሰጠረ እና የተዘጋ
አዲሱ የገንቢ ፊት ያለው ስሪት በSC3 ትል ላይ ሁለት የማምለጫ ንብርብሮችን ይጨምራል።
በመጀመሪያ፣ የክፍያው ጭነት እንደ ተራ ጽሑፍ አይላክም። ትክክለኛው አመክንዮ በAES-256-CBC-encrypted ብሎብ ውስጥ ይቀመጣል፣ lib/.perf.dat, በመጀመሪያዎቹ አስራ ስድስት ባይቶች ውስጥ IV ያለው። ጫኚው በ index.js ከተጣመሩ የክር ቁርጥራጮች የተወሰደውን የዲክሪፕት ቁልፉን እንደገና ይገነባል፣ ብሎቡን ይፈታዋል እና በሚከተለው ያስኬደዋል አዲስ ተግባር()የሞጁሉ ስሞች እንኳን የማይንቀሳቀሱ ስካነሮችን ለማምለጥ ተከፍለዋል — ያስፈልጋል('crypt' + 'o'), ያስፈልጋል('f' + 's').
ሁለተኛ፣ በአስተናጋጅ በር የተዘጋ ነው። አንድ ስሪት ዲክሪፕት የሚያደርግ እና የሚሰራው መቼ እንደሆነ ብቻ ነው። የ os.hostname() እኩል ናቸው ዴቭቦክስ or ubuntu-fc-uvm (የFirecracker ማይክሮቪኤም ነባሪ) ወይም ንዑስ ሕብረቁምፊውን ይዟል ዴቭቦክስሌላ በሮች በመገኘት ላይ .ጁልስ/ የስራ ማውጫ፡
በሌላ አነጋገር፣ የSC4 የክፍያ ጭነት የተነደፈው በተለመደው የገንቢ ላፕቶፕ ላይ እንቅልፍ እንዲተኛ እና በራስ-ሰር በ AI-ወኪል ውስጥ ብቻ እንዲነቃ እና ማጠሪያ አከባቢዎች ኦፕሬተሩ በእውነቱ ስምምነት ማድረግ ይፈልጋል።
ላብራቶሪውን ማብራት፡ የትንታኔ-መሠረተ ልማት ልዩነት
በዘመቻው ውስጥ በጣም አዲስ የሆነው ጥቅል፣ ts-enum-helper, ገንቢዎችን ወይም Shopifyን በፍፁም አያጠቃም። postinstall.sh ጨዋታውን በሚሰጥ በር ይከፈታል፡
ስክሪፕቱ ለማልዌር-ትንተና መድረክ የተለየ የአካባቢ ተለዋዋጭ ካልተዋቀረ በስተቀር ምንም አያደርግም። ሲከሰት፣ የክፍያ ጭነቱ ልክ እንደዚህኛው አይነት ፓኬጆችን ለማፈንዳት እና ለማጥናት ባለው የአሸዋ ሳጥን ውስጥ እየሰራ መሆኑን ያውቃል - እና ያጠቃል።
መጀመሪያ የGCP አገልግሎት-አካውንት OAuth ቶከንን ከኢንስታንት ሜታዳታ አገልጋይ አውጥቶ ያወጣዋል። ከዚያም፣ ያንን ቶከን በመጠቀም፣ ጠራርጎ ያወጣዋል። የኩበርኔትስ መቆጣጠሪያ አውሮፕላን ሊደረስበት የሚችል በ kubernetes.default.svc:
- የክላስተርሮልቢንዲንግስ፣ የክላስተርሮሎች እና ኖዶችን ይዘረዝራል፤
- ፖዶችን፣ ምስጢሮችን እና ውቅሮችን በተለያዩ ቦታዎች ይመረምራል የኩቤ-ስርዓት, ነባሪ, kube-public, kube-node-leaseእና የትንታኔው የስም ቦታ፤
- ችግሮች SelfSubjectAccessReview የተሰረቀው ማንነት ምን ማድረግ እንዳለበት በትክክል ለማቀድ ጥሪዎችን ያደርጋል።
በመጨረሻም፣ ከጠንካራ ኮድ ከተሰራ የጂሲፒ ፕሮጀክት መታወቂያ (GCP) የተገነቡ የGoogle Cloud Storage ባልዲ ስሞችን ያስገድዳልብርቅዬ-ሲግነር-437603-p9) እና የፕሮጀክት ቁጥር፣ እንደ *-ግንባታዎች, *-ቅርሶች፣ እና ብዙዎች ማሊሲስ- ቅድመ ቅጥያዎች (የማጅራት ገትር በሽታ ውጤቶች, ማሊሲስ-ጥቅሎች, ማሊሲስ-ስካኖች) እያንዳንዱ የምላሽ ኮድ እና አካል ተመዝግቦ ወደ ተመሳሳይ ሁኔታ ይመለሳል ጁልስ-ኮልክ መጨረሻ ነጥብ.
ይህ በተለይ የተከላካዮችን የራሳቸውን መሠረተ ልማት ለማጥቃት የተገነባ የአቅርቦት ሰንሰለት የክፍያ ጭነት ያልተለመደ ጉዳይ ነው። በመላው ዘመቻው ውስጥ ያለው የሽፋን ታሪክ -- በክፍያ ጭነቶች ውስጥ የሚታዩት ክፍሎች እንደ “የደህንነት ምርምር PoC… ከመጠን በላይ የተቀረጸ የጂት ፕሮክሲ ቶከን” ባህሪን የሚቀርጹ አስተያየቶች -- ተመሳሳይ የራስ ማረጋገጫ ነው፣ የሩጫ ጊዜ ኢላማው የShopify ሞኖሬፖ ወይም የትንታኔ ክላስተር ሜታዳታ አገልጋይ ይሁን።
የጊዜ መስመር እና የወሰን ፍልሰት
ጁልስጃከር አንድ ጊዜ ብቻ የሚተኩስ አይደለም። ስሙን በመቀየር ብቻ የመዝገብ ቤት ማውረድን የተረፈ ዘላቂ ክወና ነው።
| መቼ | ድርጊት |
|---|---|
| ሚያዝያ አጋማሽ 2026 | የመጀመሪያዎቹ ፓኬጆች በዋናው የአታሚ ወሰን ስር ይታያሉ፡ TS-utility façade፣ environment እና git-config exfiltration። |
| በግንቦት ወር 2026 መጀመሪያ ላይ | የሃይፐርቪዘር እና የከርነል-ማምለጫ የስለላ ልዩነት ታትሟል። |
| ከግንቦት አጋማሽ እስከ መጨረሻ 2026 | SC3 ክሮስ-ሪፖ ዊት ትል ከShopify-ዒላማ የተደረጉ የክፍያ ጭነቶች ጎን ለጎን ይታያል እና google-labs-jules[bot] ማስመሰል። SC4 በAES የተመሰጠሩ እና በአስተናጋጅ በር የተከፈቱ ሎደሮችን ያስተዋውቃል። |
| በግንቦት ወር 2026 መጨረሻ | npm የመጀመሪያውን የአታሚ ወሰን ያስወግዳል፤ የጥቅል ስሞች ወደ ባዶ የደህንነት መያዣ ቦታ ያዥዎች ይለወጣሉ። |
| በተመሳሳይ ሳምንት | ኦፕሬተሩ ወደ ተመሳሳይ ወሰን ይሸጋገራል እና የትንታኔ-መሠረተ ልማት ልዩነትን ጨምሮ ትሉን እንደገና ያትማል። |
ፍልሰት ተከላካዮቹ ሊይዙት የሚገባ ክፍል ነው። የመጀመሪያውን ስኮፕ ማስወገድ ዘመቻውን አላቆመም ወይም አላዘገየውም። ኦፕሬተሩ ስሙ ከዋናው በአንድ ቁምፊ የሚለያይ ትይዩ ስኮፕ አዘጋጅቶ ነበር፣ እና በተመሳሳይ ሳምንት ውስጥ መታተም ቀጥሏል። ይህ ጽሑፍ እስከተጻፈበት ጊዜ ድረስ፣ አዲሱ ስኮፕ ts-form-utils (ከ1.0.0 እስከ 1.1.0 ስሪቶች)፣ ቲኤስ-ፕሮጀክት-ሊንት (1.0.0 እና 1.1.0)፣ እና ራሱን የቻለ ts-enum-helper (1.0.0) ሊጫን የሚችል ሆኖ ይቆያል።
የመደራደር አመላካቾች
ከዚህ በታች ያሉት ሁሉም አመልካቾች ከጥቅሉ ምንጭ ጋር ተረጋግጠዋል።
| ዓይነት | አመልካች | ማስታወሻዎች |
|---|---|---|
| አውታረ መረብ (C2) | aaronstack[.]com/jules-collect | በእያንዳንዱ ትውልድ ላይ ነጠላ የመሰብሰቢያ የመጨረሻ ነጥብ፤ የJSON ቴሌሜትሪ እና የቤዝ64-gzip ማከማቻ ታርቦል ቁርጥራጮችን ይቀበላል። |
| አውታረ መረብ (SSRF ፕሮክሲ) | http://git@192.168.0.1:8080 | የታለመለትን ድርጅት ማከማቻዎች ለመድረስ የሚያገለግል ከመጠን በላይ የተቀረጸ የጂት ፕሮክሲ ቶከን ፊት። |
| አውታረ መረብ (ክላውድ) | metadata.google.internal/computeMetadata/v1kubernetes.default.svcstorage.googleapis.com/storage/v1/b | ለቶከን ስርቆት እና ለኩበርኔትስ የቁጥጥር-ፕላኔት ቅኝት የትንታኔ-መሠረተ ልማት ልዩነት ብቻ ጥቅም ላይ ይውላል። |
| መታወቂያ | google-labs-jules[bot]161369871+google-labs-jules[bot]@users.noreply.github.com | የተቀረጸ commit የደራሲው ማንነት ወደ ተጎጂዎች ዋና ዋና ቅርንጫፎች ተገፍቷል። |
| ፋይል | lib/.perf.dat | AES-256-CBC-encrypted payload blob፤ IV በመጀመሪያዎቹ 16 ባይቶች ውስጥ ተከማችቶ ቁልፍ በተለዋዋጭነት እንደገና ተገንብቷል index.js. |
| ፋይል | SECURITY-POC.md | ወድቋል እና commitመልእክቱን ይዞ ወደ ተጎጂዎች ማከማቻዎች ተመልሷል chore: update dependency cache. |
| ፋይል | scripts/postinstall.sh | በር ላይ ተዘርግቷል $MALYSIS_ANALYSIS_ID፤ የትንታኔ-መሠረተ ልማት-ዒላማ ልዩነትን ይለያል። |
| የባህሪ | os.hostname() ቼኮች ለ devbox / ubuntu-fc-uvm | የክፍያ ጭነት ዲክሪፕት ከመደረጉ እና ከመፈጸሙ በፊት የማጠሪያ እና የAI-ወኪል አካባቢ። |
| የባህሪ | .jules/ ና /app/.jules ማውጫው ያነባል | የAI-ወኪል የስራ ቦታ አካባቢዎችን በግልጽ ኢላማ ማድረግ። |
| የባህሪ | sc1-, sc3-, sc4-, s0-vmm-recon | ለምርመራ እና ለአደን ጠቃሚ የሆኑ በኦፕሬተር የተገለጹ የቴሌሜትሪ ደረጃ መለያዎች። |
| የደመና ኢላማ | rare-signer-437603-p9malysis-* ባልዲ ግምቶች | በትንታኔ-መሠረተ ልማት ልዩነት ውስጥ የተካተቱ ጠንካራ ኮድ የተሰጣቸው የጂሲፒ ፕሮጀክት መለያዎች እና የማከማቻ-ባልዲ ቆጠራ ቅጦች። |
| የጥቅል ቅርፅ | የTS-utility ፓኬጅ የፊት ገጽታ ያለ ማከማቻ መስክ | ወጥ የሆነ የዘመቻ አብነት፡- ተንኮል አዘል የክፍያ ጭነቶች የተካተቱባቸው የውሸት የTypeScript መገልገያ ፓኬጆች postinstall hooks ወይም ተያይዟል ወደ index.js. |




