Kwaadwillige npm-pakket

Kwaadwillige npm-pakket in Baileys Fork (Skyzopedia-geval)

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.com van WhatsApp-botprosesse
  • Nuusbrief VOLG aksies wat plaasvind sonder dat toepassingslogika hulle aktiveer

Pakketseine

  • @dappaoffc/baileys-mod weergawe 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.

sca-tools-sagteware-samestelling-analise-gereedskap
Prioritiseer, herstel en beveilig jou sagtewarerisiko's
Kry jou gratis rekening.
Geen kredietkaart benodig nie.

Beveilig u sagteware-ontwikkeling en -lewering

met Xygeni-produksuite