QuietPolyfill, אַן NPM דראָפּער וואָס איז אויפגעשטאנען

QuietPolyfill: אן NPM דראָפּער וואָס איז אויפגעשטאנען

טל; דר

צוואַנציק npm פּעקלעך ארויסגעגעבן איבער צוויי טעג אין שפּעט יולי און פרי אויגוסט 2026 פאָרשטעלן זיך ווי אינערלעכע UI קאָמפּאָנענט ביבליאָטעקן און געטיילטע באַקענד יוטילאַטיז. קיינער פון זיי ימפּלאַמענטירט נישט די פאַנגקשאַנאַליטי וואָס זיי אַדווערטייזן. יעדער שיקט אַ סטאַב קלאַס, אַ README וואָס באַשרייבט דעם פּעקל ווי אינערלעך, און אַ טעקע גערופן _polyfill.js.

דאָס אינטערעסאַנטע איז פֿון וואַנען יענע טעקע ווערט אָנגערופֿן. עס איז נישט קיין אינסטאַלאַציע קרוק — די מאַניפעסטן דערקלערן נישט קיין פאַר-אינסטאַל, אינסטאַל, אדער נאָך-אינסטאַל בכלל. אַנשטאָט, די לעצטע שורה פון index.js לייענט: try { require("./_polyfill"); } catch (_) {}די פּיילאָוד לויפט דאָס ערשטע מאָל וואָס אַפּליקאַציע קאָד ימפּאָרטירט דעם פּעקל. אינסטאַלירן מיט --ignore-scripts, די standard עצה פֿאַר רעדוצירן סאַפּליי-קייט ויסשטעל ביי דער אינסטאַלאַציע צייט, פאַרהיט עס נישט.

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

דעם 1טן אויגוסט, בערך פיר שעה נאכדעם וואס די פעקלעך זענען באשטעטיגט געווארן אלס שלעכט נאך א מאנועלער איבערבליק, זענען ניינצן פון די צוואנציג נעמען אראפגענומען געווארן פון npm דורך זייער אייגענעם ארויסגעבער אין א פינף-און-צוואַנציק סעקונדע סעקווענץ. דעם 2טן אויגוסט איז איינער פון די נעמען ווידער רעגיסטרירט געווארן — דורך אן אנדער אקאונט, מיטן זעלבן קאוד. די ליפערונג אינפראַסטרוקטור האָט געדינט אַלע דריי סטאַגעס ווען דאָס איז געשריבן געוואָרן.

פּאַקקאַגעס20 npm נעמען, ~74 ארויסגעגעבענע ווערסיעס
נעמען טעמעסbeaver-ui-* (קסנומקס), accounts-* (3), פּלוס afisha-storybook-default, bcore-bravo-eslint-config, arbocrate-sla-prober-arbocrate-sla-prober-core, a.poltoradnev-package-c
צינגלמאָדול אימפארט (require), נישט קיין npm לעבן-ציקל סקריפּט
בינע קסנומקס_polyfill.js — צוריקקריגן און ארויסלאָזן
בינע קסנומקססטאַטיש-געבונדענער לאָודער, UPX-געפּאַקט אויף לינוקס; ענדפּוינט-זיכערהייט אויסרעכענונג, AMSI/ETW פּאַטשינג, פּערסיסטענס
בינע קסנומקסbeacon_linux.bin / beacon_mac.bin / update_win.exe, 4–13 מעגאבייט; איבערגעגעבן ענקריפּטעד, אויסגעפירט אין זכּרון
פּלאַטפאָרמסלינוקס x64 און arm64, macOS יוניווערסאַל, ווינדאָוז x64
פֿאַרלאַגןצוויי אַקאַונטס, איין קאָדבאַזע
מאַצעוו19 פון 20 נעמען נישט ארויסגעגעבן דורך דעם אָפּעראַטאָר; 1 ווידער ארויסגעגעבן און לייוו; ליפערונג אינפראַסטרוקטור לייוו

אַטאַק אַנאַטאָמיע

שטאַפּל 1 — דער פּעקל

יעדער מיטגליד שיקט די זעלבע דריי-פייל פאָרעם. index.js עקספּאָרטירט אַ קלאַס מיט אַ אין דעם() וואָס שטעלט אַ בוליאַן, אַ ווערסיע (), און אַ קאָנפיגורירן() וואָס פֿאַראייניקט אַן אָפּציעס אָביעקט. גאָרנישט אַנדערש. README.md גיט אַן אינסטאַלאַציע ליניע, אַ דאַרפן שורה, און דער זאַץ "אינערלעכער פּעקל. זעט CONTRIBUTING.md פֿאַר גיידליינז" — ביישטייערן.md איז נישט אין טאַרבאָל.

_פּאָליפיל.דזשעי.עס איז אביסל ווייניגער ווי 5 KB און לייענט זיך ווי געווענליכע אינפראַסטרוקטור קאָד. עס עפֿנט זיך מיט דריי סביבה טשעקס:

if (process.env.DISABLE_TELEMETRY ||
    process.env.ANALYTICS_OPT_OUT ||
    process.env.DO_NOT_TRACK)
  return;

יענע וועריאַבלען זענען קאַנווענשאַנעלע פּריוואַטקייט קאָנטראָלן. דאָ באַשטימען זיי צי אַ ביינערי ווערט דאַונלאָודיד און עקסעקוטעד. אַ מאַשין וואָס שטעלט נישט_שפּור ווערט אינגאנצן אויסגעלאָזט.

דערנאך קומט א איין-מאל לויף שטעמפּל: א טעקע ביי /טמפ/.אנאליטיקס_שטאַט, אדער אנאליטיקס_שטאַט ונטער % TEMP% אויף ווינדאָוס, וועמענס מאָדיפיקאַציע צייט ווערט פאַרגליכן מיט אַ 20,357-סעקונדע פֿענצטער. אין יענעם פֿענצטער קערט זיך דער מאָדול גלייך צוריק, אַזוי אַז איבערגעחזרטע אימפּאָרטן בעת ​​אַ בוי פּראָדוצירן איין צוריקקריגן פּרוּוו אַנשטאָט צענדליקער.

די ציל האוסטס זענען נישט פאראן ווי ליטעראלן. זיי ווערן צוזאמענגעשטעלט ביי ראנטיים פון פראגמענטן:

["oob-worker.cf102-","baf.workers.d","ev"].join("")

דריי האָסטס ווערן געבויט אויף דעם וועג און געמישט איידער נוצן, אַזוי די סדר ווערייִרט זיך פּער עקסעקוציע. ריטריוואַל איז אַן HTTPS GET פּינד צו IPv4 מיט אַ באַניצער-אַגענט of נאָדע-פֿעטש/2.6 — א גלייבלעכע ווערט פאר א נאָוד פּראָצעס צו אַרויסגעבן. אן ענטפער אונטער 1,000 בייטס ווערט אַוועקגעוואָרפן און דער ווייַטער האָסט ווערט פּרובירט.

אויב אַלע דריי פאַרלאָזן, פאַלט דער מאָדול צוריק צו DNS. עס גיט ארויס אַ TXT אָנפֿרעג פֿאַר ג. צו באַקומען אַ שטיק צאָל, דערנאָך בעטן 0. דורך נ. אין באַטשעס פון צען, קאָנקאַטענירט די ענטפֿערס, און base64-דעקאָדירט דעם רעזולטאַט. דער דרך טראָגט דעם זעלבן עקסעקוטאַבלע איבער DNS TXT רעקאָרדס, וואָס איבערלעבט סביבות וואו אַרויסגייענדיק HTTP ווערט געפילטערט אָבער DNS רעזאָלוציע נישט.

די צוריקגעקומענע בייטס ווערן געשריבן צו /var/tmp/.cache_<8-hex> אויף יוניקס, אדער %TEMP%\דאָטנעט_דיאַג_<8-העקס>.עקסע אויף ווינדאָוס — אַ טעקע נאָמען וואָס לייענט זיך ווי אַ .NET דיאַגנאָסטיק אַרטיפאַקט. אויף יוניקס באַקומט די טעקע מאָדע 0755. לאָנטש איז רויג מיט אפגעטיילט: אמת, סטדיאָ: "איגנאָרירן", און אַנרעף(), אַזוי דער קינד לעבט לענגער ווי דער נאָדע פּראָצעס וואָס האָט עס אָנגעהויבן; אויף ווינדאָוס לייגט די רוף צו פֿענצטער באַהאַלטן: אמת.

צוויי דעטאַלן פֿאַרענדיקן דאָס בילד. אַ העלפֿער דעפֿינירט ווי קאָנסט _ל = (...אַ) => פּראָצעס.סטדערר.שרייבן("") ווערט גערופן ביי יעדן שריט פון די צוריקקריגן — עס שרייבט א ליידיגע סטרינג און ווארפט אוועק זיינע ארגומענטן, פארנעמענדיג די פאזיציע וואו לאגינג וואלט געזעסן. און יעדער פעקל שיקט א 81 KB טעקע ביי lib/טעלעמעטריע.דזשעי.עס וועמענס קעפל קאמענטאר באשרייבט אן "אנאליטיקס SDK" מיט "HTTPS טראנספארט מיט ענדפונקט ראטאציע און ריטריי" און "DNS-באזירט סערוויס אויפדעקונג פאר פיילאוווער". אין דעם יעצטיגן בילד פארלאנגט עס גארנישט.

שטאַפּל 2 — דער לאָודער

די לינוקס x64 ביינערי איז אַ סטאַטיש-געבונדענע ELF קאָמפּרעסט מיט UPX 3.96. די macOS בילד איז אַ אוניווערסאַל ביינערי וואָס דעקט x86_64 און arm64; די Windows בילד איז אַ סטריפּט PE32+ קאַנסאָול עקסעקוטאַבאַל. אַלע פיר זענען צוריקגעקראָגן און סטאַטיש געפּריפט; קיינער איז נישט עקסעקוטירט געוואָרן.

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

עס האט א ליסטע פון ​​באַניצער נעמען: CurrentUser, עס אַדמיניסטראַטאָר, האָנג לי, טעסטבאָקס, האַפּובוס, מילאָזס, טיממי, אַדמין, מאַלוואַרע, מוסטער, ווירוס, סוויוועעטלעכע פון ​​זיי זענען אַרטיפאַקץ פון עפנטלעך דאָקומענטירטע אַנאַליז סביבות.

עס האט אויך א ליסטע פון ​​ענדפּוינט-זיכערהייט פּראָדוקטן און זייערע פּראָצעס נעמען, אויסגערעכנט דורך CreateToolhelp32Snapshot און פּראָצעס32ערשטערW/פּראָצעס32נעקסטW:

  • CrowdStrike Falcon (csfalconservice, CSFalconContainer)
  • קאַרבאָן שווארצע (cb.exe)
  • סילאַנסע (cylancesvc.exe)
  • ביטדעפענדער (bdagent.exe)
  • קאַספּערסקי (avp.exe, kavfs.exe)
  • טרענד מיקראָ און דיפּ זיכערהייט (coreServiceShell, ds_agent.exe)
  • פייעראיי/טרעליקס (xagt.exe)
  • טאַניום (taniumclient.exe)
  • Hitmanpro (hmpalert.exe)
  • גומע (elastic-agent.exe, elastic-endpoint, filebeat.exe, winlogbeat.exe)
  • וואַזו און אָססעק (wazuh-agent.exe, ossec-agent.exe)
  • טשעק פּוינט
  • פֿענצטער Defender

צוויי ווייטערע סימבאָלן זענען פאַראַן: אַמסיסקען באַפער, דער אריינגאנג פונקט וואס ווינדאוס ווייזט ארויס פאר אין-מעמארי אינהאלט סקענירן, און עטוו איווענט שרייב, די פונקציע דורך וועלכער Event Tracing פאר Windows רעקארדירט ​​געשעענישן. ביידע זענען געוויינטלעכע צילן פאר אין-פראצעס מאדיפיקאציע וואס אונטערדריקט די טעלעמעטריע וואס יענע אינטערפייסעס וואלטן אנדערש פראדוצירט.

פּערסיסטענס דערשיינט צוויי מאָל אויף ווינדאָוס. די ביינערי ווערט קאָפּירט צו %APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exe, און צוויי מעכאניזמען רעפערענצירן עס: א ווערט אונטער ווייכווארג\מייקראָסאָפֿט\ווינדאָוס\קראַנט ווערסיע\לויפֿן, און אַ פּלאַנירטע אויפגאַבע רעגיסטרירט ווי

schtasks /Create /F /SC ONLOGON
  /TN "\Microsoft\Windows\Multimedia\SystemSoundsService"
  /TR "\"%s\""
  /RL HIGHEST

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

דער macOS בילד גייט נאך דעם זעלבן מוסטער מיט פּלאַטפאָרמע-פּאַסיק נעמען: עס שרייבט אַ פּראָפּערטי ליסטע צו ~/ביבליאָטעק/לאָנטשאַגענטן/קאָם.עפּל.ווינדאָוסערווער.העלפּער.פּליסט און שטעלט זיין עקסעקוטאַבאַל ביי ~/.לאקאל/שער/רענטיים/קאם.עפל.רענטייםעס קאָנטראָלירט פֿאַר /אַפּליקאַציעס/VMware Fusion.app און /ביבליאָטעק/אַפּליקאַציע שטיצע/VMware מכשירים.

נעץ קייפּאַביליטי שפּאַנט דריי טראַנספּאָרטן: WININET.dll פֿאַר HTTPS מיט אַ https://%s:%d%s פֿאָרמאַט סטרינג, WS2_32.dll סאָקעטס, און DNSAPI.dll מיט דנסקווערי_א צוזאמען אַ ג.%s.%s פֿאָרמאַט שטריקל — די זעלבע טשאַנק-צייל קווערי פֿאָרעם וואָס די ערשטע בינע ניצט.

די אויבן דערמאנטע באשרייבונג איז וואס די ביינערי'ס אימפארטן, סטרינגס, און רעגיסטרי פּאַטס ווייזן ביי אינספּעקציע. עפנטלעכע מולטי-מאָטאָר אַנאַליז פון דעם זעלבן Windows מוסטער לייגט צו דעטאַלן וואָס אַ סטאַטישע לייענונג פון אַן אימפארט טאַבעלע קען נישט באַשטעטיקן אויף זיך אַליין, און ווערט דאָ צוגעשריבן אַנשטאָט איבערגעזאָגט ווי ערשט-האַנטיקע אָבסערוואַציע. יענע אַנאַליז באַריכטעט אַז די AMSI און ETW רעפערענצן זענען נישט בלויז אויפגעלייזט נאָר געפּאַטשט — אַמסיסקען באַפער in amsi.dll און עטוו איווענט שרייב in ntdll.dll — וואָס אונטערדריקט אין-זכּרון אינהאַלט סקאַנינג און געשעעניש טרעיסינג פֿאַר דעם פּראָצעס. עס מעלדט די אַנטי-אַנאַליסיס טשעקס ווי טיימינג-באַזירט אין אַדישאַן צו טשעקרעמאָטדיבאַגערפּרעזענט, און אידענטיפיצירט די באַקומען פֿאָדעם קאָנטעקסט רוף אלס א האַרדווער-ברעיקפּוינט טשעק לייענענדיק די דיבאַג רעגיסטערס. עס מעלדט אויך א איין-אינסטאַנץ מוטעקס, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}, און נעמען סיסטעם סאַונדס סערוויס אלס דער ראן-קיל ווערט. יענער מוטעקס ווערט איז נישט געווען צווישן די סטרינגס וואס זענען דא צוריקגעקומען — דער עקסטראקציע פילטער וואס איז גענוצט געווארן האט אויסגעשלאסן פארשטארקטע גרויסע-העקס טאוקענס — און עס איז רעקארדירט ​​אין דער אינדיקאטאר טאבעלע באזירט אויף יענער עפנטלעכער אנאליז אנשטאט דירעקטער אבזערוואציע.

בינע קסנומקס

דער לאָדער רעפֿערירט צו אַ ווײַטערדיקן סכום וועגן אויף די זעלבע האָסטס. אַלע זענען געווען דערגרייכבאַר בעת אַנאַליז: בעאַקאָן_לינוקס.בין ביי 5.3 מעגאבייט, בעאַקאָן_מעק.בין ביי 13.3 מעגאבייט, דערהייַנטיקונג_ווין.עקסע ביי 10.3 מעגאבייט, און אָרעם.בין ביי 4.3 מעגאבייט. די זענען נישט צוריקגעכאפט געווארן, און זייער אויפפירונג איז אומבאקאנט.

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

 

טיימליין

אלע צייטשטעמפלס זענען UTC און קומען פון npm רעגיסטרי מעטאדאטן, וואס רעקארדירט ​​פעקל שאפונג און אפ-פובליקאציע אומאפהענגיק פון יעדן באאבאכטער.

וועןוואָס
2026-07-31 09:25:05 → 09:29:56צען נעמען באשאפן, יעדער אָנהייבנדיק ביי ווערסיע 0.0.1, בערך דרייצן סעקונדעס אפגעטיילט.
2026-08-01 09:38 → 11:29עקזיסטירנדיקע נעמען קריכן דורך אויפגעבלאזענע ווערסיע נומערן, 6.1.9 דורך 6.1.12, 9.9.9 דורך 9.9.12, 8.9.3 דורך 8.9.6, 5.4.6 דורך 5.4.9.
2026-08-01 13:04:14 → 13:04:18ניין ווייטער beaver-ui-* נעמען באשאפן אין א פיר-סעקונדע אויסברוך, יעדער ארויסגעגעבן גלייך ביי א 12.x ווערסיע אן קיין פריערדיגע געשיכטע.
2026-08-01 ~13:00–14:30ווערסיעס קלאַסיפֿיצירט ווי בייזוויליק לויט מאַנועלער איבערבליק.
2026-08-01 17:39:49 → 17:40:14ניינצן פון די צוואנציק נעמען זענען נישט ארויסגעגעבן געווארן אין פינף און צוואנציק סעקונדעס, נאכאנאנד, בערך 1.2 סעקונדעס אפגעטיילט.
2026-08-02 18:58:41a.poltoradnev-package-c ווידער באשאפן אונטער אן אנדערן אויפהאלטערס אקאונט, ווערסיע 0.0.2.
2026-08-02 19:20:28ווערסיע 33.9.5 ארויסגעגעבן מיטן זעלבן נאמען.
2026-08-02 20:14אלע דריי דעליווערי האוסטס סערווירן סטאַגעס צוויי און דריי; DNS פאַלבעק ענטפֿערט ​​מיט טשאַנק קאַונץ.

צוויי פון די דאזיגע ארטיקלען זענען ווערט צו פארברענגען א קורצע צייט דערויף.

דער 13:04 אויסברוך האט געלייגט ניין פעקלעך אויפן רעגיסטרי אין פיר סעקונדעס, יעדעס מיט אן איינציקע ווערסיע אין די צוועלף און ניין 0.0.1 אונטער אים. ווערסיע נומערן אויף דעם וואָג, אויף נעמען וואָס זענען איין טאָג אַלט, באַשרײַבן נישט אַ מעלדונג געשיכטע.

די נישט-פובליקאציע סעקווענץ איז גלייך אזוי מעכאניש: ניינצן נעמען, פינף און צוואנציג סעקונדעס, גלייכע ווייטן. npm רעקארדירט ​​די אלס געווענליכע נישט-פובליקאציע געשעענישן אנשטאט דעם פלאצהאלטער וואס א רעגיסטרי-איניציאירטע אראפנעמונג לאזט איבער, וואס שטעלט די אקציע מיטן פובליקאציע אקאונט אנשטאט מיטן רעגיסטרי.

 

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

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

טיפּווערט
דעליווערי באַלעבאָסoob-worker[.]cf99-9b3[.]workers[.]dev
דעליווערי באַלעבאָסoob-worker[.]cf102-baf[.]workers[.]dev
דעליווערי באַלעבאָסoob-worker[.]cf103-070[.]workers[.]dev
די-ען-עס טראנספארטtin[.]dl[.]well1[.]site (לינוקס x64), tina[.] (ארעם64), ldr[.] (macOS), win[.] (ווינדאָוס) — שטיק צייל ביי c.<domain>, דאַטן ביי <n>.<domain>
שטאַפּל-2 וועגן/pkg/package, /pkg/package-arm64, /pkg/loader_mac, /pkg/package.exe
שטאַפּל-3 וועגן/pkg/beacon_linux.bin, /pkg/beacon_mac.bin, /pkg/update_win.exe, /pkg/arm.bin
דראָפּ פּאַד (יוניקס)/var/tmp/.cache_<8-hex>
פאַלן דרך (ווינדאָוס)%TEMP%\dotnet_diag_<8-hex>.exe
אנהאלטונג (ווינדאָוס)%APPDATA%\Microsoft\Windows\Themes\SystemSoundsService.exeאויפגאַבע \Microsoft\Windows\Multimedia\SystemSoundsServiceלויף-שליסל ווערט SOFTWARE\Microsoft\Windows\CurrentVersion\Run\SystemSoundsService
מוטעקס (ווינדאָוס)Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}
אנהאלטונג (מעקאָס)~/Library/LaunchAgents/com.apple.windowserver.helper.plistביינערי ביי ~/.local/share/runtime/com.apple.runtime
איין מאָל לויפן שטעמפּל/tmp/.analytics_state, %TEMP%\analytics_state (20,357 סעקונדעס פֿענצטער)
בעטן אונטערשריפטHTTPS GET, IPv4-געפּינט, באַניצער-אַגענט: node-fetch/2.6
שטאַפּל-1 טעקע_polyfill.js, SHA-256 392dc9ec85042ce1796bfa9b8c7bf6e05c7710579aab8b7b1eb73788683883af
אומרעפערענצירטע טעקעlib/telemetry.js, SHA-256 2266c9b8e199daebe31a9afcb61d9b0d76706b63c92312fc8223d22de42e63c7
שטאַפּל 2 (לינוקס x64)SHA-256 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3
שטאַפּל 2 (לינוקס אַרם 64)SHA-256 aafc37589c0d21fb729761a1579ca3b278b95bce152aacfa29243ffd27f5eeb7
שטאַפּל 2 (מעקאָס)SHA-256 c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00
שטאַפּל 2 (פֿענצטער)SHA-256 d632c2c0c7801c3da57cf849fe4b4ca8351d9a7fe73c31050bf5dbcc96a16791

פּעקל נעמען

ביווער-יו-שוווער ביווער-יו-איי-אקציעס-קנעפל ביווער-יו-איי-קארטל-גרויס ביווער-יו-דייט-ריינדזש-אויסקלייבער ביווער-יו-איי-פאָרעם ביווער-יו-איי-פאָרעם-מאָדאַל ביווער-יו-איי-פאָרעם-אָבדזשעקט ביווער-יו-איי-גריד ביווער-יו-קעפּל ביווער-יו-איי-hooks ביווער-יו-אייקאן-שלאס ביווער-יו-אייטעמס-מיט-מער ביווער-יו-איי-לעיאַוט חשבונות-לעצטע-פאָרעם אַקאַונטס-לאָודינג-שטאַט חשבונות-צייטליין אַפישאַ-מעשי-בוך-דעפאָלט בקאָר-בראַוואָ-עסלינט-קאָנפיג אַרבאָקראַט-סלאַ-פּראָבער-אַרבאָקראַט-סלאַ-פּראָבער-קאָר a.poltoradnev-package-c

צושרייבונג און באאבאכטעטע אויפפירונג

צוויי npm אַקאַונטס זענען ינוואַלווד. די ניינצן נישט-פאַרעפֿנטלעכטע נעמען זענען פאַרעפֿנטלעכט געוואָרן דורך איין אַקאַונט; a.poltoradnev-package-c איז ווידער רעגיסטרירט געוואָרן דעם 2טן אויגוסט אונטער אַן אַנדערן אַקאַונט נאָמען און אַן אַנדערן אימעיל דאָמעין. דער קאָד איז די זעלבע ליניאַזש אין ביידע, און די צווייטע רעגיסטראַציע טראָגט די זעלבע דעליווערי האָסטס, די זעלבע DNS פאַלבעק דאָמעינס, די זעלבע דראָפּ-פּאַט קאַנסטרוקציע, און די זעלבע לויף-איינמאָל שטעמפּל.

די ווידער-פארעפנטלעכטע פּאָר ווייזט אויך ווי עס איז צוזאַמענגעשטעלט געוואָרן. 0.0.2 און 33.9.5 זענען בייט-אידענטיש חוץ דעם ווערסיע סטרינג אין package.json, און די index.js געשיקט ווי 0.0.2 דערקלערט קאָנסט ווערסיע = "33.9.5"ביידע אַרטיפאַקטן זענען געשניטן געוואָרן פֿון איין מקור בוים און דערנאָך נומערירט. עס איז נישטאָ קיין 0.0.2 אַנטוויקלונג געשיכטע פֿאַר די 0.0.2 מעלדונג צו רעפּרעזענטירן.

די ווערסיע נומערירונג איבערן גאנצן סעט גייט נאך דער זעלבער לאגיק. פעקל נעמען אין דעם קאמפיין לייענען זיך ווי זאכן וואס וואלטן עקזיסטירט אינעווייניג פון אן ארגאניזאציע אנשטאט אויף א פובליק רעגיסטרי: א UI קאמפאנענט סעט, אן ESLint קאנפיגוראציע, א SLA פראבער, א פעקל גערופן נאך א מענטש. ווען א בילד לייזט אויס א דעפענדיענס לויט נאמען און קאנסולטירט א פובליק רעגיסטרי צוזאמען מיט א פריוואטן, איז די העכערע ווערסיע נומער די וואס געווינט. א נאמען באשאפן ביי 0.0.1 מאָנטיק און טראָגן 12.9.6 דינסטיק איז פּאַזיציאָנירט פֿאַר יענעם פֿאַרגלייַך.

די צוויי פובליקאציע כוואליעס זענען אויך אנדערש אויף א וועג וואס ווייזט אויף איטעראציע. דער פריערדיגער קאוד האט געגעבן דעם נאמען פון זיין פּיילאָוד טעקע. סעטאַפּ.דזשעי.עס און אויסגערעכנט פינף דעליווערי האוסטס; די איצטיגע טעקע הייסט _פּאָליפיל.דזשעי.עס און ליסטירט דריי. די פריערדיגע ווערסיע האט אַוועקגענומען די אַראָפּגעלאָזטע טעקע פינף סעקונדעס נאָך דעם לאָנטש, לאָזנדיק דעם פּראָצעס לויפן פֿון אַ אויסגעמעקטע ינאָד; די איצטיקע ווערסיע טוט נישט. די אַנרעפֿערענצירטע lib/טעלעמעטריע.דזשעי.עס בלייבט אין טאַרבאָל אויף ביידע, נאָך אַלץ געשיקט, נישט מער איינגעשריבן.

איין באַמערקונג וועגן די קיל סוויטשיז איז ווערט צו דערמאָנען פריערcisעלי, ווייל עס שניידט קעגן א געווענליכע לייענונג. DISABLE_TELEMETRY, אנאליטיקס_אויסקלייבן, און נישט_שפּור ווערן אויסגעהאלטן, און זיי ווערן געטשעקט איידער עפּעס אַנדערש פּאַסירט. אַ פאָרשער וועמענס אַנאַליז סביבה שטעלט איינע פון ​​זיי באַמערקט אַ פּעקל וואָס טוט גאָרנישט.

השפּעה און וואָס דיפענדערס קענען טאָן

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

פֿאַר גייעג, די דויערהאפטע סיגנאַלן זענען סטרוקטורעל אלא ווי ליטעראַל. די האָסטס, דער טעקע נאָמען, און די דראָפּ פּאַטס וועלן זיך ענדערן; די פֿאָרמען זענען שווערער צו ווערייִרן:

  • א מאָדול ארייַנגאַנג פּונקט וועמענס לעצטע דערקלערונג איז אַ פּרוּווט { require(“./x”); } catch (_) {} אַרום אַ טעקע וואָס איז נישט טייל פֿון דער עקספּאָרטירטער API. א פּעקעדזש מיט אַן עכטן פּאָליפֿילל אימפּאָרטירט עס פֿון אויבן און ניצט זײַן רעזולטאַט. פֿאַרשלינגען יעדן טעות פֿון אַן אימפּאָרט פֿון אונטן איז נישט קיין טעות־באַהאַנדלונג.
  • האָסט סטרינגס צוזאַמענגעשטעלט דורך .join("") פון אַ רייַ פראַגמענטן. לעגיטימער קאָד האט נישט קיין סיבה צו צעטיילן אַ האָסטנאַמע צווישן אַרעי עלעמענטן.
  • א פּעקל וועמענס דעקלערירטע דעפּענדענסיעס זענען ליידיק אָבער וואָס גרייכט צו הטטפּס, דנס, און קינד_פּראָסעס ביים אימפארט צייט. צוריקקריגן פּלוס אויספירן אין אַ פּעקל וואָס אַדווערטייזט אַ UI קאָמפּאָנענט איז די גאנצע געפינס.
  • ווערסיע נומערן וואָס זענען נישט קאָנסיסטענט מיט אַ פּעקל'ס עלטער. אַ נאָמען וואָס איז ערשט פאַרעפֿנטלעכט געוואָרן עטלעכע טעג צוריק ביי אַ צוויי-ציפֿעריקער הויפּט ווערסיע, אָן קיין צווישן-אַרויסגעבונגען, באַשרײַבט עפּעס אַנדערש ווי זײַן אַנטוויקלונג.
  • שרייבט צו / וואַר / טמפּ or % TEMP% נאכגעגאנגען דורך אַ טשמאָד צו 0755 און א אפגעטיילטע ספאון. די סעקווענץ איז קורץ, אָרדנטלעך, און זעלטן גוטהאַרציק צוזאַמען.

אויף ווינדאָוס האָסטס זענען דאָ צוויי ביליקע, הויך-זיכערהייט טשעקס. די פּערסיסטענס אַרטיפאַקץ זענען פאַרפעסטיקטע סטרינגס און קיינער פון זיי געהערט נישט צו אַ ריין סיסטעם: אַ סקעדזשולד טאַסק ביי \מייקראָסאָפֿט\ווינדאָוס\מולטימעדיאַ\סיסטעם סאַונדס סערוויס, אַ לויף-שליסל ווערט מיטן נאָמען סיסטעם סאַונדס סערוויס, און אַן עקסעקוטאַבאַל מיט דעם נאָמען אונטער %APPDATA%\Microsoft\Windows\Themes\דער עכטער ווינדאָוס אַודיאָ סערוויס געפינט זיך נישט אין קיין איינעם פון די ערטער. צווייטנס, דער לאָודער ניצט אַ פאַרפעסטיקטן איין-אינסטאַנץ מוטעקס, Global\{7A3B9E1F-C2D4-4F8A-B5E6-D7A1F0C3E2B9}; זײַן אנוועזנהייט אויף אַ האָסט איז אַן אָנצײַגער, און ווײַל דער לאָודער באַהאַנדלט אַן עקזיסטירנדיקן מוטעקס ווי "שוין לויפט", איז זײַן פֿאָר-שאַפֿונג אַ לעבנספֿעיקע קורץ-טערמין אינאָקולאַציע בשעת רעמעדיאַציע איז געפּלאַנט.

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

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

צום סוף, די נישט-פובליקאציע איז ווערט צו לייענען קערפול אנשטאט אלס א סוף. ניינצן נעמען האבן פארלאזט דעם רעגיסטרי אין פינף און צוואנציג סעקונדעס און איינער איז צוריקגעקומען א טאג שפעטער אונטער א נייעם אקאונט, מיט די ליפערונג אינפראסטרוקטור אומגערירט דורכאויס. אראפנעמען פעקלעך איז נישט אראפנעמען די אפעראציע; די האוסטס האבן ווייטער געדינט יעדן שטאפל בשעת דאס איז געשריבן געווארן. יעדער אפהענגיקייט בוים וואס האט אויפגעלייזט איינעם פון די נעמען צווישן 31 יולי און 1 אויגוסט זאל באהאנדלט ווערן ווי האבנדיק געהאט די געלעגנהייט אויסצופירן שטאפל איינס, צי דער נאמען עקזיסטירט נאך אדער נישט.

רעפֿערענצן

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

זיכער מאַכן אייער ווייכווארג אַנטוויקלונג און עקספּרעס

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