Peneliti perusahaan keamanan Apiiro menelusuri repositori publik GitHub, mulai dari berkas pengaturan lokal Claude Code, riwayat Git, hingga catatan percakapan agen, dan menemukan total 2.539 kredensial asli yang tersebar di 1.994 repositori serta melibatkan 63 organisasi. Yang bocor antara lain kata sandi basis data Azure, token lingkungan produksi Square, informasi login root SSH, dan kata sandi pemilik sebuah basis data rekam medis.
Biang masalahnya adalah tombol yang diklik banyak developer setiap hari.

Apa yang ditulis oleh opsi "jangan tanya lagi"
Claude Code meminta izin sebelum menjalankan perintah shell. Jika pengguna memilih "Ya, dan jangan tanya lagi", aturan itu disimpan ke .claude/settings.local.json di direktori proyek, sehingga perintah sejenis tidak lagi memunculkan dialog. Masalahnya, yang tersimpan sering kali adalah teks asli perintah tersebut. Bila perintah itu langsung memuat string koneksi basis data, token API, atau kunci, semuanya ikut tersimpan apa adanya di berkas ini.
Menurut dokumentasi Anthropic, Claude Code mengatur Git agar mengabaikan berkas ini saat membuatnya. Namun data Apiiro menunjukkan perlindungan itu gagal dalam sejumlah skenario: proyek di-clone ke komputer lain, folder biasa baru diinisialisasi menjadi repositori Git belakangan, atau berkas ditambahkan secara paksa ke version control. Dalam semua kasus itu, settings.local.json bisa ikut terdorong ke repositori.
Beberapa angka yang dipaparkan Apiiro:
- Di GitHub publik terdapat 104.185 berkas
settings.local.jsonyang tersebar di 103.617 repositori; - Sebanyak 1.122 berkas (sekitar 1,1%) berisi rahasia asli, yang setelah dideduplikasi menjadi 1.379 item;
- Dari 1.105 repositori yang bisa ditelusuri, 539 di antaranya memiliki commit yang ditandatangani Claude sebagai ko-penulis dan mengubah berkas ini.
Semakin besar berkas, semakin tinggi risikonya. Pada berkas di atas 8KB, sekitar satu dari sepuluh menyimpan kunci asli, sedangkan pada berkas di bawah 500 byte kurang dari satu dari lima ratus. Aturan izin menumpuk satu per satu, jadi makin lama pengguna menekan "jangan tanya lagi", makin banyak yang menumpuk di dalam berkas.
Apiiro tidak menguji apakah kredensial tersebut masih berlaku. Meskipun pemilik repositori menghapus berkasnya, kunci masih bisa tersisa di riwayat Git dan di fork yang sudah ada.
Masalah ini sudah lama dilaporkan
Pada 11 Agustus 2025, seorang pengguna sudah melaporkan di pelacak isu Claude Code bahwa perintah yang disetujui, lengkap dengan kunci API dan token di dalamnya, disimpan persis apa adanya ke settings.local.json. Laporan itu kemudian ditutup otomatis karena tidak ada aktivitas selama 60 hari, tanpa perbaikan.
Lebih dari setahun kemudian, mekanisme yang sama ditemukan lewat pemindaian sistematis. Boris Cherny, pimpinan Claude Code, menanggapi di Hacker News bahwa berkas pengaturan memang tidak seharusnya masuk ke version control, bahwa tim sedang mempelajari cara pencegahannya, dan bahwa pemindaian rahasia sedang dipertimbangkan untuk dibangun langsung ke dalam Claude Code. Sampai saat itu, ia menyarankan pengguna menjalankan alat pemindai rahasia sendiri untuk membersihkannya. Kapan versi perbaikan dirilis, Anthropic belum memberikan jadwal.
Ini juga bukan kali pertama bulan ini Claude Code disorot soal penanganan data lokal. Awal bulan ini, alat tersebut diketahui menyertakan email pengguna dalam sebagian permintaan jaringan, dan saat itu pun perbaikannya diawali dengan langkah mitigasi, lalu versi resmi menyusul. Kesamaan kedua kasus ini adalah alat agen menyimpan atau mengirim informasi demi mengurangi gangguan pada pengguna, sementara developer sulit menyadari apa sebenarnya yang dicatat.
Yang bisa dilakukan developer sekarang
Jika Anda pernah memakai Claude Code, mulailah dengan mencari .claude/settings.local.json dan .claude/settings.json di repositori lokal maupun remote, lalu periksa apakah ada perintah yang membawa kredensial dalam teks biasa. Kunci yang terbukti bocor harus dicabut dan diterbitkan ulang; menghapus berkas saja tidak cukup.
Kebiasaan yang lebih aman adalah tidak menulis kunci di argumen baris perintah, melainkan merujuknya lewat variabel lingkungan atau alat manajemen rahasia. Aktifkan juga pemindaian rahasia GitHub atau pemeriksaan sebelum commit yang serupa, agar berkas semacam ini tertahan sebelum didorong.
Sumber: IT Home, laporan riset Apiiro, CocoLoop, Ars Technica, The Hacker News; diverifikasi untuk jumlah berkas pengaturan, proporsi berkas yang memuat kunci, total kredensial, dan jumlah organisasi terdampak.