Megalodon otkriva slabu točku GitHuba: automatizaciju koja sama pokreće napad
Megalodon je masovno ciljao GitHub repozitorije kroz CI/CD workflowe.📷 AI-generated image / TECH&SPACE
- ★Megalodon je u šest sati ubacio 5.718 zlonamjernih commitova u 5.561 GitHub repozitorij.
- ★Napad je koristio lažne CI identitete poput build-bot, auto-ci, ci-bot i pipeline-bot.
- ★Zlonamjerni GitHub Actions workflowi nosili su base64-enkodirane Bash payloade za eksfiltraciju CI podataka.
Megalodon je dobar podsjetnik da se napadi na razvojni lanac više ne moraju probijati kroz jedan veliki, pažljivo odabrani cilj. Prema izvještaju koji je objavio The Hacker News, nova automatizirana kampanja u samo šest sati poslala je 5.718 zlonamjernih commitova u 5.561 GitHub repozitorij. To je tempo koji mijenja prirodu incidenta: manje izgleda kao ručni upad, a više kao industrijski pokušaj trovanja CI/CD površine.
Ključni detalj nije samo broj repozitorija, nego način na koji je napad pokušao izgledati normalno. Napadač je koristio jednokratne račune i krivotvorene autorske identitete s imenima koja zvuče kao servisni botovi: build-bot, auto-ci, ci-bot i pipeline-bot. U organizaciji koja svakodnevno vidi desetke automatiziranih izmjena, takvi potpisi mogu proći ispod radara ako se promatra samo naziv commita ili autor, a ne stvarni sadržaj promjene.
Ubačeni kod bio je smješten u GitHub Actions workflowima. To je posebno osjetljivo mjesto jer se workflow ne ponaša kao obična dokumentacija u repozitoriju: on se može pokrenuti unutar CI okruženja, dobiti pristup varijablama, tokenima i artefaktima te postati operativni kanal za eksfiltraciju. Prema objavljenim detaljima, payloadi su bili base64-enkodirani Bash skripti namijenjeni izvlačenju CI podataka.
Automatizirana kampanja ubacila je zlonamjerne GitHub Actions workflowe s base64 Bash payloadima i lažnim CI identitetima.
Zlonamjerni workflowi skrivali su Bash payload iza base64 sloja.📷 AI-generated image / TECH&SPACE
Base64 u ovom kontekstu nije napredna kriptografija, nego praktičan sloj prikrivanja. Skripta izgleda manje čitljivo, lakše prolazi kroz površne preglede i odgađa trenutak u kojem reviewer ili sigurnosni alat vidi stvarnu naredbu. Kada se takav payload nalazi u workflow datoteci, rizik se seli iz samog koda aplikacije u automatizaciju koja ga gradi, testira i objavljuje.
Zato je Megalodon relevantan i za projekte koji misle da nisu dovoljno zanimljivi za ciljani napad. Masovna kampanja ne mora znati sve o svakom repozitoriju. Dovoljno je pogoditi projekte s pretjerano širokim CI dopuštenjima, nepažljivim pregledom promjena ili automatizacijom koja prihvaća nove workflowe bez dodatne provjere. GitHub u vlastitim smjernicama za sigurno korištenje Actionsa već naglašava da tokeni, tajne i dopuštenja workflowa moraju biti tretirani kao sigurnosna granica, ne kao konfiguracijski detalj.
Operativna lekcija je jednostavna, ali neugodna: CI/CD datoteke trebaju isti režim pregleda kao produkcijski kod, a promjene u .github/workflows direktoriju trebaju dodatni alarm. Timovi bi trebali provjeriti neočekivane autore, nove workflowe, base64 ili Bash konstrukcije bez jasnog razloga, te permission blokove koji workflowu daju više ovlasti nego što posao zahtijeva. Korisna je i GitHubova dokumentacija o upravljanju GITHUB_TOKEN dopuštenjima, jer upravo tu preširoka prava pretvaraju neugodan commit u ozbiljan incident.
Megalodon nije dokaz da je GitHub Actions problem sam po sebi. Problem je što je CI/CD postao privilegirani sloj softverske proizvodnje, a mnogi ga i dalje pregledavaju kao sporedni YAML. Napadači su tu razliku očito već izračunali.

