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.
