U zbulua kod keqdashës në paketën Module-AutoLoad Perl
Në një paketë Perl të shpërndarë përmes drejtorisë CPAN Moduli-Autoload, i projektuar për të ngarkuar automatikisht modulet CPAN në fluturim, identifikuar kod me qëllim të keq. Futja me qëllim të keq ishte gjetur në kodin e testimit 05_rcx.t, e cila ka nisur që nga viti 2011.
Vlen të përmendet se pyetjet në lidhje me ngarkimin e kodit të dyshimtë u ngritën në StackOverflow në vitin 2016.
Aktiviteti keqdashës zbret në një përpjekje për të shkarkuar dhe ekzekutuar kodin nga një server i palës së tretë (http://r.cx:1/) gjatë ekzekutimit të një grupi testimi të nisur gjatë instalimit të modulit. Supozohet se kodi i shkarkuar fillimisht nga serveri i jashtëm nuk ishte me qëllim të keq, por tani kërkesa është ridrejtuar në domenin ww.limera1n.com, i cili ofron pjesën e tij të kodit për ekzekutim.
Për të organizuar shkarkimin në një skedar 05_rcx.t Përdoret kodi i mëposhtëm:
$prog im = __FILE__;
$prog =~ s{[^/]+\.t}{../contrib/RCX.pl}x;
my $try = `$^X $prog`;
Kodi i specifikuar bën që skripti të ekzekutohet ../contrib/RCX.pl, përmbajtja e së cilës reduktohet në rreshtin:
Ky skenar ngarkohet i hutuar duke përdorur shërbimin perlobfuscator.com kodi nga hosti i jashtëm r.cx (kodet e karaktereve 82.46.99.88 korrespondojnë me tekstin "R.cX") dhe e ekzekuton atë në bllokun eval.
Paketa problematike tani është hequr nga depoja. PAUSE (Serveri i ngarkimit të autorëve të Perl), dhe llogaria e autorit të modulit është e bllokuar. Në këtë rast, moduli mbetet ende në dispozicion në arkivin MetaCPAN dhe mund të instalohet drejtpërdrejt nga MetaCPAN duke përdorur disa shërbime të tilla si cpanminus. Vihet rese paketa nuk u shpërnda gjerësisht.
Interesante për të diskutuar lidhur dhe autori i modulit, i cili mohoi informacionin se kodi keqdashës ishte futur pasi u hakerua faqja e tij "r.cx" dhe shpjegoi se ai thjesht po argëtohej dhe përdori perlobfuscator.com jo për të fshehur diçka, por për të zvogëluar madhësinë. të kodit dhe thjeshtimi i kopjimit të tij nëpërmjet clipboard-it. Zgjedhja e emrit të funksionit "botstrap" shpjegohet me faktin se kjo fjalë "tingëllon si bot dhe është më e shkurtër se bootstrap". Autori i modulit siguroi gjithashtu që manipulimet e identifikuara nuk kryejnë veprime me qëllim të keq, por vetëm demonstrojnë ngarkimin dhe ekzekutimin e kodit përmes TCP.