← Të gjithë artikujt

Paketë npm me qëllim të keq synon zhvilluesit e Twilio përmes një hetimi të rremë

Paketë npm me qëllim të keq synon zhvilluesit e Twilio përmes një hetimi të rremë

Një paketë npm me qëllim të keq e quajtur tw-pkgprobe-7731 është gjetur duke u shtirur si një mjet sigurie për zhvilluesit që integrojnë Twilio në aplikacionet e tyre, ndërsa në heshtje përpiqej të mblidhte të dhëna të ndjeshme nga makinat e tyre. Paketa u publikua në regjistrin npm, depoja qendrore online për paketat e kodit JavaScript, nga një llogari e quajtur twdepprobe7731 në mesin e gushtit 2026. Studiuesja e ReversingLabs, Lucija Valentić, përshkroi gjetjet në një raport, duke vënë në dukje se 11 versione u publikuan brenda rreth 45 minutash në të njëjtën ditë, dhe llogaria që i publikoi ato nuk ekziston më në kohën e raportit.

Versioni i parë përpiqej të dukej si një hetim i autorizuar i kërkimit të sigurisë. Komentet brenda paketës e përshkruanin atë si një hetim të autorizuar të kërkimit të bug-bounty për programin Twilio HackerOne, duke pretenduar se funksionon vetëm brenda sandbox-it të paketuesit serverless të Twilio dhe mbledh kontekstin lokal të procesit dhe hostit, duke e shkruar pranë vetes pa asnjë veprim shkatërrues. Kur ekzekutohej, paketa së pari kontrollonte nëse po funksiononte brenda një mjedisi zhvilluesi Twilio. Nëse ky kontroll dështonte, ajo dilte menjëherë. Nëse kontrolli kalonte, ajo mblidhte variabla mjedisi, të cilat janë pjesë të vogla informacioni që programet përdorin si detajet e llogarisë, së bashku me detaje të sistemit si ruajtja e montuar, dosjet e përkohshme dhe cilësime të ndryshme konfigurimi. Gjithçka që mblidhte dërgohej më pas në një destinacion të jashtëm përmes një webhook, që do të thotë se programi i dërgonte të dhënat automatikisht në një URL të kontrolluar nga sulmuesi.

Versionet e mëvonshme, të numëruara 1.0.1, 1.0.2 dhe 1.0.3, ndryshuan fokusin te zhvilluesit që përdorin API-t e Twilio. Këto versione kërkonin dosje të lidhura me SID-e specifike të llogarive Twilio, identifikuesit e vargut që etiketojnë çdo llogari Twilio. Kodi shmangte çdo veprim nëse gjente një dosje me një emër specifik SID. Nëse gjendeshin dosje të synuara që përputheshin, paketa skanonte paketat e instaluara npm dhe dosjen node_modules, ku projektet JavaScript mbajnë varësitë e tyre, dhe injektonte një paketë të personalizuar proof-of-concept duke krijuar skedarë të rinj package.json dhe index.js brenda saj. Me fjalë të tjera, ajo përpiqej të mbillte kod shtesë në projektin e një zhvilluesi kur plotësoheshin kushtet e duhura.

Versioni 1.0.4 shkoi më tej. ReversingLabs zbuloi se ky version shtoi aftësinë për të vjedhur dy variabla specifike mjedisi: process.env.ACCOUNT_SID dhe process.env.AUTH_TOKEN. Këto janë vlerat që identifikojnë një llogari Twilio dhe vërtetojnë se një kërkesë është e autorizuar. Nëse një sulmues i merr të dyja, ata potencialisht mund të kontrollojnë llogarinë Twilio të viktimës mjaftueshëm për të autorizuar faturimin dhe për të nisur komunikime. Raporti shpjegon se versionet e paketës nuk ndiqnin udhëzimet e publikuara të Twilio për gjuetinë e bug-eve në HackerOne, dhe studiuesja tha se këto paketa shkelin qartë udhëzimet bazë të kërkimit të sigurisë që Twilio vendosi, gjë që sugjeron se paketat kishin qëllim të keq.

Tre versionet e fundit, të numëruara 1.0.8, 1.1.0 dhe 1.1.1, bënë një hap të papritur prapa. Ato u kthyen në sjelljen bazë të hetimit të parë në versionin e parë dhe hoqën funksionet me qëllim të keq të shtuara në versionet e mëparshme. Dy versionet e fundit gjithashtu kryen mbledhje inteligjence me burime të hapura, ose OSINT, duke kontaktuar disa emra hostesh të lidhura me Twilio: support-api.us1.twilio[.]com, kafka-ui.au1.twilio[.]com dhe litellm.ai-services.corp.twilio[.]com. Ato madje u përpoqën të merrnin metadata e Amazon Web Services nga adresa speciale 169.254.169[.]254/latest/meta-data/, e cila mund të ekspozojë informacione rreth serverit cloud. Për shkak se paketa ndryshoi drejtim kaq shpesh, studiuesit thonë se nuk është e qartë se cili ishte qëllimi përfundimtar dhe nëse u publikua si pjesë e një programi bug bounty.

Pavarësisht përpjekjes për të përzier kod të dëmshëm dhe të padëmshëm, autori nuk bëri asnjë përpjekje reale për të fshehur pjesët me qëllim të keq. Nuk kishte obfuscation, që do të thotë se kodi nuk ishte i ngatërruar për ta bërë të vështirë për t'u kuptuar, dhe nuk kishte typosquatting, që do të thotë se krijuesi nuk përdori një emër shumë të ngjashëm me një paketë të besuar për të mashtruar zhvilluesit. Llogaria publikuese e npm gjithashtu nuk bëri asnjë përpjekje për t'u dukur si një publikues legjitim. ReversingLabs vuri në dukje se kjo është e ndryshme nga fushatat e mëparshme dhe sugjeron se një aktor kërcënimi më pak i sofistikuar ishte përgjegjës për përpjekjen që synonte zhvilluesit e Twilio. Për këdo që ndërton ose drejton softuer që varet nga paketat npm, ky rast është një kujtesë se një përshkrim i besueshëm dhe një koment me pamje profesionale brenda kodit nuk mjaftojnë për të krijuar besim.

Pronarët e faqeve dhe ekipet e IT-së duhet ta trajtojnë zgjedhjen e paketave si një vendim sigurie, jo thjesht si një lehtësi. Kontrollimi i llogarisë së publikuesit, moshës së saj dhe historisë së publikimeve përpara instalimit mund të kapë hetime të rreme përpara se ato të ekzekutohen. Lexuesit që menaxhojnë faqet e tyre të internetit gjithashtu mund të zvogëlojnë një pjesë të këtij rreziku duke zgjedhur një ofrues hostimi si AEU Hosting që merret me përditësimet e sigurisë dhe monitorimin për mjediset e menaxhuara WordPress, në mënyrë që një varësi me qëllim të keq të ketë më pak hapësirë për t'u përhapur.

Disponueshëm edhe në: EnglishDeutschItaliano