Lager skadevare av repoene dine så raskt at GitHub ikke klarer å holde følge

Kloner, infiserer og forker tusenvis av ganger.

Stadig flere forsøker å plante skadevare i GitHub. 📸: <a href="https://unsplash.com/@afgprogrammer?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Mohammad Rahmani</a>, <a href="https://unsplash.com/photos/black-flat-screen-computer-monitor-EZrVFJUysLk?utm_content=creditCopyText&amp;utm_medium=referral&amp;utm_source=unsplash">Unsplash</a>
Stadig flere forsøker å plante skadevare i GitHub. 📸: Mohammad Rahmani, Unsplash Vis mer

At noen med skumle hensikter planter skadevare i git-repoer og programvarebiblioteker som npm er ikke noe nytt. Nå ser det imidlertid ut til at problemet er i ferd med å bli større enn noensinne – delvis på grunn av at mye automatiseres.

En skadevarekampanje som startet i mai i fjor i Python Package Index (PyPi) og som førte til at en utbrent PyPi-admin til slutt måtte gi opp, ser nå ut til å ha spredd seg til GitHub, skriver The Register.

Ifølge sikkerhetsselskapet Apiiro opplever nå GitHub at legitime repoer klones og infiseres med skadevare, for deretter å bli lastet opp til GitHub under samme navn.

Til slutt forkes det infiserte repoet tusenvis av ganger, og den kompromitterte koden blir så promotert i ulike forumer og sosiale medier.

Stjeler innloggings-info

Brukere som laster ned infisert kode risikerer blant annet at koden inneholder ondsinnet Python-kode og laster ned en kjørbar binærfil.

– Den ondsinnede koden, som i stor grad er en modifisert versjon av BlackCap-Grabber, vil så samle innloggingsinformasjon fra ulike apper, nettleserpassord, cookies og andre konfidensielle data, sier sikkerhetsforsker Matan Giladi og AI-sjef Gil David i en rapport.

De kaller angrepsmetoden for "repo confusion", og sier at metoden ligner på "dependency confusion"-angrep der angriperne spekulerer i at utviklere skal installere feil pakker gjennom pakkehåndterere som npm.

«Repo confusion-angrep baserer seg rett og slett på at mennesker ved en feil velger den ondsinnede versjonen i stedet for den ekte.»

– Repo confusion-angrep baserer seg rett og slett på at mennesker ved en feil velger den ondsinnede versjonen i stedet for den ekte, ofte ved å ta i bruk "social engineering"-teknikker, skriver de to i rapporten.

I en rapport fra Trend Micro går det frem at en av metodene som brukes kalles exec smuggling, og baserer seg på Python-metoden exec().

Ved å plassere hundrevis av mellomrom før exec-metoden som kjører den skadelige koden, reduseres risikoen for at noen ser den ved manuell inspeksjon av koden. Det brukes også teknikker som obfuskering av koden med for eksempel base64-enkoding.

GitHub vet om problemet

En talsperson fra GitHub sier i en uttalelse til The Register at de er klar over problemet og at de har team som bare jobber med å oppdage, analysere og fjerne skadelig innhold og kontoer som bryter med retningslinjene deres.

– GitHub har mer enn 100 millioner utviklere og 420 millioner repoer, og vi har forpliktet oss til å tilby en trygg og sikker plattform for utviklere, sier talspersonen.

Giladi og David i Apiiro skriver at det er bra at man er oppmerksom på problemet og har automatisert skanning, men at mange repoer som er forket automatisk eller lastet opp manuelt går utenom radaren.

– Siden hele angrepskjeden ser ut til å for det meste være automatisert i stor skala, utgjør den ene prosenten som overlever fortsatt tusenvis av ondsinnede repoer, skriver forskerne.

Hugging Face også angrepet

Det er ikke bare GitHub og PyPi som sliter med skadevare.

BleepingComputer meldte denne uken at et sikkerhetsteam hos JFrog har funnet minst 100 tilfeller av AI/ML-modeller hos Hugging Face som er infisert med skadelig kode.

Hugging Face er en plattform der utviklere som jobber med AI blant annet kan dele og samarbeide om maskinlæringsmodeller og -applikasjoner.

Ifølge BleepingComputer har JFrog skannet PyTorch- og Tensorflow Keras-modeller som ligger hos Hugging Face.

Noen av de mer enn hundre infiserte AI-modellene de fant kunne blant annet kjøre kode på offerets PC for å lage en bakdør inn til maskinen.