Grok Build Unggah Seluruh Repositori Git ke Penyimpanan xAI, Bukan Hanya File yang Dibaca
- Unggahan Repositori Lengkap ke Penyimpanan xAI
- File Tidak Terbaca dan Riwayat Commit
- Masalah Kebocoran Rahasia dalam File .env
- Pengaturan Privasi yang Tidak Efektif
- Perbandingan dengan Alat Cloud Coding Lain
- Tanggapan dan Tindakan xAI
- Komunikasi Terbatas dari xAI
- Langkah Pencegahan yang Harus Dilakukan Pengguna
- Analisis Redaksi
Grok Build, alat command-line interface (CLI) coding dari xAI, ternyata secara default mengunggah seluruh repositori Git beserta riwayat commit lengkapnya ke bucket Google Cloud Storage yang dikelola xAI. Hal ini bukan hanya mencakup file yang digunakan untuk tugas coding, tetapi juga file yang sama sekali tidak dibuka atau dibaca oleh model.
Unggahan Repositori Lengkap ke Penyimpanan xAI
Peneliti dengan nama samaran cereblab yang menguji versi 0.2.93 berhasil menangkap salah satu unggahan tersebut. Ia mengkloning bundle Git dari permintaan yang diintersep dan menemukan sebuah file yang secara eksplisit dilarang untuk dibuka oleh agen tersebut.
Unggahan ini berlangsung melalui saluran terpisah dari model itu sendiri. Dalam pengujian terhadap repositori berukuran 12 GB yang tidak pernah dibaca model, lalu lintas data untuk respons model hanya sekitar 192 KB, sedangkan saluran penyimpanan mengirimkan data sebesar 5,10 GiB — sebuah perbedaan sekitar 27.800 kali lipat antara data yang diperlukan dan yang dikirim keluar mesin.
Unggahan tersebut terbagi menjadi 73 potongan sekitar 75 MB yang masing-masing mengembalikan kode status HTTP 200. Metadata dan nama bucket tujuan, grok-code-session-traces, tercantum dalam file biner dan berkas metadata.json yang menunjuk ke lokasi gs://grok-code-session-traces/.
File Tidak Terbaca dan Riwayat Commit
File yang tidak terbaca bernama src/_probe/never_read_canary.txt ditemukan dengan tanda unik. Dengan mengkloning bundle tersebut, file ini berhasil dipulihkan persis seperti aslinya bersama dengan riwayat commit lengkap repositori. Pengujian ulang pada repositori berbeda memberikan hasil serupa, yang membuktikan bahwa pengiriman, penerimaan, dan penyimpanan data benar-benar terjadi, meski belum ada indikasi bahwa data tersebut digunakan untuk pelatihan model.
Perlu dicatat, proses ini tidak berarti xAI melatih modelnya menggunakan kode tersebut, atau staf membaca file itu. Namun, data yang dikirim mencakup file yang dilacak oleh Git beserta riwayatnya, bukan hanya file yang aktif dibuka.
Masalah Kebocoran Rahasia dalam File .env
Selain file repositori, Grok Build juga mengunggah isi file yang dibaca secara langsung ke model dan penyimpanan, termasuk file kredensial seperti .env yang berisi variabel rahasia seperti API_KEY dan DB_PASSWORD tanpa ada redaksi. Dalam pengujian, rahasia tersebut adalah data palsu, sehingga tidak terjadi kebocoran data nyata. Namun, perilaku ini tetap menjadi masalah serius karena file kredensial yang dibaca oleh agen langsung tersimpan tanpa perlindungan.
Pengaturan Privasi yang Tidak Efektif
Pengaturan yang biasanya dipakai pengembang, seperti menonaktifkan opsi "Improve the model", ternyata tidak mencegah pengunggahan repositori tersebut. Dalam pengujian, server terus mengembalikan nilai trace_upload_enabled: true, sementara toggle ini hanya mengatur apakah data pengguna digunakan untuk melatih model, bukan mengatur apakah data tersebut meninggalkan perangkat pengguna.
Dengan kata lain, ada dua kontrol berbeda: satu untuk pelatihan model dan satu lagi untuk pengunggahan data. Namun, hanya opsi pelatihan yang disediakan kepada pengguna.
Perbandingan dengan Alat Cloud Coding Lain
Semua alat cloud coding memang harus mengirimkan file sumber ke model jarak jauh agar fungsional, sehingga pengiriman data model adalah hal yang wajar. Namun, pengiriman semua repositori berserta riwayatnya jauh melampaui kebutuhan hanya mengirim file yang dibuka.
Repositori sering kali berisi kode rahasia, URL internal, data pelanggan, dan kredensial yang mungkin sudah dihapus dari working tree tapi masih ada di riwayat commit. Dalam perbandingan oleh cereblab, alat lain seperti Claude Code dan Codex tidak mengirim bundle repositori sama sekali; Gemini juga tidak mengirim saat pengujian idle, walaupun terkendala kuota saat pengujian tugas nyata.
Grok Build menjadi outlier dengan mengunggah seluruh workspace secara keseluruhan.
Tanggapan dan Tindakan xAI
Pada 13 Juli, versi 0.2.93 yang sama berhenti melakukan pengunggahan ke penyimpanan. Pengujian ulang oleh cereblab dalam enam percobaan tidak menemukan lagi unggahan ke endpoint /v1/storage. Server kini mengembalikan pengaturan disable_codebase_upload: true dan trace_upload_enabled: false.
Pengembang Peter Dedene juga melaporkan menerima flag yang sama untuk akunnya, yang berarti perubahan ini bersifat server-side dan berlaku lebih luas, bukan hanya untuk satu mesin atau pengguna.
Namun, xAI belum mengonfirmasi apakah perubahan ini berlaku untuk semua pengguna atau bersifat permanen. Selain itu, kode unggahan masih ada di dalam binary versi 0.2.99, hanya ditahan oleh flag server, sehingga fitur ini dapat diaktifkan kembali tanpa pembaruan klien.
Komunikasi Terbatas dari xAI
Alih-alih mengeluarkan pengumuman resmi melalui advisori keamanan atau catatan pembaruan, xAI memilih mengumumkan penanganan masalah ini melalui akun Twitter resmi mereka, @SpaceXAI. Mereka menyatakan bahwa tim enterprise dengan kebijakan nol retensi data (Zero Data Retention - ZDR) tidak pernah menyimpan kode atau data jejak, dan bahwa penggunaan API-key juga mematuhi ZDR.
Untuk konsumen biasa yang tidak mengaktifkan pengaturan ini, tersedia perintah /privacy di CLI untuk menonaktifkan retensi data dan menghapus data yang sudah tersinkronisasi.
Elon Musk menegaskan bahwa semua data pengguna yang diunggah sebelum perubahan ini akan "dihapus sepenuhnya dan tanpa sisa". Namun, bagi pengguna individu, kontrol utama ada pada perintah /privacy tersebut.
Langkah Pencegahan yang Harus Dilakukan Pengguna
Bagi siapa saja yang sudah menggunakan Grok Build, redaksi menyarankan untuk segera mengganti semua kredensial yang mungkin telah dikirimkan. Ini mencakup kredensial yang terbaca oleh Grok, yang ada di file yang dilacak, dan yang tersimpan dalam riwayat commit yang diunggah, walaupun sudah dihapus dari repositori saat ini.
Perlu diingat, file yang diabaikan oleh Git dan tidak pernah dikomit tidak termasuk dalam bundle, namun file yang sudah dikomit akan tetap ada dalam riwayat dan ikut diunggah.
Analisis Redaksi
Menurut pandangan redaksi, kasus Grok Build ini menyoroti masalah serius terkait privasi dan keamanan data dalam produk cloud coding yang semakin populer. Pengguna sering berasumsi bahwa mematikan opsi pelatihan model otomatis akan melindungi kode mereka secara menyeluruh, namun kenyataannya kontrol tersebut hanya mengatur penggunaan data untuk pelatihan, bukan pengiriman data ke server.
Ini membuka risiko besar kebocoran data sensitif, khususnya bagi perusahaan dengan kode rahasia dan kredensial penting. Pengunggahan seluruh repositori beserta riwayat commit tanpa pemberitahuan jelas kepada pengguna adalah sebuah pelanggaran transparansi dan kepercayaan.
Ke depan, pengguna wajib lebih waspada dan membaca dengan seksama kebijakan privasi serta pengaturan yang disediakan oleh penyedia layanan seperti xAI. Selain itu, perusahaan pengembang cloud coding harus menyediakan kontrol yang lebih granular dan transparan agar pengguna dapat mengatur batasan pengiriman data secara efektif.
Terakhir, insiden ini juga mengingatkan kita bahwa zero trust atau sikap tidak langsung percaya pada layanan cloud sangat penting, terutama dalam konteks keamanan kode sumber dan kredensial.
Untuk informasi lebih lengkap dan pembaruan terkini, kunjungi langsung artikel sumber di The Hacker News dan situs berita teknologi terpercaya lainnya.
What's Your Reaction?
Like
0
Dislike
0
Love
0
Funny
0
Angry
0
Sad
0
Wow
0