Teknologi

En forgiftet VS Code-utvidelse stjal 3 800 av GitHubs interne repoer

Susan Hill

GitHub etterforsker uautorisert tilgang til sine interne repoer og bekrefter at en angriper klarte å eksfiltrere data fra om lag 3 800 av dem. Innbruddet kom inn via en forgiftet Visual Studio Code-utvidelse en ansatt hadde installert, og ga angriperen tilgang til den maskinen og derfra til intern kode som skulle leve bak selskapets egne murer.

Grensen GitHub peker på, mellom interne repoer og den kundevendte plattformen, er det eneste som skiller en avgrenset hendelse fra en global forsyningskjedekrise. GitHub er vert for rundt 100 millioner utviklere og en betydelig andel av åpen kildekode som det moderne internett hviler på. Når selskapet sier «internt», mener det sin egen plattformkode, sine egne verktøy, sin driftskonfigurasjon, materialet GitHub bygger og driver seg selv med. Kundenes organisasjoner, bedrifter og de offentlige og private repoene disse kundene oppbevarer på GitHub, ligger ifølge selskapet selv utenfor radien for dette innbruddet.

Den distinksjonen gjør en betydelig jobb i meldingen selskapet la ut på sin offisielle X-konto. «Selv om vi for øyeblikket ikke har holdepunkter for at kundeinformasjon utenfor GitHubs interne repoer er rammet», står det, «overvåker vi infrastrukturen vår nøye for oppfølgende aktivitet». Formuleringen er presis, og presisjon i en innbruddsmelding betyr som regel at etterforskningen fortsatt beveger seg. «Ingen holdepunkter for påvirkning» er ikke det samme som «ingen påvirkning». Hendelser hos store plattformer har for vane å vokse etter hvert som rettsmedisinsk analyse tar igjen angriperens aktivitet, og linjen mellom interne og kundevendte systemer er sjelden en ren fysisk vegg. Det er et sett av tilgangskontroller, legitimasjoner og tjenestekontoer som må vurderes én etter én.

Mekanismen er den delen av historien som burde bekymre enhver utvikler. Visual Studio Code er planetens dominerende kodeeditor, i bruk hos nesten alle store ingeniørorganisasjoner. Utvidelsesmarkedet kjører på samfunnstillit: hvem som helst kan publisere, og de fleste ingeniører installerer plug-ins med samme letthet som de legger bokmerker i nettleseren. En forgiftet utvidelse levert via den kanalen og kjørt på en utviklermaskin gir angriperen tilgang til alt utviklerens økt kan nå: repoer, tokens, pakkeregistre, interne tjenester. Det konkrete navnet på utvidelsen som ble brukt i dette tilfellet, er ennå ikke offentliggjort, men mønsteret er ikke nytt. Nx Console, en populær utvidelse for utviklerverktøy, ble rammet av en lignende kompromittering.

Gruppen som kaller seg TeamPCP har tatt på seg innbruddet og tilbyr datasettet for salg på underjordiske forumer med et gulv på femti tusen dollar. Gruppens formulering, «dette er ikke en løsepenge», er i seg selv et signal. De forsøker ikke å presse GitHub direkte. De behandler stjålet intern kildekode slik andre kriminelle behandler kredittkortdumper: som en vare med kjøpere. Den som ender opp med arkivet på 3 800 repoer, vil kjemme det gjennom på leting etter innebygde legitimasjoner, hardkodede hemmeligheter, detaljer som er nyttige for å angripe GitHubs egen infrastruktur, og alt som kan brukes til å kompromittere mål lenger ned i kjeden. Samme gruppe knyttes også til ormen Mini Shai-Hulud som rammet pakken durabletask på PyPI, noe som understreker den egentlige bakgrunnen i historien: angrep mot utviklingens forsyningskjede har gått fra teoretisk scenario til operasjonelt håndverk.

GitHubs inneslutningssvar var, ifølge selskapets egen beskrivelse, raskt. Den kompromitterte enheten ble isolert. Den ondsinnede utvidelsen ble fjernet. Selskapet sier at det har rotert kritiske hemmeligheter med prioritet til legitimasjoner med størst påvirkning, og vil varsle berørte kunder gjennom etablerte hendelseshåndteringskanaler dersom etterforskningen utvides. Microsoft-datteren navnga verken GitHub-ansatte hvis enhet ble kompromittert, ikke navnga utvidelsen og oppga ikke et eksakt vindu for hvor lenge angriperen hadde tilgang før oppdagelsen. Slike detaljer dukker vanligvis opp i den lengre post-hendelsesrapporten, som kommer flere uker etter den første meldingen.

For resten av bransjen er den praktiske moralen enklere enn trusselsetterretningens emballasje får det til å høres ut. Enhver ingeniørorganisasjon er én uforsiktig utvidelsesinstallasjon unna samme hendelse. Den som noen gang har installert en VS Code-utvidelse anbefalt i en forumtråd, har løpt samme risiko som landet på en GitHub-ansatt. Forsvarsmetodene som virker er velkjente og ujevnt anvendt: begrens utvidelsesinstallasjoner til en kontrollert tillatelsesliste, isoler utviklerstasjoner fra produksjonslegitimasjoner, roter hemmeligheter i hurtig kadens. Denne hendelsen vil skyve dem oppover i prioritetslistene hos selskaper som hittil har utsatt dem.

GitHub har ikke gitt noen tidsramme for en full offentlig post-mortem. Etterforskninger av denne størrelsen hos plattformer av denne skalaen tar vanligvis flere uker å avdekke i full bredde, og oppdateringer vil komme via selskapets offisielle kanaler etter hvert som de produseres. Det neste å følge med på er om arkivet på 3 800 repoer faktisk dukker opp til salgs, og hvor gulvet flytter seg når det underjordiske markedet har hatt noen dager på å gå gjennom indeksen.

Diskusjon

Det er 0 kommentarer.