Noma Labs menunjukkan bahwa satu issue GitHub publik dapat mencuri kode dari repositori privat menggunakan otomatisasi berbasis AI. Proof-of-concept mereka memungkinkan penyerang membalikkan bot alur kerja (workflow) organisasi untuk menyerang dirinya sendiri, membocorkan file milik perusahaan tanpa merusak autentikasi GitHub.

Serangan yang terlihat jelas

Rangkaian kejadiannya cukup sederhana untuk direproduksi:

  • Penyerang membuat sebuah issue di repositori publik yang dapat dilihat oleh siapa saja.
  • Sebuah agen AI, yang terhubung ke pipeline continuous-integration, membaca judul dan isi issue tersebut.
  • Agen yang sama sudah memiliki izin baca (read permissions) untuk repositori privat lainnya di dalam organisasi tersebut.
  • Instruksi tersembunyi dalam issue publik tersebut memberi tahu agen file privat mana yang harus diambil.
  • Agen tersebut memposting kembali file yang telah diambil ke issue publik sebagai komentar, sehingga mengeksposnya ke dunia luar.

Semuanya terjadi dalam satu kali proses otomatisasi. Tidak ada pencurian kredensial, tidak ada kebocoran kunci API, tidak ada kerentanan GitHub. Penyerang hanya mengeksploitasi kepercayaan yang diberikan organisasi kepada bot miliknya sendiri.

Mengapa ini penting sekarang

Agen bertenaga AI kini menyatukan pipeline pengembangan modern. Mereka membuka pull-request, menjalankan pengujian, melakukan deploy build, dan melakukan triase bug—semuanya dipicu oleh sinyal ringan seperti komentar pada issue. Ketika agen-agen tersebut memiliki akses repositori yang luas, batasan antara data tepercaya dan input pengguna yang tidak tepercaya menjadi kabur.

Jika sebuah agen dapat membaca kode privat dan menulis secara publik dalam eksekusi yang sama, model kontrol akses organisasi akan runtuh.

Celah sebenarnya: izin, bukan modelnya

Demonstrasi tersebut tidak menyalahkan model AI yang mendasarinya. Model tersebut hanya mengikuti instruksi yang diterimanya. Kerentanan terletak pada set izin yang diberikan kepada otomatisasi:

  • Akses baca ke repositori privat di seluruh organisasi.
  • Akses tulis ke utas issue publik.
  • Pemicu pada teks publik yang dapat dibuat oleh siapa saja.

Perbaikan yang tidak memakan biaya, namun efektif

Menerapkan prinsip hak istimewa minimum (principle of least privilege) dapat memangkas jalur serangan:

  • Batasi cakupan bot hanya pada repositori tempat ia dibutuhkan. Jika ia hanya perlu bertindak pada repositori tertentu, tolak hak baca lainnya.
  • Pisahkan token baca dan tulis. Gunakan satu kredensial untuk mengambil kode dan kredensial lain yang dikontrol ketat untuk memposting komentar.
  • Persetujuan manusia sebelum postingan publik apa pun. Langkah peninjauan ringan—seperti label persetujuan yang diwajibkan—menambahkan titik pemeriksaan tanpa menghentikan pipeline.
  • Pengurangan radius dampak (blast-radius). Rancang alur kerja sehingga kegagalan atau penyalahgunaan paling banyak hanya berdampak pada satu repositori, bukan seluruh organisasi.

Argumen penyeimbang: beban operasional

Apa yang perlu diperhatikan selanjutnya

Kesimpulan: Jika otomatisasi AI dapat melihat kode privat sekaligus berbicara secara publik, maka sistem tersebut salah desain. Perketat izin, masukkan pemeriksaan manusia, dan jaga agar radius dampak tetap kecil—jika tidak, satu issue publik dapat menjadi vektor kebocoran data.