TL; DR
Die Xygeni Sekuriteitsnavorsingspan geïdentifiseer a kwaadwillige npm-pakket, @dappaoffc/baileys-mod, gepubliseer as 'n vurk van die wyd gebruikte WhatsApp Web API-biblioteek @whiskeysockets/baileys.
Vanaf weergawe 8.0.1 bevat hierdie kwaadwillige npm-pakket 'n looptydkode-inspuiting binne. lib/Socket/newsletter.jsDie ingespuite logika teken die ontwikkelaar se geverifieerde WhatsApp-botsessie stilweg in op aanvaller-beheerde nuusbriefkanale.
Die vrag aktiveer 80 sekondes na die laai van die module en haal sy teikenlys dinamies vanaf GitHub op, wat die gedrag self-opdaterend maak en moeilik is om deur installasie-tyd-analise op te spoor.
Tegniese oorsig
Tydens roetine-monitering van nuut gepubliseerde afhanklikhede het die Xygeni Security Research Team anomale gedrag opgespoor in @dappaoffc/baileys-mod, later bevestig as 'n kwaadwillige npm-pakket teiken die WhatsApp-bot-ekosisteem.
Anders as wurms wat geloofsbriewe steel of ransomware-droppers, misbruik hierdie kwaadwillige npm-pakket die vertrouensverhouding tussen 'n ontwikkelaar en 'n algemeen gevurkte oopbronbiblioteek.
Die pakket bied homself aan as 'n gewysigde weergawe van Baileys, 'n gewilde WhatsApp Web API-implementering wat wyd gebruik word om outomatiseringsbotte te bou. Binne daardie ekosisteem is die installering van vurke algemene praktyk. Gevolglik het die aanvaller 'n realistiese verspreidingsmodel gebruik eerder as om 'n kwesbaarheid uit te buit.
Belangrik:
- Die voorinstallasieskrip valideer slegs Node.js-weergawe
- Geen geloofsbriewe-uitwissing vind plaas tydens installasie nie
- Geen verdagte na-installasie aktiwiteit verskyn nie
- Die inspuiting word streng tydens looptyd uitgevoer
As gevolg van hierdie ontwerp, sou installasietyd-skandeerders nie kwaadwillige gedrag opspoor nie.
Looptyd-inspuitmeganisme binne die kwaadwillige npm-pakket
Die kwaadwillige logika binne hierdie kwaadwillige npm-pakket leef in lib/Socket/newsletter.js, direk ingebed binne die module se uitvoeringskonteks.
Die aanvaller het die ingespuitte blok in 'n Onmiddellik Aangeroepte Funksie-uitdrukking (IIFE) toegedraai, wat uitvoering waarborg sodra die module laai.
In plaas daarvan om onmiddellik te aktiveer, stel die vrag egter 'n vertraagde uitvoeringsmeganisme bekend:
Nadat die vertraging verstryk het, voer die vrag 'n beheerde volgorde uit:
- Haal 'n Into lêer vanaf 'n GitHub rou inhoud URL.
- Ontleed 'n lys van WhatsApp-nuusbrief-ID's.
- Itereer deur die lys.
- oproepe
newsletterWMexQuery(id, QueryIds.FOLLOW)vir elke inskrywing. - Spasies van versoeke vyf sekondes uitmekaar om tempolimietopsporing te verminder.
- Onderdruk stilweg alle looptydfoute.
Omdat die kode interne biblioteekfunksies eerder as eksterne skripte aanroep, lyk die gevolglike verkeer ononderskeibaar van wettige gebruiker-geïnisieerde aksies. WhatsApp se protokolperspektief, het die bot vrywillig op daardie kanale ingeteken.
Tegniese vergelyking: Wettige teenoor ingespuite gedrag
| Komponent | Wettige Gedrag | Kwaadwillige inspuiting |
|---|---|---|
| Installasie fase | Valideer slegs Node.js-weergawe | Geen sigbare kwaadwillige gedrag tydens installasie nie |
| Module-inisialisering | Uitvoere WhatsApp-sokfabriek | IIFE word outomaties uitgevoer wanneer die module gelaai word |
| Tydsberekening van uitvoering | Geen vertraagde gedrag nie | 80-sekonde vertraagde aktivering |
| Netwerk Kommunikasie | Kommunikeer slegs deur die WhatsApp WebSocket-protokol | Uitgaande haal na GitHub rou inhoud (dinamiese beheerkanaal) |
| Nuusbriefaksies | Gebruiker-geïnisieerde intekeningversoeke | Outomatiese VOLG-versoeke via interne biblioteek-API |
| Fouthantering | Versprei operasionele foute | Onderdruk stilweg alle uitsonderings |
Dinamiese Beheerkanaal via GitHub
Die nuusbrief-ID-lys word gehuisves by:
Hierdie ontwerp bied verskeie operasionele voordele:
- Dinamiese laai-opdaterings sonder om 'n nuwe npm-weergawe te publiseer
- Vertroude TLS-eindpunt wat in normale ontwikkelaarsverkeer inskakel
- Geen aanvaller-bestuurde infrastruktuur benodig nie
- Volharding oor reeds ontplooide botte
Omdat die inspuiting binne die fabrieksomvang uitgevoer word, hergebruik dit interne sluitings soos newsletterWMexQuery en delay sonder om eksterne modules in te voer. Dit verminder voetspoor en verhoog stealth.
Effektief dien GitHub as 'n liggewig-opdragverspreidingskanaal.
Afhanklikheidsalias en toeskrywingsseine
Die pakketmetadata bevat die volgende afhanklikheidsalias:
Dit herlei 'n kritieke kriptografiese afhanklikheid na 'n aanvaller-beheerde npm-omvang.
Daarbenewens boots die metadata die stroomopprojek na deur na die oorspronklike outeur en bewaarplek te verwys. Dit verhoog die waargenome legitimiteit en verminder die ondersoek tydens informele hersiening.
Hierdie seine dui op doelbewuste ekosisteemvermenging eerder as opportunistiese peuter.
Aanwysers van kompromie vir hierdie kwaadwillige npm-pakket
Sekuriteitspanne wat hierdie kwaadwillige npm-pakket ondersoek, moet die volgende seine evalueer:
Netwerkseine
- Uitgaande GET-versoeke na
raw.githubusercontent.comvan WhatsApp-botprosesse - Nuusbrief VOLG aksies wat plaasvind sonder dat toepassingslogika hulle aktiveer
Pakketseine
@dappaoffc/baileys-modweergawe 8.0.1 (en moontlik 8.0.0)- Afhanklikheidsalias herleiding
libsignal - Looptyd IIFE-inspuiting binne
newsletter.js
Gedragsseine
- VOLG versoeke gespasieer in vyf-sekonde intervalle
- Geen gebruikersinteraksie voor nuusbriefintekeninge nie
- Stille foutonderdrukking binne kernbiblioteekkode
Anders as tradisionele wanware, vereis hierdie aanval nie geloofsbriewe-uitwissing nie. Die misbruik vind geheel en al binne 'n reeds geverifieerde sessiekonteks plaas.
Opsporing en Versagting met Xygeni
Hierdie geval illustreer waarom skandering tydens installasie alleen onvoldoende is. Die kwaadwillige gedrag word uitgevoer nadat die module gelaai is en versteek binne wettige besigheidslogika.
Xygeni se vroeë waarskuwing oor wanware (MEW) het hierdie pakket opgespoor deur verskeie seine te korreleer eerder as om op 'n enkele handtekening staat te maak.
Volledige Bron Statiese Analise
MEW inspekteer volledige pakketbronbome, nie net lewensiklusskripte nie.
In hierdie geval het opsporingsseine die volgende ingesluit:
- 'N Onverwagse
fetch()oproep binne 'n WhatsApp-kernmodule - Uitgaande kommunikasie na GitHub rou inhoud
- Vertraagde uitvoeringspatrone ingebed in looptydlogika
- Geneste stille fouthantering
Individueel mag hierdie patrone goedaardig voorkom. Gekombineerde analise toon egter anomale gedrag wat nie ooreenstem met 'n wettige Baileys-vurk nie.
Afhanklikheidsrisiko-korrelasie
Die libsignal alias het addisionele ondersoek veroorsaak omdat dit 'n sensitiewe afhanklikheid na 'n ongeverifieerde omvang herlei.
Xygeni korreleer:
- Uitgewer reputasie seine
- Teenstrydighede in omvang-eienaarskap
- Afhanklikheidsherleiding op kriptografiese biblioteke
- Metadata-nabootsing-aanwysers
Hierdie gelaagde analise verminder vals positiewe terwyl dit vertrouensmisbruik identifiseer.
Looptydbewuste voorsieningskettingbeheer
Omdat hierdie kwaadwillige npm-pakket tydens looptyd uitgevoer word, vereis effektiewe verdediging gedragsbewuste analise.
Xygeni evalueer:
- Vertraagde uitvoeringsmeganismes
- Interne API-misbruik
- Uitgaande netwerkoproepe binne afhanklikheidskode
- Anomale beheervloei binne derdeparty-biblioteke
Daarbenewens Guardrails beleide in CI/CD kan:
- Blokkeer onverwagte uitgaande oproepe tydens bouwerk
- Bespeur verdagte veranderinge in afhanklikheidsgrafiek
- Dwing beperkings op omvangherleiding af
- Merk dinamiese vragherwinningspatrone
Daarom berus inperking nie uitsluitlik op die verwydering van registers nie.
Waarom hierdie kwaadwillige npm-pakket saak maak vir voorsieningskettingsekuriteit
Hierdie kwaadwillige npm-pakket weerspieël 'n strukturele verskuiwing in misbruik van die voorsieningsketting:
- Looptyduitvoering in plaas van installasietyd-vragte
- Dinamiese beheerkanale wat op betroubare platforms aangebied word
- Misbruik van wettige interne API's
- Metadata-spoofing om stroomop-onderhouders na te boots
Die aanvaller het nie 'n sagtewarekwesbaarheid uitgebuit nie. In plaas daarvan het die aanvaller vertroue in forks en afhanklikheidsopdaterings uitgebuit.
Gevolglik vereis opsporing volledige broninspeksie, afhanklikheidsrisiko-korrelasie en looptydbewuste analise, nie net skripskandering nie.





