ForceMemo-kampanje kompromitterer hundrevis av Python-repoer via stjålne GitHub-token

Illustrasjon: ForceMemo-kampanje kompromitterer hundrevis av Python-repoer via stjålne GitHub-token

En pågående kampanje kalt **ForceMemo** har kompromittert hundrevis av Python-repositorier på GitHub ved å misbruke stjålne tilgangstoken. Angrepet treffer typiske utviklerprosjek…

En pågående kampanje kalt **ForceMemo** har kompromittert hundrevis av Python-repositorier på GitHub ved å misbruke stjålne tilgangstoken. Angrepet treffer typiske utviklerprosjekter som Django-apper, ML-kode og pakker som installeres direkte fra repo.

Ifølge StepSecurity skjer dette ved at angriper først overtar utviklerkontoer, deretter legger inn obfuskert skadevare i sentrale Python-filer som `setup.py`, `main.py` og `app.py`, og til slutt **force-pusher** endringen til default branch. Resultatet er at historikken ser legitim ut ved første øyekast: commit-melding, forfatter og opprinnelig dato kan fremstå som uendret.

## Hvorfor denne metoden er ekstra farlig

Klassiske supply chain-angrep etterlater ofte spor i form av pull requests eller tydelige nye commits. I ForceMemo-kampanjen er målet nettopp å unngå dette. Ved å omskrive historikken med force-push blir det vanskeligere å oppdage manipulasjonen i vanlig repo-gjennomgang.

Samtidig peker flere funn på at kampanjen henger sammen med den tidligere omtalte GlassWorm-aktiviteten. The Hacker News og StepSecurity beskriver en kjede der kompromitterte utviklermiljøer brukes til å hente GitHub-token, som så brukes til masseendringer i repos under de samme kontoene.

## Praktisk konsekvens for utviklingsteam

Risikoen er størst for team som:

– installerer avhengigheter direkte fra GitHub
– kjører `pip install` mot repo uten streng verifisering
– mangler kontroller for uventede force-push på default branch

Selv om ikke alle kompromitterte repoer nødvendigvis brukes i produksjon, er dette en påminnelse om at kildekoden i en avhengighet ikke bør behandles som statisk trygg bare fordi repoet er kjent.

## Hva bør gjøres nå

For utviklingsteam er det viktigste tiltaket å kontrollere recent commits mot tidligere kjente SHA-er og etablere varsling på force-push til kritiske brancher. I tillegg bør token-håndtering strammes inn med kort levetid, minste privilegium og rask rotasjon ved mistanke.

ForceMemo illustrerer et tydelig skifte: angripere går etter utviklerkontoen som inngangspunkt, ikke bare pakke-registeret. Det gjør konto- og CI-sikkerhet til en direkte del av programvaresikkerhet.