Scroll untuk baca artikel
Networking

Pola Serangan Tindakan GitHub yang Hilang dari Pemindai Keamanan CI Anda

4
×

Pola Serangan Tindakan GitHub yang Hilang dari Pemindai Keamanan CI Anda

Share this article
pola-serangan-tindakan-github-yang-hilang-dari-pemindai-keamanan-ci-anda
Pola Serangan Tindakan GitHub yang Hilang dari Pemindai Keamanan CI Anda

Artikel Tindakan GitHub ActiveState

Jalur pipa ramah lingkungan bukanlah jalur yang diatur, dan pengkodean agen memperlebar kesenjangan tersebut lebih cepat daripada upaya untuk menutupnya melalui tinjauan.

Example 300x600

Oleh Shane Warden, Arsitek Utama, ActiveState

Pada bulan Juni 2026, peneliti di Novee Security mengungkapkan a kelas kelemahan CI/CD yang mereka beri nama Cordyceps. Mereka memindai sekitar 30.000 repositori berdampak tinggi di ekosistem npm, PyPI, crates.io, dan Go, lalu menandai 654 repositori dan mengonfirmasi lebih dari 300 repositori yang dapat dieksploitasi sepenuhnya.

Perkakas pembangunan yang terpengaruh termasuk proyek yang diterbitkan oleh Microsoft, Google, Apache, Cloudflare, dan Python Software Foundation, dan persyaratan masuk untuk penyerang adalah akun GitHub gratis. Tidak ada keanggotaan organisasi, tidak ada hak istimewa yang lebih tinggi.

Semua jaringan pipa itu berwarna hijau. Pemindai berjalan, pemeriksaan berhasil, dan dasbor melaporkan hasil yang sehat sepanjang waktu paparan terjadi. Pemindai tidak pernah dibuat untuk melihat bahaya ini.

Kerentanannya Ada pada Komposisinya, Bukan pada Filenya

Alur kerja GitHub Actions biasanya dipicu oleh tarik_permintaanyang berjalan dalam konteks fork yang tidak tepercaya, tanpa rahasia repositori dan dengan token hanya-baca. Masalahnya dimulai dengan tarik_permintaan_target Dan alur kerja_jalankanyang berjalan dalam konteks repositori dasar dengan akses ke rahasia dan membaca dan menulis GITHUB_TOKEN.

Seorang penyerang dapat mendorong keduanya untuk bertindak pada konten yang dikendalikan penyerang dari permintaan tarik yang memicu keduanya. Lab Keamanan GitHub menyebutnya sebagai permintaan pwn.

Tiga orang primitif melakukan kerusakan. Injeksi perintah menginterpolasi data yang dikontrol penyerang, nama cabang, judul, komentar, langsung ke langkah run, sehingga data tersebut tidak lolos ke dalam perintah shell dan dieksekusi. Injeksi kode melalui tindakan/skrip github mengevaluasi input penyerang sebagai JavaScript saat runtime.

Dan eskalasi hak istimewa lintas alur kerja memungkinkan alur kerja dengan hak istimewa rendah menulis data yang tidak tepercaya ke dalam artefak atau keluaran, yang kemudian dibaca dan ditindaklanjuti oleh alur kerja kedua dengan hak istimewa tinggi dengan token pengelola. Tidak ada alur kerja yang dapat dieksploitasi sendirian.

Kerentanan muncul karena cara mereka terhubung, itulah sebabnya pemindai tetap ramah lingkungan: pola alat SAST atau DAST cocok dengan satu file, dan setiap file di sini adalah YAML yang valid dan berformat baik, melakukan persis seperti yang diperintahkan.

“Pemindai melihat alur kerja. Penyerang melihat rantai empat langkah menuju kredensial permanen,” jelas Warden.

Tidak ada satu baris pun yang perlu ditandai, karena tidak ada satu baris pun yang salah.

Itu adalah versi terburuk dari kegagalan pengukuran, karena lampu merah menyuruh seseorang mencari masalah dan lampu hijau menyuruh semua orang pulang.

Permintaan Satu Tarik, Akses Tulis Persisten ke Konten Keamanan yang Dikirim

Pada repositori Microsoft Azure Sentinel, Novee menunjukkan bahwa komentar pada permintaan penarikan dapat menjalankan kode penyerang anonim di CI Microsoft dan mencuri kunci Aplikasi GitHub yang tidak kedaluwarsa, yang dikonfirmasi oleh Pusat Respons Keamanan Microsoft.

Sentinel adalah SIEM Microsoft, dan Pusat Kontennya mengirimkan aturan deteksi dan pedoman otomatis langsung ke ruang kerja pelanggan.

Kunci yang dicuri di sana menawarkan akses tulis yang persisten ke konten keamanan yang diandalkan oleh ribuan organisasi untuk mendeteksi serangan, dilemahkan secara diam-diam dan dikirimkan ke hilir sebagai pembaruan tepercaya.

Repositori sampel Kit Pengembangan Agen AI Google adalah referensi yang disalin oleh ribuan developer saat membuat agen di Google Cloud. Satu permintaan penarikan dapat mengeksekusi kode di CI Google dan diteruskan ke peran/pemilik pada proyek Google Cloud terkait, akses tingkat pemilik permanen, dikonfirmasi oleh Google.

Apache Doris memiliki jalur yang sebanding dengan pencurian kredensial, yang dikonfirmasi dan diperbaiki oleh Tim Keamanan Apache. Tiga organisasi, satu masalah komposisi, tidak ada baris kode yang dapat ditunjukkan oleh pemindai.

Tidak Ada yang Memutuskan untuk Mempercayai Permintaan Tarik Itu

Ungkapan yang harus menghentikan seorang pemimpin teknik adalah “batas kepercayaan yang tidak diaudit oleh siapa pun”. Seseorang mengonfigurasi alur kerja untuk memperlakukan masukan pihak luar seolah-olah berasal dari pengelola. Tidak ada manusia yang melakukan panggilan itu dengan sengaja.

Risiko ini bertambah, satu komitmen yang tampak masuk akal pada satu waktu, dan itu meningkat dengan alur kerja yang dihasilkan AIdimana momen pengambilan keputusan tidak boleh diaudit sama sekali.

Satu saran. Dua sumber.

Saya telah menerapkan peralatan AI ke dalam pekerjaan rekayasa produksi dan mengukur apa yang berubah, jadi saya akan mengatakan dengan jelas bahwa pengaruhnya nyata dan saya tidak bermaksud memperlambatnya.

Namun Novee secara eksplisit menyatakan bahwa pengkodean agen adalah penggandanya: alat AI menghasilkan konfigurasi CI/CD dengan cepat dan mereproduksi pola tidak aman yang sama, sehingga satu kesalahan akan terjadi di jutaan repositori, yang terjadi dengan percaya diri dan tidak ada sinyal asal.

Volume keputusan alur kerja yang kini diambil oleh suatu organisasi telah melebihi proses peninjauan yang sesuai dengan keluaran yang bisa dicapai dengan kecepatan manusia.

Sistem keamanan standar kami juga belum siap untuk hal ini. Cordyceps bukan merupakan CVE sehingga tidak pernah masuk dalam model enumerasi. Lebih jauh lagi, NIST mengakui pada bulan April 2026 bahwa mereka tidak dapat lagi memperkaya setiap CVE, dengan jumlah pengajuan yang meningkat sebesar 263% sejak tahun 2020. Risikonya semakin besar.

Untungnya, Novee tidak menemukan bukti eksploitasi di alam liar, dan vendor yang disebutkan telah melakukan pengerasan atau penambalan. Namun, pola ini sudah terbukti dan dapat dieksploitasi, bukan satu pelanggaran spesifik, dan sebagian besar pola ini belum ditambal secara default di seluruh industri.

Tutup Batasnya, Lalu Atur Apa yang Melintasinya

Perbaikan segera layak dilakukan sekarang: pilihlah tarik_permintaan lebih tarik_permintaan_target untuk kontribusi yang tidak tepercaya, jangan pernah memeriksa kode kepala permintaan tarik di dalam alur kerja yang memiliki hak istimewa, meneruskan data peristiwa melalui variabel env yang dikutip alih-alih menyejajarkannya, izin default menjadi hanya-baca, menyematkan tindakan pihak ketiga ke penerapan SHA, bukan tag bergerak, dan memasukkan alur kerja yang memiliki hak istimewa di belakang persetujuan manual untuk kontributor pertama kali.

Lakukan semua itu dan Anda telah menyelesaikan soal-soal hari ini, tetapi bukan soal-soal kelas. Pola selanjutnya akan dibangun dari langkah-langkah yang benar secara individual, dan juga akan lolos pemindaian. Pembangunan yang didorong oleh AI adalah memperlebar kesenjangan tata kelola rantai pasokan perangkat lunak inidan itu semakin cepat.

Kontrol yang tahan lama adalah mengatur apa yang dapat dipercaya oleh bangunan Anda pada sumbernya, sehingga komponen dan alur kerja yang memasuki saluran Anda berasal dari asal yang diatur dengan asal usul yang dapat diverifikasi, dibangun dari sumber, bukan dipercaya berdasarkan keyakinan.

Hulu yang dibajak dan menerbitkan paket beracun harus memenuhi dan gagal dalam pemeriksaan pada titik penyerapan. Manusia memiliki batasan kepercayaan. Kepemilikan tersebut harus beroperasi pada kecepatan AI dalam menghasilkan keputusan, karena peninjauan manual di ujung pipa tidak dapat mengejar ketinggalan.

Cordyceps tidak mengalahkan alat keamanan siapa pun. Ia berjalan melewati mereka, karena setiap bagian bekerja persis seperti yang dirancang. Itu adalah jebakan pengukuran dalam bentuknya yang paling murni: angka tetap hijau sementara hal yang seharusnya dijamin tidak lagi benar, jika memang benar.

Saluran pipa tersebut tidak terekspos karena pemindainya gagal. Mereka terekspos karena lolos pemeriksaan bukan berarti mereka diperintah. Untuk sementara, tidak ada yang mencari.

Jalur pipa hijau bukanlah pipa yang diatur. Cari tahu apa yang sebenarnya ada dalam diri Anda.

Disponsori dan ditulis oleh Status Aktif.