Asisten pengodean AI seperti Claude Code, Cursor, dan Grok Build dapat mengeksekusi perintah arbitrer segera setelah pengembang membuka repositori yang tidak tepercaya, tanpa klik atau perintah apa pun. Celah ini muncul dari cara alat-alat tersebut memanggil fitur core.fsmonitor milik Git untuk memindai file proyek.
Mengapa masalah ini penting sekarang
Pengembang semakin bergantung pada agen AI untuk menyarankan kode, melakukan refaktorisasi fungsi, atau bahkan menulis seluruh modul. Agen-agen tersebut membutuhkan cuplikan cepat dari ruang kerja, sehingga mereka menjalankan git status di balik layar. Saat Git membaca file .git/config sebuah repositori, nilai apa pun yang ditetapkan ke core.fsmonitor akan diperlakukan sebagai perintah shell yang akan dijalankan oleh Git. Aktor jahat dapat menempatkan perintah yang telah dirancang khusus dalam entri konfigurasi tersebut, dan panggilan Git latar belakang dari AI akan memicunya sebelum pengguna mengetik satu baris kode pun.
Kode tersebut berjalan dengan hak istimewa (privilese) pengembang itu sendiri, melewati sandbox tempat agen AI biasanya beroperasi. Dalam praktiknya, repositori yang telah disusupi dapat menginstal malware, mengeksfiltrasi kredensial, atau mengubah file sumber, semuanya saat pengembang percaya bahwa asisten tersebut hanya sekadar menawarkan saran.
Bagaimana serangan terjadi
- Persiapan – Penyerang membuat repositori yang
.git/config-nya berisi baris seperticore.fsmonitor = /path/to/malicious/script. - Pengiriman – Repositori diberikan dalam bentuk file zip, disalin dari USB stick, disinkronkan melalui drive bersama, atau ditempatkan di mesin korban dengan folder
.gityang sudah ada. - Pemicu – Pengembang membuka folder tersebut di IDE yang mendukung AI. Asisten menjalankan
git statusuntuk mengumpulkan konteks. Git membaca konfigurasi lokal, mengeksekusi perintahcore.fsmonitor, dan skrip berbahaya langsung berjalan.
Perintah git clone biasa tidak mengekspos risiko ini karena proses kloning membuat direktori .git baru yang tidak memiliki konfigurasi yang telah dimanipulasi. Serangan ini hanya berhasil jika penyerang dapat menyediakan folder .git yang sudah ada sebelumnya.
Apa yang dipertaruhkan
- Pengembang individu dapat mengalami kompromi pada mesin mereka tanpa menyadarinya, kehilangan data apa pun yang dapat diakses oleh agen AI.
- Tim yang berbagi kode melalui drive internal atau file zip dari kontraktor dapat menyebarkan payload ke banyak workstation.
- Vendor alat berisiko mengalami kerusakan reputasi jika pengguna mengaitkan pelanggaran tersebut dengan asisten AI, alih-alih interaksi Git yang mendasarinya.
Karena perintah berbahaya tersebut mewarisi hak pengguna, ia dapat memodifikasi file apa pun yang dapat dimodifikasi oleh pengembang, termasuk kunci SSH, skrip build, atau kredensial deployment.
Langkah mitigasi yang dapat dilakukan pengembang hari ini
Jangan percaya pengaturan Git lokal. Konfigurasi repositori menimpa nilai global setiap kali asisten AI menanyakan proyek tersebut.
Periksa entri
core.fsmonitorsebelum membuka folder dengan asisten:git config --get core.fsmonitorJika ada nilai yang muncul, anggap itu mencurigakan.
Hapus entri tersebut dengan:
git config --local --unset core.fsmonitorPeriksa kunci berisiko lainnya yang dapat dieksekusi oleh Git:
hooksPath,sshCommand,pager,editor,filter. Gunakan polagit config --getyang sama untuk memverifikasi bahwa semuanya kosong.Utamakan kloning bersih (clean clones) untuk kode apa pun yang ingin Anda berikan ke alat AI. Jika Anda harus bekerja dengan file zip atau folder yang ditransfer, hapus direktori
.git-nya dan inisialisasi ulang repositori, atau jalankan pemeriksaan di atas terlebih dahulu.
Di mana letak tanggung jawabnya
Kerentanan ini bukanlah cacat pada model bahasa yang menggerakkan Claude Code, Cursor, atau Grok Build; ini adalah konsekuensi dari cara alat-alat tersebut memanen informasi file. Beberapa vendor telah mulai melakukan sandboxing pada panggilan Git secara lebih ketat, tetapi perilaku default masih mempercayai pengaturan repositori lokal. Sampai industri mengadopsi standar yang menghapus atau mengabaikan entri konfigurasi yang berpotensi berbahaya saat agen AI memindai ruang kerja, pengembang harus tetap menjadi lini pertahanan terakhir.
Apa yang perlu diperhatikan selanjutnya
- Pembaruan alat yang secara eksplisit menyaring (sanitize) konfigurasi Git sebelum memanggil
git status. - Panduan berbasis komunitas untuk pengembangan berbantuan AI yang aman, yang kemungkinan besar akan mencakup pemeriksaan pra-penerbangan (pre-flight checks) yang direkomendasikan.
- Riset keamanan yang mungkin mengungkap kunci konfigurasi Git tambahan yang mampu melakukan eksekusi kode, memperluas daftar periksa melampaui lima kunci yang disorot di atas.
Intinya: asisten AI dapat menjadi rekan pemrogram (pair-programmer) yang nyaman, tetapi ia akan dengan senang hati menjalankan perintah apa pun yang tersembunyi dalam konfigurasi Git repositori. Verifikasi ruang kerja sebelum Anda membiarkan asisten tersebut menyentuhnya.
