דזשולעסדזשעקער: פאַלשער npm וואָרעם איפּערסאָנירט דזשולעס קינסטלעכער אינטעליגענץ

דזשולעסדזשעקער: א פאַלש-PoC npm וואָרעם וואָס אימפּערסאָנאַזשירט גוגל'ס דזשולעס אַגענט — און אַקטיוויזירט די זאַמדקאַסטן אַנאַליזירנדיק עס.

טל; דר

אן איינציקער npm אפעראטאר האט פארבראכט זעקס וואכן ארויסגעבן פאלשע טייפסקריפּט "נוצלעכקייט" פעקלעך ווי צום ביישפיל ts-form-utils, ts-project-lint, און ts-enum-helper.

כאָטש די פּאַקאַדזשאַז ווײַזן קליינע לעגיטימע-אויסזעענדיקע וואַלידאַציע העלפּערס, די עכטע פּיילאָוד עקסאַקיוטאַד בײַם אינסטאַלירן אָדער ערשטן פאָדערונג און דורכפירט האָסט פינגערפּרינטינג, גיטהאַב אָרגאַניזאַציע ופדעקונג, רעפּאָזיטאָרי קלאָונינג, און קוואַל-קאָד עקספילטראַציע.

די מאַלוואַרע צילט ספּעציפֿיש אויף הויך-ווערט GitHub אָרגאַניזאַציעס, אַרייַנגערעכנט קייפל שאָפּיפי רעפּאָזיטאָריעס, דערנאָך אַרכיווירט און עקספילטרירט דערגרייכבארע קוואַל ביימער צו אַ צענטראַליזירטן זאַמלונג ענדפּוינט.

אלס טייל פון די קאמפראמיס ארבעטס-פלוס, די פּיילאָוד commitsa טעקע צוריק אין קרבן רעפאזיטאריעס בשעת'ן זיך אויסגעבן פאר גוגל'ס אויטאנאמישע קאדירונג אידענטיטעט google-labs-jules[bot].

מיר האָבן נאכגעפאלגט די קאמפיין — גערופן דזשולס דזשעקער — איבער קייפל ארויסגעבער סקאָפּעס און לפּחות פינף פּיילאָוד דורות, אַרייַנגערעכנט ענקריפּטעד און סאַנדבאָקס-באַוואוסטזיניק וועריאַנטן.

די נייעסטע וואַריאַנט צילט ספּעציפֿיש אויף מאַלוואַרע-אַנאַליז אינפֿראַסטרוקטור: עס אַקטיוויזירט נאָר אינעווייניק אַנאַליז סביבות, גנבעט וואָלקן מעטאַדאַטאַ סערוויס-אַקאַונט טאָקענס, און פּראָבירט Kubernetes קאָנטראָל פּליינז און וואָלקן סטאָרידזש באַקאַץ.

דער ערשטיקער IOC וואָס ווערט געטיילט איבער אַלע פּיילאָוד דורות איז דער זאַמלונג ענדפּוינט aaronstack[.]com/jules-collect.

ערנסטקייט: קריטיש.

דער אטאקע: ווי אזוי עס ארבעט

יעדער דזשולסדזשעקער פּעקל גייט נאָך דעם זעלבן מוסטער. package.json אדווערטייזט א גוטהארציקע טייפסקריפּט העלפער מיט אן MIT ליצענץ און קיין פארבינדענע מקור רעפאזיטארי. index.js עקספּאָרטירט אַ האַנדפול פון עכטע, אַרבעטנדיקע פונקציעס — אימעיל רעגעקסעס, ענום מאַפּס, לינט הערשן טאַבעלעס — אַזוי אַז אַ דעוועלאָפּער וואָס ימפּאָרטירט טאַקע דעם פּעקל זעט גלייבלעכע נאַטור. די בייזוויליקייט לעבט אַנדערשוואו: אין אַ נאָך-אינסטאַלירן קרוק, אדער אין א בלאק ביים דנאָ פון index.js וואָס עקסאַקיוטאַדירט אין דעם מאָמענט וואָס דער מאָדול איז דארף.

די פּיילאָודז האָבן זיך עוואַלוציאָנירט דורך קלאָר נומערירטע אינערלעכע סטאַגעס (דער אָפּעראַטאָר לייבאַלט זיינע אייגענע טעלעמעטריע געשעענישן sc1-, sc3-, sc4-, און אזוי ווייטער), און צו קוקן אויף די עוואלוציע איז דער קלארסטער וועג צו פארשטיין די קאמפיין.

 דור 1–2: אויספארשונג און גיט-קאָנפֿיג גנייווע

די ערשטע פּעקלעך זענען געווען פּשוטע אינפאָסטילערס. ביים אינסטאַלירן האָבן זיי געזאַמלט סביבה וועריאַבאַלן, די גיטהאַב CLI האָסטס טעקע, און די גלאָבאַלע גיט קאָנפיגוראַציע (גיט קאָנפיג –גלאָבאַל –ליסט, גיט ווײַט -v), און דערנאך האט עס געשיקט דעם פּעקל צום זאַמלונג ענדפּוינט. דאָס האט אויפגעשטעלט דעם אָפּעראַטאָר'ס אונטערשריפט: אַ "TypeScript form validation utilities" דעקל געשיכטע, אַן אַוטבאַונד בעאַקאָן צו אַן איינציקן דאָמעין, און אַ געשמאַק פֿאַר דעוועלאָפּער קראַדענטשאַלז אַנשטאָט קאָנסומער דאַטן.

דור 3: היפּערווייזער און קערנעל אַנטלויפן פּראָבעס

איין מיטל-קאַמפּיין ווערסיע האָט זיך שטאַרק געדרײט צו אינפֿראַסטרוקטור אַטאַקעס. אַנשטאָט גנבענען קאָנפֿיגאַציע, האָט זי דורכגעפֿירט אַ רעקאָנסטרוקציע כאַרניס פּראָבינג. AF_VSOCK סאָקעטס, ווירטיאָ MMIO געגנטן, / דעוו / מעמ, און קערנעל פארהאַרטונג פלאַגס, און אפילו פּרוּוון sysrq-טריגערד קערנעל קראַשיז — נאַטור פארבונדן מיט פּרוּוון צו ברעכן אויס פון אַ ווירטואַל מאַשין אָדער קאַנטיינער. די טעלעמעטרי טאַגס (s0-vmm-רעקאָן, ס1-וומם-וו-זאק-פאז, s2-vmm-mmio, s3-קערנעל-פּראָבע) האט די כוונה קלאר געמאכט. די וואריאנט איז קלאר געווען געצילט אויף וואָלקן-זאַנדקאַסטן און סערווערלעסס-ראַנער סביבות — די סארט קורצע-צייטיקע ווירטועל מאשין וואס בויט און טעסטירט נישט-פארטרויענסווערטן קאד.

דור 3 (SC3): דער קראָס-רעפּאָ שרייב וואָרעם

דער קאמפיין'ס צענטער פון שוועריקייט איז געווארן א זיך-פארשפרייטנדיקער רעפא גנב. ביים אינסטאלירן, לויפט די פּיילאָוד א פינף-שטאפליגע צייט-באגרעניצטע סיקווענץ:

  • בינע קסנומקס (~100 מיליסעקונדעס): אפדרוק נעמען דעם האוסט — האוסטנאמען, באניצער אינפארמאציע, גיט אידענטיטעט.
  • בינע קסנומקס (~3 סעקונדעס): באַשטימען צו וועלכער אָרגאַניזאַציע די קרבן געהערט דורך דורכקוקן גיט ווײַט -v, דערנאָך קוק אויף אַ האַרדקאָדעד אָרג_קאָנפיג טיש און טעסט רעפּאָ צוטריט מיט גיט לס-רימאָוט — געשיקט דורך אַן אַטאַקער-קאָנטראָלירטן SSRF פּראָקסי ביי http://git@192.168.0.1:8080.
  • בינע קסנומקס (~10 סעקונדעס): גיט קלאָון יעדן דערגרייכבארן רעפאזיטארי אין דער ציל ליסטע, טארבאל און דזשי-זיפן דעם בוים, באזע64-ענקאָדירן עס, און טשאַנק-עקספילטרייט עס.
  • בינע קסנומקס (~45 סעקונדעס): דער "באַווייַז פון צוטריט" — קלאָנירן אַ שרייבבארן רעפּאָ, אַראָפּוואַרפן אַ טעקע מיטן נאָמען SECURITY-POC.md, און commit עס מיטן מחבר געשטעלט צו google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> און די מעסעדזש chore: update dependency cache, דערנאך שטופּן צו די קרבן'ס הויפט ברענטש.

די שווער-קאדירטע ציל ליסטע איז נישט אלגעמיין. זי רעכנט אויס מער ווי דרייסיק שאָפּיפי רעפּאָזיטאָריעס לויט נאָמען — שאָפּיפיי/שאָפּיפיי, Shopify/אידענטיטעט, שאָפּיפיי/בילינג, שאָפּיפיי/וואָלט, שאָפּיפיי/סודות, שאָפּיפיי/אינפֿראַסטרוקטור, Shopify/.github, און נאך פיל מער — צוזאמען מיט א טעסט ארגאניזאציע, אהרן סטאַק באַרנעס, וואָס דער אָפּעראַטאָר, ווייזט אויס, קאָנטראָלירט און ניצט ווי די שרייב-ציל.

דור 4 (SC4): ענקריפּטעד און גייטיד

די נייַסטע דעוועלאָפּער-פייסינג וואַריאַנט לייגט צו צוויי שיכטן פון אויסמיידונג אויף שפּיץ פון די SC3 וואָרעם.

ערשטנס, די פּיילאָוד ווערט מער נישט געשיקט ווי פּשוט טעקסט. די עכטע לאָגיק זיצט אין אַן AES-256-CBC-ענקריפּטעד בלאָב, lib/.perf.dat, מיטן IV אין זיינע ערשטע זעכצן בייטן. דער לאָודער אין index.js רעקאָנסטרויִרט דעם דעקריפּטיאָן שליסל פֿון צוזאַמענגעשטעלטע סטרינג פֿראַגמענטן, דעקריפּטירט דעם בלאָב, און לויפֿט עס מיט נייע פונקציע ()אפילו די מאָדול נעמען זענען צעטיילט צו אויסמיידן סטאַטישע סקאַנערס — פארלאנגען('קריפּט' + 'o'), פארלאנגען('f' + 's').

צווייטנס, עס איז האָסט-געיטעד. איין וואַריאַנט דעקריפּטירט און לויפט נאָר ווען os.האָסטנאַמע() equals דעוובאָקס or ובונטו-פֿק-uvm (אַ Firecracker מיקראָVM דיפאָלט) אָדער כּולל די סאַבסטרינג דעוובאָקסנאך א טויער אויף דער אנוועזנהייט פון א .דזשולעס/ ארבעטס דירעקטאָרי:

מיט אנדערע ווערטער, די SC4 פּיילאָוד איז דיזיינד צו בלייבן שלאָפנדיק אויף אַ געוויינטלעכן דעוועלאָפּער'ס לאַפּטאָפּ און אויפוואַכן נאָר אינעווייניק פון דעם אויטאָמאַטישן AI-אַגענט. זאַמדקאַסטן ינווייראַנמאַנץ דער אָפּעראַטאָר וויל טאַקע מאַכן אַ קאָמפּראָמיס.

אײַנשטעלן די לאַבאָראַטאָריע: די אַנאַליז-אינפֿראַסטרוקטור וואַריאַנט

דאָס נײַסטע פּעקל אין דער קאַמפּאַניע, ts-enum-העלפער, אטאקירט בכלל נישט די דעוועלאפערס אדער שאָפּיפיי. איר פּאָסטינסטאַל.ש עפֿנט זיך מיט אַ טויער וואָס פֿאַרשפּרייט דאָס שפּיל:

דער סקריפּט טוט גאָרנישט אויב עס איז נישט באַשטעלט אַן ענווייערמענט וועריאַבל ספּעציפֿיש פֿאַר אַ מאַלוואַרע-אַנאַליז פּלאַטפאָרמע. ווען יאָ, ווייסט די פּיילאָוד אַז זי לויפט אין דער זאַמדקאַסטן וואָס עקזיסטירט צו דעטאָנירן און שטודירן פּאַקאַדזשאַז פּונקט ווי דעם דאָ — און זי גייט אין קעגנאַטאַקעס.

עס נעמט ערשט ארויס דעם GCP סערוויס-אקאונט OAuth טאקען פונעם אינסטאנץ מעטאדאטא סערווער און עקספילטרירט עס. דערנאך, ניצנדיק דעם טאקען, שוויפט עס ארויס דעם קובערנעטעס קאָנטראָל פלאַך ריטשאַבאַל בייַ קובערנעטעס.דעפאָלט.סווק:

  • ליסטירט ClusterRoleBindings, ClusterRoles, און Nodes;
  • פּראָבירט פּאָדס, סודות, און קאָנפיגמאַפּס אַריבער קוב-סיסטעם, ניט ויסצאָלן, קוב-פובליק, קובע-נאָוד-ליס, און די אנאליז נעמספעיס;
  • גיט ארויס SelfSubjectAccessReview רופן צו מאַפּירן פּונקט וואָס די געגנבעטע אידענטיטעט איז ערלויבט צו טאָן.

צום סוף ברוט-פארסעס עס גוגל קלאָוד סטאָרידזש באַקעט נעמען געבויט פון אַ האַרדקאָדעד GCP פּראָיעקט ID (זעלטן-אונטערשרייבער-437603-p9) און פּראָיעקט נומער, טרעפן קאָמבינאַציעס ווי *-בויט, *-אַרטיפאַקטן, און עטלעכע מאַלייזיס- פּרעפיקסן (מאַליסיס-רעזולטאַטן, מאַליסיס-פּאַקעטן, מאַליסיס-סקאַנז). יעדער ענטפער קאָד און גוף ווערט געלאגט און צוריקגעשיקט צו דער זעלבער דזשולס-קאָלעקט ענדפּוינט.

דאָס איז דער זעלטענער פאַל פון אַ סאַפּליי-טשיין פּיילאָוד געבויט ספּעציעל צו אַטאַקירן די פארטיידיקערס אייגענע אינפראַסטרוקטור. די דעקל געשיכטע איבער דער גאַנצער קאַמפּיין - פראַגמענטן פון וועלכע דערשייַנען אין די פּיילאָודז ווי באַמערקונגען וואָס ראַמען די נאַטור ווי אַ "זיכערהייט פאָרשונג פּאָק ... קראָס-רעפּאָ שרייבן דורך אָוווערסקאָופּעד גיט פּראָקסי טאָקען" - איז די זעלבע זיך-גערעכטפארטיקונג, צי די ראַנטיים ציל איז אַ שאָפּיפיי מאָנאָרעפּאָ אָדער די אַנאַליז קלאַסטער ס מעטאַדאַטאַ סערווער.

צייט-ליניע און די סקאָופּ מיגראַציע

דזשולסדזשעקער איז נישט קיין איין-מאל-אינסטאנץ דראפ. עס איז א אנהאלטנדיקע אפעראציע וואס האט איבערגעלעבט א רעגיסטרי אראפנעמונג דורך פשוט ענדערן זיין נאמען.

ווען געשעעניש
מיטן אפריל 2026 ערשטע פּעקלעך דערשייַנען אונטער דעם אָריגינעלן פאַרלעגער סקאַלפּ: TS-utility פאַסאַד, סביבה און git-config עקספילטראַציע.
פרי מאי 2026 היפּערווייזער און קערנעל-אַנטלויף רעקאָנאַסאַנס וואַריאַנט פאַרעפֿנטלעכט.
מיטן ביז שפּעט מאי 2026 SC3 קראָס-רעפּאָ שרייב וואָרעם ערשיינט צוזאַמען מיט Shopify-טאַרגעטעד פּיילאָודז און google-labs-jules[bot] נאכמאכונג. SC4 שטעלט פאר AES-ענקריפּטעד און האָסט-גייטיד לאָודערס.
שפּעט מײַ 2026 npm נעמט אַוועק דעם אָריגינעלן פּובלישער סקאָופּ; פּאַקעט נעמען רעזאַלווז צו ליידיקע זיכערהייט-האַלטנדיקע פּלעיסהאָולדערס.
די זעלבע וואָך דער אָפּעראַטאָר מיגרירט צו אַ כּמעט-אידענטישן אויסזעענדיקן סקאָופּ און פאַרעפֿנטלעכט ווידער דעם וואָרעם, אַרייַנגערעכנט די אַנאַליז-אינפֿראַסטרוקטור וואַריאַנט.

די מיגראַציע איז דער טייל וואָס דיפענדערס זאָלן זיך שטעלן דערמיט. אַראָפּנעמען דעם ערשטן סקאָופּ האָט נישט געענדיקט די קאַמפּיין אָדער אפילו פאַרהאַלטן עס. דער אָפּעראַטאָר האָט שוין אינסצענירט אַ פּאַראַלעלן סקאָופּ וועמענס נאָמען איז אַנדערש פון דעם אָריגינעלן מיט אַן איינציקן כאַראַקטער, און האָט ווייטער פאַרעפֿנטלעכט אין דער זעלבער וואָך. אין דער צייט פון שרייבן דעם, דער נייער סקאָופּ'ס... ts-פאָרעם-יוטילס (ווערסיעס 1.0.0 ביז 1.1.0), זײַן ts-פּראָיעקט-לינט (1.0.0 און 1.1.0), און די זעלבשטענדיקע ts-enum-העלפער (1.0.0) בלייבן אינסטאַלירבאַר.

ינדיקאַטאָרס פון קאָמפּראָמיס

אלע אינדיקאטארן אונטן זענען באשטעטיקט געווארן קעגן דעם פעקל מקור.

טיפּ ינדיקאַטאָר נאָטעס
נעץ (C2) aaronstack[.]com/jules-collect איין זאַמלונג ענדפּוינט איבער יעדער דור; באַקומט JSON טעלעמעטריע און base64-gzip רעפּאָזיטאָרי טאַרבאָל טשאַנגס.
נעץ (SSRF פראקסי) http://git@192.168.0.1:8080 פראָנט פֿאַר אַן איבערגעטריבענעם גיט פּראָקסי טאָקען געניצט צו דערגרייכן ציל אָרגאַניזאַציע רעפּאָזיטאָריעס.
נעץ (וואָלקן) metadata.google.internal/computeMetadata/v1
kubernetes.default.svc
storage.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-ענקריפּטעד פּיילאָוד בלאָב; IV געהיט אין די ערשטע 16 בייטס און שליסל רעקאָנסטרויִרט דינאַמיש אין index.js.
טעקע SECURITY-POC.md אַראָפּגעלאָזט און commitצוריקגעשיקט אין קרבן רעפאזיטאריעס מיטן מעסעדזש chore: update dependency cache.
טעקע scripts/postinstall.sh אײַנגעגעצאַמט $MALYSIS_ANALYSIS_ID; אידענטיפיצירט די אנאליז-אינפראסטרוקטור-טארגעטינג וואריאנט.
בעהאַוויאָראַל os.hostname() טשעק פֿאַר devbox / ubuntu-fc-uvm זאַמדקאַסטן און קינסטלעכע אינטעליגענץ-אַגענט סביבה גייטינג איידער פּיילאָוד דעקריפּטיאָן און עקסעקוציע.
בעהאַוויאָראַל .jules/ און /app/.jules דירעקטאָרי לייענט עקספּליציטע טאַרגעטינג פון AI-אַגענט וואָרקספּייס סביבות.
בעהאַוויאָראַל sc1-, sc3-, sc4-, s0-vmm-recon אָפּעראַטאָר-דעפינירטע טעלעמעטריע בינע לאַבעלס נוצלעך פֿאַר דעטעקציע און גייעג.
וואָלקן ציל rare-signer-437603-p9
malysis-* עמער שאַצונגען
האַרטקאָדירטע GCP פּראָיעקט אידענטיפיצירערס און סטאָרידזש-באַקעט ענומעריישאַן פּאַטערנז עמבעדיד אין די אַנאַליז-אינפראַסטרוקטור וואַריאַנט.
פּעקל פאָרעם TS-נוצבאַרקייט פּעקל פאַסאַד אָן קיין רעפּאָזיטאָרי פעלד קאָנסיסטענט קאַמפּיין טעמפּלאַט: פאַלשע TypeScript נוצן פּאַקאַדזשאַז מיט בייזע פּיילאָודז עמבעדיד אין postinstall hooks אדער צוגעלייגט צו index.js.
סקאַ-טולס-סאָפֿטווער-קאָמפּאָזיציע-אַנאַליז-טולס
פּריאָריטיזירן, פאַרריכטן און זיכערן אייערע ווייכווארג ריזיקעס
באַקומען דיין פריי חשבון.
קיין קרעדיט קאַרטל פארלאנגט.

זיכערן אייער ווייכווארג אנטוויקלונג און ליפערונג

מיט Xygeni פּראָדוקט סוויט