Bagaimana Agen Koding AI Dapat Menyusup dan Menghancurkan Perangkat Lunak Sumber Terbuka

rob dobi/Getty Images

Beberapa minggu lalu, saya punya kesempatan menggunakan Google’s Jules AI Agent untuk memindai seluruh repositori kode salah satu proyek saya dan menambahkan fitur baru. AI-nya hanya butuh sekitar 10 menit. Secara total, kurang dari 30 menit untuk menggunakan AI, meninjau perubahannya, dan meluncurkan fitur baru.

Saat itu, saya sangat terkesima. Tapi semakin saya pikirkan, semakin saya khawatir.

Sudah jelas bagi saya bahwa potensi tindakan jahat oleh aktor musuh telah memburuk secara eksponensial. Ini benar-benar menakutkan.

Dalam artikel ini, kita akan membahasnya dalam tiga bagian: apa yang mungkin terjadi, bagaimana itu bisa terjadi, dan cara mencegahnya.

Apa yang mungkin terjadi

Bayangkan ada AI jahat yang dilatih dengan kemampuan coding-agent. AI itu bisa dikendalikan oleh aktor musuh, mungkin negara nakal atau bahkan "frenemy".

China dan Russia—negara dengan hubungan rumit dengan AS—sudah dikenal sering melakukan serangan siber terhadap infrastruktur kritis AS.

Untuk skenario ini, bayangkan aktor jahat membuat alat AI seperti agent dengan kemampuan memodifikasi kode skala besar seperti Google Jules, OpenAI Codex, atau GitHub Copilot Coding Agent.

Bayangkan alat itu tersedia untuk publik. Di permukaan, terlihat seperti chatbot biasa yang membantu. Tapi bagaimana jika alat itu mendapatkan akses ke repositori besar di GitHub dan bisa melakukan perubahan?

Repositori yang saya berikan ke Jules berisi 12.000 baris kode. Proyek seperti WordPress punya sekitar 650.000 baris, sementara distro Linux jutaan baris.

Bagaimana jika AI jahat bisa menyusupkan 5-10 baris kode berbahaya tanpa ada yang sadar? Di tengah ratusan ribu atau juta baris, siapa yang bisa memantau semuanya?

Berikut beberapa serangan halus yang mungkin terjadi:

  • Logic bomb dengan pemicu yang tampak tidak berbahaya.
  • Data exfiltration yang bocorkan informasi sensitif sedikit demi sedikit.
  • Modifikasi mekanisme update untuk menyisipkan kode jahat.
  • Backdoor tersembunyi di balik fitur kecil atau pengecekan lingkungan.
  • Kerentanan dependensi yang memaksa package manager mengambil versi berbahaya.
  • Bug timing atau memory leak yang sulit dilacak.
  • Pelemahan fungsi kriptografi tanpa terlihat jelas.
  • Kode jahat tersembunyi dalam kode tes/debug.
  • Manipulasi log untuk menyembunyikan error.
  • Eskalasi hak akses dalam logika permissions.

    Semua ini bisa dilakukan dengan beberapa baris kode saja. Misalnya, cukup ubah versi dependensi di file JSON:
    "useful-lib": "1.2.3-old"

    Atau lepaskan lock sebelum waktunya:
    pthread_mutex_unlock(&lock);

    Dalam jutaan baris kode, satu baris yang lolos bisa jadi bencana.

    Bagaimana itu bisa terjadi

    Sekarang mari bahas cara serangan semacam itu bisa terjadi. Meski repositori biasanya punya proses review, ada beberapa celah:

  • Pencurian kredensial dari maintainer/reviewer.
  • Social engineering terhadap kontributor tepercaya.
  • Reviewer fatigue yang melewatkan perubahan halus.
  • Kompromi dependensi dalam supply chain.
  • Insider threat dari kontributor yang berubah menjadi jahat.
  • Modifikasi CI/CD untuk menyisipkan kode saat deployment.
  • Merge cabang yang dimanipulasi.
  • Akuisisi repositori oleh aktor jahat.
  • Token automasi yang dikompromikan.

    Pada 2015, saya mengambil alih 10 plugin WordPress dengan 50.000 pengguna aktif. Dengan akses itu, saya bisa mengirim update ke semua pengguna. Untungnya, saya bukan penjahat. Tapi bayangkan jika aktor jahat melakukan hal serupa.

    Cara mencegahnya

    Lawan AI dengan AI? Saya coba OpenAI Deep Research untuk memindai repositori publik. Tapi hasilnya mengecewakan—AI-nya hanya melaporkan kerentanan yang sudah diketahui atau membuat-buat hasil.

    Jadi, kita tidak bisa hanya mengandalkan AI. Beberapa langkah pencegahan:

  • Kontrol akses ketat (multi-factor authentication, rotasi kredensial).
  • Proses review kode yang ketat (multiple approvers).
  • Manajemen dependensi aktif (lock versi, scan package).
  • Hardening deployment (audit build script, validasi output).
  • Monitoring perilaku repositori.
  • Analisis statis/dinamis otomatis.
  • Proteksi cabang (larangan push langsung ke main, require signed commits).
  • Logging & alerting untuk aktivitas mencurigakan.
  • Pelatihan keamanan untuk maintainer.
  • Audit rutin (mungkin dibantu AI khusus).

    AI memberi kekuatan besar bagi pengembang—dan juga penjahat.

    Takutlah. Sangat takut. Saya jelas begitu.

    Bagaimana pendapatmu? Apakah kamu yakin AI coding agents benar-benar berisiko bagi keamanan kode open source?

    Apakah proses review saat ini cukup kuat? Pernah temukan kode yang dikompromi? Beri tahu di komentar.


    Ikuti update proyek saya di media sosial:

  • Newsletter mingguan
  • Twitter/X: @DavidGewirtz
  • Facebook: Facebook.com/DavidGewirtz
  • Instagram: Instagram.com/DavidGewirtz
  • Bluesky: @DavidGewirtz.com
  • YouTube: YouTube.com/DavidGewirtzTV

    Butuh lebih banyak cerita soal AI? Daftar newsletter Innovation.

MEMBACA  Uber Meluncurkan Akun Senior dan Menambahkan Opsi Pembayaran Medicare Flex