Operasi ini berjalan antara kira-kira 11:36 dan 17:48 UTC, menunjukkan sistem yang sangat automatik direka untuk menjejaskan sejumlah besar repositori dengan pantas sebelum penyelenggara menyedari perubahan.
Kempen ini bergantung pada automasi dan penyamaran sosial untuk menjadikan komit berbahaya kelihatan seperti penyelenggaraan CI biasa.
Penyerang mencipta akaun GitHub pakai buang dengan nama pengguna rawak dan identiti automasi palsu seperti:
Identiti ini membuatkan komit kelihatan datang daripada sistem automasi rutin dan bukannya penyerang manusia.
Data kepengarangan dan mesej komit direka bentuk agar kelihatan sah—selalunya menyerupai kemas kini aliran kerja rutin atau tweak konfigurasi CI. Ini membantu komit bergabung ke dalam aktiviti pembangunan biasa dan melambatkan syak wasangka.
Kempen ini memberi tumpuan kepada repositori di mana peraturan perlindungan cawangan lemah atau tiada. Tanpa semakan permintaan tarik wajib atau sekatan ke atas siapa yang boleh mengubah suai aliran kerja, penyerang boleh menolak perubahan aliran kerja terus ke cawangan lalai repositori.
Setiap komit berbahaya memasukkan fail aliran kerja GitHub Actions yang mengandungi muatan Bash yang dikodkan Base64. Apabila saluran paip CI dilaksanakan, skrip itu dijalankan dalam pelari GitHub Actions dan mula menuai kredensial.
Reka bentuk ini bermakna serangan selalunya kekal tidak aktif sehingga larian CI seterusnya mencetuskan aliran kerja.
Skrip yang dikodkan Base64 yang tertanam dalam aliran kerja direka untuk mengumpul data sensitif daripada persekitaran CI dan menghantarnya ke infrastruktur yang dikawal penyerang.
Sasaran yang dilaporkan termasuk:
Perisian hasad itu mengumpul pembolehubah persekitaran, maklumat sistem, dan rahsia yang boleh diakses oleh pelari CI sebelum mengeksfiltrasinya ke pelayan arahan-dan-kawalan.
Oleh kerana saluran paip CI selalunya mengandungi kredensial penggunaan, menjejaskan persekitaran binaan boleh membuka laluan ke infrastruktur awan, pendaftaran pakej, dan penggunaan pengeluaran.
Objektif utama muatan Megalodon ialah token OIDC GitHub Actions.
Saluran paip CI/CD moden kerap menggunakan federasi OpenID Connect (OIDC) untuk mengesahkan ke pembekal awan tanpa menyimpan kredensial jangka panjang. Sebaliknya, aliran kerja meminta token identiti jangka pendek yang ditukar oleh pembekal awan untuk kredensial akses sementara.
Pendekatan ini meningkatkan keselamatan dengan menghapuskan kunci API statik atau kredensial akaun perkhidmatan. Walau bagaimanapun, ia memperkenalkan risiko baharu: jika penyerang boleh mencuri token semasa pelaksanaan saluran paip, mereka mungkin menyamar identiti kerja CI buat sementara waktu.
Oleh kerana token ini dipercayai oleh sistem identiti awan, token yang dicuri berpotensi ditukar untuk akses awan sementara dengan kebenaran yang sama yang diberikan kepada saluran paip penggunaan.
Ini bermakna aliran kerja CI yang terjejas boleh membawa kepada:
Walaupun token OIDC tamat tempoh dengan cepat, kebenaran yang dilampirkan padanya masih boleh menjadikan akses jangka pendek sangat berharga bagi penyerang.
Kempen Megalodon menggambarkan peralihan dalam serangan rantai bekalan daripada mengubah suai kod aplikasi kepada menjejaskan infrastruktur automasi.
Dengan menyasarkan aliran kerja CI dan bukannya kod sumber, penyerang boleh:
Oleh kerana ribuan repositori bergantung pada saluran paip CI dengan kredensial yang berkuasa, satu pengubahsuaian aliran kerja boleh mendedahkan rahsia merentas banyak sistem hiliran.
Pada masa yang sama, GitHub mendedahkan insiden keselamatan berasingan yang melibatkan sambungan Visual Studio Code beracun yang dipasang pada peranti pekerja. Sambungan berniat jahat itu membolehkan penyerang mengakses kira-kira 3,800 repositori dalaman GitHub sebelum kompromi itu dibendung.
Pelanggaran itu dikesan kepada persekitaran pembangun yang terjejas dan melibatkan penuaian kredensial melalui sambungan trojan yang diedarkan melalui pasaran VS Code.
Beberapa laporan keselamatan mencatat persamaan dalam masa dan taktik antara insiden itu dan serangan rantai bekalan lain yang menyasarkan alat pembangunan. Walau bagaimanapun, bukti awam belum mengesahkan bahawa pelanggaran dalaman GitHub secara langsung membolehkan kempen Megalodon.
Buat masa ini, kedua-dua insiden itu sebaiknya difahami sebagai peristiwa keselamatan rantai bekalan yang berasingan tetapi serentak yang menjejaskan ekosistem pembangun.
Megalodon menunjukkan betapa cepatnya automasi boleh meningkatkan serangan rantai bekalan merentas ribuan repositori. Dengan menggabungkan bot yang disamar, komit automatik, dan aliran kerja CI beracun, penyerang mengubah infrastruktur binaan rutin menjadi sistem penuaian kredensial.
Insiden ini mengukuhkan beberapa keutamaan pertahanan untuk pasukan perisian:
Memandangkan saluran paip pembangunan semakin mengawal penggunaan awan dan infrastruktur pengeluaran, keselamatan aliran kerja CI/CD telah menjadi bahagian kritikal dalam pertahanan rantai bekalan perisian.