Sikkerhetsforskere har avdekket en skadelig npm-pakke ved navn mouse5212-super-formatter som stjeler filer fra Anthropics Claude AI-brukere. Pakken er laget for å laste opp filer fra /mnt/user-data, katalogen Claude bruker til opp- og nedlastinger, og utga seg for å være en intern «archive deployment sync»-funksjon for å unngå oppdagelse. Funnet ble dokumentert av forskerne Moshe Siman Tov Bustan og Nir Zadok.
Mekanismen er det interessante her. Pakken kjører i postinstall-fasen, altså automatisk rett etter npm install, uten at du gjør noe aktivt. Den autentiserer seg mot GitHub med enten et GitHub-token den finner i offerets miljøvariabler, eller et hardkodet token som fallback. Deretter sjekker den om et mål-repo finnes, oppretter det hvis ikke, og laster rekursivt opp hver eneste fil fra det lokale arbeidsområdet til en GitHub-konto angriperen kontrollerer.
For å skjule sporene lagrer pakken de stjålne filene i tilfeldig navngitte mapper, slik at operatøren selv har vanskelig for å skille ulike tyveriøkter fra hverandre. Den skriver også en falsk «network connections»-logg for å maskere hva den egentlig driver med: uautorisert innsamling og fjernoverføring av lokale data.
Angriperens egen OPSEC var svak. Pakken lekket detaljer om GitHub-kontoen, inkludert det private tokenet, noe forskerne mener kan tyde på at angriperen brukte KI til å generere selve skadevaren uten å forstå grunnleggende operasjonell sikkerhet. GitHub-kontoen bak kampanjen ble opprettet bare timer før den første skadelige versjonen ble lastet opp til npm.
Pakken rakk å bli lastet ned anslagsvis 676 ganger før den ble fanget opp, til tross for at den lå åpent tilgjengelig på npm. For deg som kjører Claude-arbeidsflyter eller agenter med tilgang til lokale filer og GitHub-tokens er dette en påminnelse om at postinstall-skript er en reell angrepsvektor, ikke en teoretisk en.
Hva bør du gjøre?
- Kjør
npm ls mouse5212-super-formatteri prosjektene dine og søk ipackage-lock.jsonetter navnet. Avinstaller umiddelbart hvis du finner den. - Har du hatt et GitHub-token i miljøvariablene på en maskin der pakken kan ha kjørt, tilbakekall og roter det nå, og sjekk GitHub-kontoen din for ukjente repoer.
- Kjør
npm install --ignore-scriptsfor upålitelige avhengigheter fremover, og vurdernpm config set ignore-scripts truesom standard i CI-miljøer der du ikke trenger byggesteg fra pakker.