Mengapa kata sandi buatan LLM berbahaya: terlihat seperti 100 bit, padahal sebenarnya 27 bit
(irregular.com)Berdasarkan riset dari perusahaan keamanan Irregular, disorot bahwa kata sandi yang dibuat oleh LLM (large language model) terbaru seperti Claude, ChatGPT, Gemini tampak sangat kuat di permukaan, tetapi sebenarnya sangat rentan.
Hasil eksperimen utama
- Permintaan “tolong buatkan kata sandi” diulang 50 kali pada tiap model
- Claude Opus 4.6: dari 50 kali, 18 kali menghasilkan kata sandi yang persis sama, yaitu
G7$kL9#mQ2&xP4!w(36% sama), dan hanya ada 30 kata sandi unik - Preferensi pola tiap model terlihat jelas
- Claude → dimulai dengan 'G' + karakter kedua '7'
- ChatGPT → dimulai dengan 'v'
- Gemini → dimulai dengan 'k' atau 'K'
- Meski temperature diubah dari 0.0 hingga 1.0, hasilnya tidak banyak berubah (pada 0.0, 50 kali semuanya menghasilkan kata sandi yang sama)
Ilusi entropi (keacakan)
- Di alat seperti KeePass, kata sandi ini dinilai memiliki entropi sekitar 100 bit, sangat kuat
→ tampak seolah perlu miliaran tahun bahkan dengan superkomputer - Namun hasil perhitungan entropi Shannon yang sebenarnya: kata sandi buatan Claude hanya sekitar 27 bit
→ kata sandi lemah yang bisa dibobol dalam hitungan detik dengan komputer biasa - Contoh GPT-5.2: probabilitas karakter ke-15 berupa angka '2' mencapai 99.7% (hampir tetap)
Mengapa LLM tidak cocok untuk membuat kata sandi?
- Kata sandi yang benar-benar kuat harus dibuat dengan CSPRNG (generator angka acak yang aman secara kriptografis), sehingga semua karakter muncul dengan probabilitas yang seragam
- Sebaliknya, LLM dilatih untuk memprediksi token berikutnya yang paling masuk akal → memaksimalkan ketertebakan
- → Jadi, meskipun prompt disusun dengan baik atau temperature diatur, masalah dasarnya tidak bisa diselesaikan (kesimpulan Irregular)
Masalah yang lebih besar: risiko agen coding AI
- Claude Code, Gemini-CLI, Codex, dan lainnya melakukan hardcode kata sandi yang rentan ke dalam kode
Contoh: MariaDB, PostgreSQL, FastAPI API key, dll. - “Buatkan kata sandi” → menyarankan metode aman seperti
openssl rand
“Rekomendasikan kata sandi” → LLM langsung menyisipkan kata sandi berpola buatannya - Jika mencari pola seperti
K7#mP9,k9#vLdi GitHub, ditemukan banyak repositori nyata
Kesimpulan
- LLM cukup pandai membuat kata sandi yang “terlihat kuat”, tetapi keamanan yang sesungguhnya tidak bergantung pada tampilan, melainkan pada entropi nyata dan keacakan.
- Karena desain LLM berpusat pada prediksi, secara struktural ia tidak cocok untuk pembuatan kata sandi. Terutama jika alat coding AI menanamkannya ke dalam kode, celah keamanan bisa menyebar diam-diam dalam proses pengembangan otomatis.
7 komentar
Kalau suruh
openssl rand -hex 64rasanya beres, jadi apakah memang perlu memaksa LLM membuat kata sandi sendiri...?Bahkan kalau menyuruh manusia membuat kata sandi pun, biasanya mereka akan membuatnya dengan pola tertentu agar mudah diingat.
Bagi para developer mungkin bukan masalah besar. Tapi belakangan ini, karena makin banyak orang awam juga ngoding dengan vibe coding, menurut saya yang lebih bermasalah adalah nilai default yang otomatis tersisip di dalam kode. Misalnya seperti password koneksi DB..
Kalau dipikir-pikir, saya juga sudah sering melihat kasus layanan web memang sudah dideploy, tapi file sensitif seperti
.envdibiarkan bisa diakses dari jaringan eksternal...Kalau tanpa benar-benar paham lalu membuat layanan web dengan OpenClaw dan malah menaruh key mentah-mentah di source HTML, bisa saja terjadi kasus key dicuri lalu tagihan mendadak datang.
Manusia juga tidak pandai memilih secara acak. Seharusnya tidak ada pola, tetapi sengaja menghindari pola pun bisa dianggap sebagai pola.
Saya sangat penasaran kenapa Claude code tidak membuat string acak.
Ah... sekarang aku paham kenapa para profesor yang harus mengajarkan kalkulus lagi ke mahasiswa tahun pertama teknik memasang ekspresi seperti itu.
Huhu, ini agak parah sih