טל; דר
א מעיוון צענטראל ארטיפאַקט ארויסגעגעבן אלס io.github.davidtimur:c2-lab האט ארויסגעשיקט ניין אויסגאבעס, אכט פון וועלכע האבן אויסגעפירט א ווייטער-צוטריט פּיילאָוד בעת די קאמפילאציע פון יעדן דאון-סטרים פראיעקט וואס האט געשטעלט דעם דזשאַר אויף זיין אנאטאציע-פראסעסאר וועג. קיין אפליקאציע קאוד האט נישט געדארפט עס אימפארטירן. קיין שורה פון קוואל האט נישט געדארפט עס רעפערענצירן. עס איז נישט געווען קיין אינסטאַלאַציע סקריפּט, קיין נאָך-אינסטאַלאַציע עקוויוואַלענט, און קיין לעבן-ציקל הוק פון קיין סאָרט פֿאַר מכשירים צו דורכקוקן.
דער עקסעקוציע וועקטאָר איז אַן איינציקע 46-בייט טעקע אינעווייניק פון דעם דזשאַר: אַ דזשאַוואַ סערוויס-פּראַוויידער רעגיסטראַציע וואָס גיט אַ נאָמען פֿאַר אַ קלאַס וואָס ימפּלאַמענטירט javax.annotation.processing.Processorדער דזשאַוואַ קאָמפּיילער אַנטדעקט אַזעלכע רעגיסטראַציעס אויטאָמאַטיש. אַמאָל געפֿונען, javac אינסטאַנצירט און לויפט די קלאַס ווי אַ נאָרמאַלער טייל פון קאָמפּילירן. דאָס מיינט אַז די פּיילאָוד'ס ראַנטיים סביבה איז די בילד מאַשין, אין דעם מאָמענט וואָס די בילד מאַשין טוט די איינציקע זאַך וואָס זי עקזיסטירט צו טאָן.
איבער די ניין אויסגאבעס איז דער קאמאנד-און-קאנטראל קאנאל איבערגעבויט געווארן דריי מאל: אן אפעראטאר-געגעבענער קאל-בעק URL, דערנאך א ריווערס שאָל איבער אן נגרוק TCP טונעל, דערנאך אן HTTP פּאָלינג קאנאל וועמענס וועגן האבן זיך געטוישט נאך צוויי מאל. די לעצטע אויסגאבע האט אינסטאלירט א נישט-אפ TLS טראסט מענעדזשער אלס די JVM פעליקייט, אַקצעפּטירן יעדן סערטיפיקאַט פֿאַר דער געדויער פֿון קאָמפּילירן.
דער אַרטיפאַקט האָט געטראָגן די ווערטער "C2 Lab Payload" אין זײַן אייגענעם POM און אַן MIT ליצענץ. עס איז געווען לעבעדיק אויף Maven Central פֿאַר דער גאַנצער צײַט וואָס מיר האָבן עס באַאָבאַכטעט און איז זינט דעמאָלט אַוועקגענומען געוואָרן, צוזאַמען מיט זײַן גאַנצן io.github.davidtimur גרופּע.
אַנאַטאָמיע: דער קאָמפּיילער ווי אַן אויספֿירונג מאָטאָר
דזשאַוואַ'ס אַנאָטאַציע פּראַסעסינג פריימווערק עקזיסטירט אַזוי אַז לייברעריז קענען דזשענערירן קאָד ביי קאָמפּייל צייט — דער מעכאַניזם הינטער לאָמבאָק, דאַגער, און אַ לאַנגע רשימה פון ORM און סעריאַליזאַציע מכשירים. אַ פּראַסעסער מעלדט זיך מיט אַ פּשוט-טעקסט טעקע אינעווייניק פון דעם דזשאַר:
מעטאַ-INF/סערוויסעס/דזשאַוואַקס.אַנאָטיישאַן.פּראָסעסינג.פּראָסעסאָר
דער אינהאַלט פֿון יענער טעקע אין יעדער באַטראָפענער ווערסיע, וואָרט בײַ וואָרט און פֿולשטענדיק:
io.github.davidtimur.c2lab.C2Processor
די טעקע איז בייט-אידענטיש איבער די ווערסיעס 1.0.1 ביז 1.0.8, md5 7d2a08a5c8869a47eea9fa62487dfbe4. ווערסיע 1.0.0 אנטהאלט עס נישט.
ווען יאַוואַנעזיש ווען עס לויפט, סקענט עס דעם אנאטאציע-פראסעסאר וועג פאר די סערוויס איינטראגעס און לאודט וואס עס געפינט. גארנישט אין דעם פראיעקט וואס ווערט קאמפיילט דארף נישט דערמאנען דעם פראסעסאר, אנאטירן עפעס, אדער קאנפיגורירן עפעס. אנוועזנהייט אויפן וועג איז גענוג. דאס איז די אייגנשאפט וואס טיילט אפ JavacDoor פון די סופּליי-טשעין מוסטערן ארום וועלכע רוב טולינג איז געבויט:
| מוסטער | צינגל | קענטיק ווי |
|---|---|---|
| npm אינסטאַלירן קרוק | npm install | scripts.postinstall אין דעם מאַניפעסט |
| פּיטהאָן אימפארט-צייט פּיילאָוד | ערשטער אימפארט פון דעם מאדול | מאָדול-לעוועל סטעיטמענט אין מקור |
| דזשאַוואַק טיר | javac אויף יעדן דאון-סטרים פראיעקט | אַ סערוויס-רעגיסטראַציע טעקע נאָמען |
אן אינסטאל הוק איז א דעקלעראציע אין א מאניפעסט, און א מאניפעסט איז דאס ערשטע וואס יעדער לייענט. אן אימפארט-צייט פיילד געפינט זיך כאטש אין א ליינענעם קוואל-קוואל. א סערוויס רעגיסטראציע איז קיינס פון ביידע: עס איז א פייל-נאמען פלוס איין שורה וואס גיט א נאמען פאר א קלאס, און די אויפפירונג געפינט זיך אין א קאמפיילירטן בייטקאד א דירעקטארי אוועק.
די פּיילאָוד קלאַס אַליין פירט אויס די באַלעבאָס רעקאָנסאַנס דורך אויסשיסן. די קאָנסטאַנטע פּולס פון די קאָמפּילירטע קלאַסן אַנטהאַלטן. / בין / ש, ווער בין איך, ונאַמע -אַ, pwd אויף דעם יוניקס וועג און טאַסקליסט אויף דעם ווינדאָוס דרך, צוזאַמען מיט רידירעקט עראָר סטרים צו צונויפגיסן די טעות רעזולטאַטן פון דעם קינד פּראָצעס אין דעם קאַפּטשערד סטרים. צוויי JSON טעמפּלאַטן פירן רעזולטאַטן אַוועק דעם האָסט — אַ רעגיסטראַציע בעאַקאָן:
{"host":"%s","os":"%s","user":"%s","dir":"%s"}
באַפעלקערט פֿון די hostname באַפֿעל און די אָפּערירן סיסטעם נאָמען, באַניצער נאָמען, און באַניצער.דיר סיסטעם אייגנשאפטן, און א רעזולטאט צוריקרוף:
{"version":"%s","host":"%s","time":"%s","output":"%s"}
די פּראָגרעס מאַרקערס וואָס זענען געבליבן אין דעם קאָמפּיילער'ס אייגענעם רעזולטאַט זענען ומגעוויינטלעך קלאָר: [C2] קאָמפּייל-צייט אויספירונג פֿאַרטיק, [C2] צוריקרוף געשיקט → HTTP , [C2] שאָל פארבונדן צו .
ניין אויסגאבעס, דריי C2 דורות
די אויסגאבעס זענען נישט ניין קאפיעס פון איין פּיילאָוד. זיי זענען אן איטעראַציע לאָג, און לייענען זיי אין סדר ווייזט אז דער קאַנאַל ווערט איבערגעבויט בשעת דער דעליווערי וועקטאָר איז געבליבן פאַרפעסטיקט.
| מעלדונג | אויטאָ-אויספירט ביים קאָמפּילירן | קאַנאַל |
|---|---|---|
1.0.0 | ניין (קיין סערוויס טעקע) | נאָר דורך אָפּעראַטאָר צוגעשטעלטע רוף-צוריק URL |
1.0.1 | יא (וועקטאר איינגעפירט) | אָפּעראַטאָר-געגעבענע רוף-צוריק URL |
1.0.2 | יאָ | פאַרקערט שאָל, נגרוק TCP טונעל |
1.0.3 | יאָ | HTTP קאַנאַל, /רעגיסטריר /קמד /אויס |
1.0.4 | יאָ | HTTP קאַנאַל, /רעגיסטריר /קמד /אויס |
1.0.5 | יאָ | HTTP קאַנאַל, /רעגיסטריר /פּאָל /אויס |
1.0.6 | יאָ | HTTP קאַנאַל, /רעגיסטריר /פּאָל /אויס |
1.0.7 | יאָ | HTTP קאַנאַל, /רעגיסטריר /cmd |
1.0.8 | יאָ | HTTP קאַנאַל + TLS וואַלידאַציע דיסייבאַלד |
דריי דעטאַלן אין יענער טאַבעלע זענען ווערט צו אַרויסצייכענען, ווײַל יעדער איינער ענדערט ווי אַזוי די אַרטיפאַקט-גרופּע זאָל געלייענט ווערן.
דער וועקטאָר קומט אָן ביי 1.0.1, נישט 1.0.2. ווערסיע 1.0.0 טראָגט די זעלבע רעקאָנאַסאַנס און קאָלבעק לאָגיק אָבער האט נישט קיין סערוויס טעקע און נישט קיין אַנאָטאַציע-פּראַסעסינג אימפּאָרטן; עס לויפט נאָר אויב עפּעס רופט עס אָן. פֿון 1.0.1 איז די סערוויס טעקע פאַראַן און די קאָמפּילירטע קלאַסן אימפּאָרטירן דזשאַוואַקס.אַנאָטאַציע.פּראַסעסינג.געשטיצטע מקור ווערסיעיעדע אפשאצונג וואס פארגלייכט די צוויי בילעטירטע אויסגאבעס — 1.0.0 און 1.0.2 — קומט ריכטיג צום אויספיר אז עפעס האט זיך געענדערט, אבער אידענטיפיצירט פאַלש וואו.
די פאַרקערטע שאָל עקזיסטירט אין פּונקט איין מעלדונג. ווערסיע 1.0.2 אנטהאלט 0.tcp.ngrok[.]io, די לאָג ליניע [C2] שאָל פארבונדן צו 0.tcp.ngrok[.]io:19823, אַן אינטעראַקטיווער באַנער c2-שאָל, און אַ ראַם טערמינאַטאָר __ענדע__אויסגאבעס 1.0.3 און ווייטער אנטהאלטן נישט קיין איינע פון די און אנשטאט דערגרייכן אן HTTPS האוסט. א "takedown request" וואס נעמט נאר די טיקעטירטע אויסגאבעס וואלט דערמאנט א טויטן TCP ענדפונקט בשעת'ן לאזן דעם לעבעדיגן HTTP קאנאל, וואס איז פאראן אין זעקס שפעטערע אויסגאבעס, אומדערמאָנט.
די לעצטע מעלדונג נעמט אַוועק טראַנספּאָרט וועריפיקאַציע. אויסגאבע 1.0.8 לייגט צו א קלאס וואס אימפלעמענטירט javax.net.ssl.X509TrustManager וועמענס סערטיפיקאט-קאנטראל מעטאדן טוען גארנישט, א שטענדיג-אמת'דיגער האוסטנאמען וועריפיצירער רעגיסטרירט דורך שטעלן דיפאָלט האָסטנאַמע וועריפייער, און אַ טראַסט אַלע רוטין וואָס אינסטאַלירט ביידע ווי די JVM'ס דיפאָלטס. דער עפֿעקט איז אַז פֿאַר די רעשט פֿון יענעם קאָמפּייל, אַקסעפּטירט די JVM יעדן סערטיפֿיקאַט פֿון יעדן האָסט — נישט נאָר פֿאַר די פּיילאָוד'ס אייגענעם טראַפֿיק, נאָר פֿאַר אַלץ אַנדערש וואָס דער בילד טוט איבער TLS דערנאָך.
דער HTTP קאַנאַל, אין אַלע זעקס ווערסיעס וואָס נוצן עס, ווערט געפירט דורך אַן איינציקן האָסט: טישפול-פערוואָר-משוגע.נגרוק-פריי[.]דעוויעדע בקשה טראָגט דעם קעפּל נגראָק-סקיפּ-בראַוזער-ווארענונג, וואָס אונטערדריקט די אינטערסטיציעלע בלאַט וואָס פרייע נגראָק טונעלן סערווירן צו בראַוזערז. פּאַט סעטס טוישן זיך איבער ריליסיז — /אויס פֿאַרשווינדט ביי 1.0.7, און /cmd אָלטערנירט זיך מיט / אַנקעטע — אבער דער באַלעבאָס טוישט זיך קיינמאָל נישט.
די זעלבסט-אויסשליסונג דערציילן
יעדער POM פֿון 1.0.1 און ווייטער שטעלט אַ קאָמפּיילער אַרגומענט פֿאַר דעם אַרטיפאַקט'ס אייגענעם בילד:
-פּראָק:קיין
יענע פאָן דיסייבאַלז אַנאָטאַציע פּראַסעסינג. איר ווירקונג דאָ איז פאַר-cise: ווען דער פראיעקט וואס אנטהאלט דעם פראסעסאר ווערט אליין קאמפיילט, לויפט דער פראסעסאר נישט.
די פאָן האט גאָר געוויינטלעכע נוצן. אַ פּראָיעקט וואָס שיקט אַן אַנאָטאַציע פּראַסעסאָר דאַרף אָפט ויסמיידן צו אַפּלייינג יענעם פּראַסעסאָר צו זיך בעת בוטסטראַפּ, און בילד-טול דאָקומענטאַציע רעקאָמענדירט פּונקט דאָס. אַליין גענומען באַווייַזט עס גאָרנישט.
צוזאַמען גענומען מיט וואָס דער פּראַסעסאָר טוט, אָבער, באַשרײַבט עס אַ ספּעציפֿישע אַסימעטריע: דער קאָד עקסעקוטירט אויף די מאַשינען פון יעדן וואָס קאָמפּיילירט קעגן דעם אַרטיפאַקט, און נישט אויף דער מאַשין וואָס בויט דעם אַרטיפאַקט. דער פאָן דערשיינט אין דער זעלבער מעלדונג וואָס שטעלט פֿאָר דעם סערוויס טעקע — 1.0.1 — און אין יעדער מעלדונג נאָך אים. די קאָרעלאַציע צווישן "דער מעלדונג וווּ קאָמפּייל-צײַט עקסעקוטיאָן הייבט זיך אָן" און "דער מעלדונג וווּ קאָמפּייל-צײַט עקסעקוטיאָן איז אויסגעלאָשן לאָקאַל" איז דער איינציקער נוצלעכער אַנאַליטישער סיגנאַל אין דעם אַרטיפאַקט סעט, און עס איז קענטיק אין אַ פּשוט-טעקסט POM אָן דעקאָמפּילירן עפּעס.
מיר באַמערקן דעם עפֿעקט און שטעלן זיך דאָרט אָפּ. גאָרנישט אין די אַרטיפאַקץ רעדט וועגן פאַרוואָס די פֿאָן איז געשטעלט געוואָרן.
נאך א שטיקל מעטאדאטן איז ווערט צו דערמאנען, מערסטנס כדי עס צו באזייטיגן. די POM רופט דעם פראיעקט "C2 לאב פּיילאָוד", באשרייבט עס אלס א "C2 לאב פּיילאָוד אַרטיפאַקט", און לייסענסט עס צו MIT. זעלבסט-באצייכענונג פון דעם סארט ווערט מאנchmal געפֿינט אלס באווייז אז א פעקל איז א פארשונגס-איבערארבעטונג.cisאלא ווי אַ לעבעדיקע סכּנה, און מאַנטשמאָל איז יענע לייענונג ריכטיק — אַ דערקלערטער קאַנאַריק אָן קיין דערגרייכבאַרע אינפֿראַסטרוקטור איז אַן אַנדער אָביעקט פֿון דעם דאָ. דאָס גילט נישט דאָ. אַ פֿונקציאָנעלער אימפּלאַנט וואָס ווערט פֿאַרעפֿנטלעכט אין אַ עפֿנטלעכן רעפּאָזיטאָרי, דערגרייכבאַר פֿאַר יעדן קאָנסומער, מיט אַ אַרויסגייענדיקער אינפֿראַסטרוקטור וואָס איז געוואָרן איבערגעבויט דריי מאָל איבער נייַן אויסגאַבעס, איז אַ לעבעדיקע מעגלעכקייט, נישט קוקנדיק אויף ווי די מעטאַדאַטאַ רופֿט עס אָן. דער נאָמען אין דעם POM טוישט גאָרנישט וועגן וואָס פּאַסירט אויף אַ מאַשין וואָס קאָמפּיילירט קעגן אים.
אינדיקאַטאָרן פֿאַר בויען מאַשינען
אויב אַ בילד האָסט האָט קאָמפּיילט קעגן דעם אַרטיפאַקט, ליגט דער באַווייַז אין בילד לאָגס און נעץ טעלעמעטריע אַנשטאָט אין אַ פּערסיסטענט ימפּלאַנט אויף דיסק — די פּיילאָוד לויפט אינעווייניק דעם קאָמפּיילער פּראָצעס און פֿאַרלאָזט זיך מיט אים.
אין דעם דזשאַר אָדער לאָקאַלן רעפּאָזיטאָרי קאַש
META-INF/services/javax.annotation.processing.Processorנאַמינגio.github.davidtimur.c2lab.C2Processor- סערוויס טעקע md5
7d2a08a5c8869a47eea9fa62487dfbe4 - קלאַסן אונטער
io/github/davidtimur/c2lab/:C2Processor,C2Task,Task, און אין 1.0.8 די אינערלעכע קלאַסTask$1
אין-בויען אויסגאבע
[C2] compile-time execution complete[C2] callback sent → HTTP[C2] callback failed:[C2] shell connected to- אינטעראַקטיווער באַנער
c2-shellראַם טערמינאַטאָר__END__
אין פּראָצעס טעלעמעטריע
javacאלס דער עלטערן פון/bin/sh -c(יוניקס) אדער א ווינדאָוס קאָמאַנד איבערזעצער- קינד באַפֿעלן
whoami,uname -a,pwd(יוניקס) אדערtasklist(ווינדאָוס) באַהאַנדלט דורך אַ קאָמפּייל שריט
אין נעץ טעלעמעטריע
- ארויסגייענדיקע TCP צו
0.tcp.ngrok[.]io:19823(פאַרעפֿנטלעכונג 1.0.2) - HTTPS צו
tableful-fervor-crazed.ngrok-free[.]dev, וועגן/register,/cmd,/poll,/out(פֿאַרעפֿנטלעכונגען 1.0.3 ביז 1.0.8) - בקשה כעדער
ngrok-skip-browser-warning: true - בעטן קערפערס וואָס פּאַסן
{"host":...,"os":...,"user":...,"dir":...}or{"version":...,"host":...,"time":...,"output":...}
אין קאַנפיגיעריישאַן
- סוויווע וועריאַבאַלז
CALLBACK,CALLBACK_URLסיסטעם אייגנשאַפטcallback.url
ארויסגעבער מעטאדאטן
- גרופּע
io.github.davidtimurאַדרעס פֿונעם פֿאַרלעגערdavudboi999@gmail[.]com; אונטערשריפט שליסלE520C345EF94423D
א בילד וואָס האָט געלאָפן ווערסיע 1.0.8 דאַרף נאָך איין קאָנטראָל. ווײַל יענע ווערסיע אינסטאַלירט אַ פּערמיסיוון טראַסט מענעדזשער ווי אַ JVM-ברייטן דיפאָלט, יעדע TLS פֿאַרבינדונג וואָס איז געמאַכט שפּעטער אין דער זעלבער JVM — דעפּענדענסי רעזאָלוציע, אַרטיפאַקט אַפּלאָוד, אַ דיפּלוימאַנט שריט — איז פֿאָרגעגאַנגען אָן סערטיפֿיקאַט וואַלידאַציע. טראַפֿיק פֿון יענעם פֿענצטער זאָל נישט ווערן אָנגענומען ווי אויטענטיש.
פארוואס קאמפיילירטע ארטיפאקטן דארפן אנדערע סקענירן
דזשאַוואַקדור איז אַ נוצלעכער טעסט פאַל ווײַל עס באַזיגט צוויי געוויינטלעכע הנחות אויף איין מאָל, און קיין דורכפאַל איז נישט ספּעציפֿיש צו קיין איין פאַרקויפֿער'ס מכשירים.
די ערשטע הנחה איז אז געפערלעכער קאוד מעלדט זיך אליין אין א מאניפעסט. א גרויסע מאָס פון סאַפּליי-קייט מכשירים איז אָרגאַניזירט אַרום לעבן-ציקל hooks, ווייל פאר npm און PyPI איז דארט וואו די אקציע געווענליך איז. JavacDoor האט נישט קיין קרוק. זיין טריגער איז א סערוויס-רעגיסטראציע טעקע וועמענס נאמען איז א Java אינטערפייס און וועמענס אינהאלט איז א קלאס נאמען. צו כאפן דאס סטאטיש דארף מען באהאנדלען מעטאַ-INF/סערוויסעס/דזשאַוואַקס.אַנאָטיישאַן.פּראָסעסינג.פּראָסעסאָר אלס אן אויספיר-אריינגאנג-פונקט אין זיך אליין, אויף א גלייכן שטאפל מיט א נאָך-אינסטאַלירן סקריפּט — און דערנאָך נאָכפאָלגן די קלאַס וואָס איז גערופן געוואָרן אין בייטקאָד. עקאָסיסטעמען האָבן זייערע אייגענע אויטאָ-אויפדעקונג מעכאַניזמען פון דעם פֿאָרעם, און יעדער איז אַן אַרײַנגאַנג פּונקט צי טולינג רעכנט עס אויס ווי איינער צי נישט.
די צווייטע הנחה איז אז סטרינגס וואוינען אין קוואל טעקעס. פֿאַר אַ דזשאַר, די ענדפּונקטן, די שאָל קאָמאַנדעס, די JSON טעמפּלאַטן, און די לאָג מאַרקערס זענען אַלע אין די קאָנסטאַנט פּולס פון .קלאַס טעקעס. מכשירים וואָס נוצן greps טעקסט געפֿינען גאָרנישט — נישט ווײַל די סטרינגס זענען פֿאַרשוואַרצט, נאָר ווײַל זיי זענען אין אַ סטרוקטורירטן ביינערישן קאַנטיינער וואָס אַ טעקסט סקען פּאַרזירט נישט. יעדער נעץ אינדיקאַטאָר אין דעם פּאָסט איז געקומען פֿון קאָנסטאַנט-פּול פּאַרסינג. איינער פֿון זיי איז אַ פֿולשטענדיק פֿאָרמירטער https:// URL ליגט אין קלאָרן קוק אין אַ קלאַס טעקע; אַ טעקסט סקען פון די דזשאַר ס ליינעוודיק אינהאַלט וואָלט נאָך אַלץ נישט געוויזן עס. עס איז נישטאָ קיין ענקאָודינג צו באַזיגן דאָ, נאָר אַ קאַנטיינער פֿאָרמאַט צו לייענען.
ביידע לעכער האבן די זעלבע פארעם: אן ארטיפאקט פארמאט איז באהאנדלט געווארן ווי א זעקל מיט טעקעס אנשטאט ווי א סטרוקטור מיט דעפינירטע סעמאנטיק. די קארעקציע איז נישט גלאמאראז — אנאליזירן דעם קאנטעינער, אויסרעכענען די עקאסיסטעם'ס אייגענע אויטא-אויפדעקונג איינטריט פונקטן, און נאכפאלגן זיי אין קאמפיילירטן קאוד. פאר בילד-צייט וועקטארן ספעציפיש, איז א דריטע קאנטראל ביליג און איבעראשנד דיאגנאסטיש: פארגלייכן וואס אן ארטיפאקט טוט צו קאנסומערס קעגן וואס עס באפרייט זיך פון. אן ארטיפאקט וואס רעגיסטרירט א קאמפייל-צייט פראסעסאר און גלייכצייטיג דיסעיבלט קאמפייל-צייט פראסעסינג פאר זיין אייגענעם בילד האט אייך דערציילט עפעס וועגן זיך אין צוויי שורות פון פשוטן-טעקסט POM.
פֿאַר מאַנשאַפֿטן וואָס קאָנסומירן מײַווען אַרטיפאַקץ הייַנט, פֿאָלגן דרײַ פּראַקטישע מיטלען:
- באַהאַנדלט דעם אַנאָטאַציע-פּראַסעסער דרך ווי אַן אויספיר גרענעץ. דעפּענדענסיעס וואָס לאַנדן דאָרט לויפן קאָד אין דיין בילד. וואו אַ בילד דאַרף נישט אַנאָטאַציע פּראַסעסינג, -פּראָק:קיין איז אזוי נוצלעך דעפענסיוו ווי עס איז לכאורה געווען לאקאל דא; וואו עס טוט דאס, פּינט דעם פּראַסעסאָר סעט עקספּליציט אַנשטאָט עס צו ירשענען פונעם קאָמפּייל קלאַספּאַט.
- לאָג קאָמפּיילער סובפּראָצעסן. א קאמפייל שריט וואס שפאנט א שאָל איז אומנאמאל אין רוב פראיעקטן און איז טריוויאל אלערטירבאר.
- באַהאַנדלט נישט מעטאַדאַטאַ ווי עדות. "לאַב", "טעסט", "פּיילאָוד", און "PoC" אין אַ פּאַקעט נאָמען אָדער באַשרייַבונג זענען נישט קיין גרענעצן פֿאַר דערגרייכונג. דערגרייכבאַרקייט און נאַטור זענען יאָ.
דער אַרטיפאַקט און זײַן גאַנצע גרופּע זענען אַוועקגענומען געוואָרן פֿון מאַוואַן צענטראל נאכפאלגנדיג אונזער באריכט; ביידע דער ארטיפאקטן-וועג און דער גרופע-וועג געבן יעצט צוריק 404, און דער צענטראלער אינדעקס באריכטעט קיין גלייכע קאארדינאטן. דאס פארמאכט דעם ארטיפאקטן. עס פארמאכט נישט דעם וועקטאָר, וואס איז א דאקומענטירטע אייגנשאפט פון דעם דזשאווא קאמפיילער און צוטריטלעך פאר יעדן וואס פובליצירט א דזשער.
רעפֿערענצן
די דאזיגע תגובה ציטירט נישט קיין עקסטערנע קוועלער. אלע געפינסן זענען ערשט-האנטיקע סטאטישע אנאליזן פון די ניין פובליצירטע גלעזער, גענומען פון מעיוון צענטראל פארן אראפנעמען. קיין קאוד פון די ארטיפאקטן איז נישט עקסעקוטירט געווארן אין קיין שום מאמענט.







