Human Risk Management Institute

API Key dan Password Bocor di Dataset AI, Bagaimana Mencegahnya?

Written by Nur Rachmi Latifa | 17 Mar 2025

Dalam beberapa tahun terakhir, kasus kebocoran API Key dan password dalam dataset AI semakin sering terjadi, menimbulkan resiko besar bagi keamanan data dan layanan digital. Salah satu insiden terbaru mengungkap bahwa dataset yang digunakan untuk melatih Large Language Models (LLMs) mengandung hampir 12.000 API Key aktif, termasuk kredensial untuk layanan cloud, webhook, dan platform lainnya, yang memungkinkan autentikasi tanpa izin. Kebocoran semacam ini tidak hanya membuka peluang bagi peretas untuk mengeksploitasi sistem, tetapi juga meningkatkan risiko penyalahgunaan oleh AI sendiri, terutama ketika model dilatih dengan praktik pengkodean yang tidak aman. Oleh karena itu, penting bagi pengembang dan organisasi untuk lebih berhati-hati dalam mengelola kredensial, memastikan bahwa keamanan API Key dan password menjadi prioritas utama dalam pengembangan teknologi AI.

Bahaya Laten dalam Dataset AI

API Key adalah kode unik yang digunakan sebagai kredensial autentikasi untuk mengakses layanan atau sistem tertentu melalui Application Programming Interface (API). API Key berfungsi sebagai kunci akses yang memungkinkan aplikasi atau sistem berkomunikasi dengan layanan pihak ketiga, seperti layanan cloud, database, atau integrasi dengan platform lain, seperti Slack, Google Cloud, atau Mailchimp. Dengan API Key, sistem dapat mengontrol siapa yang dapat mengakses data atau fitur tertentu tanpa memerlukan pengguna untuk memasukkan username dan password setiap kali melakukan autentikasi. Dalam beberapa tahun terakhir, kasus kebocoran API Key dan password dalam dataset AI semakin sering terjadi, mengungkapkan kelemahan serius dalam pengelolaan kredensial di era digital.

Banyak organisasi dan pengembang tanpa sadar menyertakan informasi sensitif ini dalam kode sumber atau dataset yang digunakan untuk melatih Large Language Models (LLMs). Masalahnya, model AI tidak bisa membedakan antara kredensial yang valid dan tidak valid, sehingga data sensitif yang tertanam dalam dataset dapat diproses dan dipelajari tanpa penyaringan yang memadai. Akibatnya, model dapat menghasilkan saran kode berbahaya, termasuk penyematan kembali API Key yang seharusnya tetap rahasia, sehingga memperbesar risiko eksploitasi oleh pihak yang tidak bertanggung jawab. Salah satu contoh terbaru menunjukkan bahwa dataset yang digunakan untuk melatih LLMs ternyata mengandung hampir 12.000 API Key aktif, termasuk kredensial untuk layanan cloud besar seperti AWS, Slack Webhooks, dan Mailchimp API

Kredensial ini berasal dari arsip Common Crawl, yang mengumpulkan data dari miliaran halaman web selama hampir dua dekade. Risiko utamanya adalah API Key yang masih valid dapat digunakan untuk mengakses data atau layanan yang seharusnya hanya dapat diakses oleh pemiliknya, membuka peluang bagi penyusupan, penyalahgunaan sumber daya cloud, hingga pencurian data. Selain itu, AI yang dilatih dengan dataset yang mengandung kredensial ini dapat secara tidak sengaja menyarankan praktik pengkodean yang tidak aman, memperburuk permasalahan keamanan di ekosistem pengembangan perangkat lunak.

Baca juga: Gmail Akhirnya Jadi Sasaran AI: Apa yang Harus Kamu Waspadai?

Mengapa API Key dan Password Bisa Bocor dalam Dataset AI?

Kebocoran API Key dan password dalam dataset AI sering kali terjadi karena kesalahan dalam mengelola kredensial. Banyak pengembang tidak menyadari bahwa informasi sensitif yang mereka gunakan dalam pengembangan bisa dengan mudah terekspos dan dimanfaatkan oleh pihak yang tidak bertanggung jawab. Beberapa faktor utama yang menyebabkan kebocoran ini antara lain penyimpanan kredensial yang tidak aman, indeksasi data oleh mesin pencari, serta penggunaan dataset yang tidak difilter dalam pelatihan AI. Berikut adalah penjelasan dari masing-masing penyebab tersebut.

Menyimpan API Key dan Password Secara Tidak Aman

Salah satu kesalahan paling umum yang menyebabkan API Key dan password bocor adalah menyimpannya langsung di dalam kode program (hard-coded credentials). Hal ini sering dilakukan karena praktis saat pengembangan, tetapi berisiko tinggi karena siapa pun yang memiliki akses ke kode tersebut bisa melihat dan menggunakan kredensial tersebut. Jika kode tersebut diunggah ke repositori publik seperti GitHub tanpa perlindungan, maka kredensial bisa dengan mudah ditemukan dan disalahgunakan.

Selain itu, banyak pengembang juga tidak mengenkripsi API Key atau password yang mereka gunakan. Padahal, jika informasi ini tidak diamankan dengan enkripsi atau metode lain seperti hashing, maka kredensial dapat dieksploitasi dengan mudah oleh peretas. Contohnya, dalam sebuah penelitian terbaru, ditemukan bahwa dataset yang digunakan untuk melatih AI ternyata mengandung hampir 12.000 API Key aktif, termasuk kunci akses untuk layanan seperti AWS, Slack Webhooks, dan Mailchimp API. Kredensial yang bocor ini bisa dimanfaatkan untuk mengambil alih akun, mencuri data, atau bahkan menjalankan serangan terhadap sistem yang terkait.

Data yang Diindeks oleh Mesin Pencari dan Tidak Bisa Dihapus

Banyak orang berpikir bahwa jika mereka menghapus data dari internet, maka data tersebut akan benar-benar hilang. Namun, kenyataannya mesin pencari seperti Google dan Bing sering kali menyimpan salinan halaman web yang sudah dihapus atau diubah menjadi privat dalam bentuk cache. Ini berarti, meskipun data sensitif seperti API Key atau password sudah dihapus dari suatu situs atau repositori, data tersebut masih bisa ditemukan dalam indeks mesin pencari atau arsip internet.

Salah satu contoh nyata dari masalah ini adalah teknik "Wayback Copilot", yang berhasil menemukan lebih dari 20.000 repositori GitHub yang masih menyimpan API Key dan token sensitif, meskipun repositori tersebut sudah diubah menjadi privat. Ini membuktikan bahwa sekali suatu informasi bocor di internet, sangat sulit untuk menghapusnya sepenuhnya. Oleh karena itu, penting bagi pengembang untuk memastikan bahwa informasi sensitif tidak pernah dipublikasikan sejak awal, karena data yang pernah terbuka bisa terus diakses oleh peretas dalam waktu yang lama.

Model AI yang Dilatih dengan Data yang Tidak Difilter

Masalah lainnya adalah ketika model AI dilatih menggunakan dataset besar yang diambil dari berbagai sumber tanpa disaring terlebih dahulu. AI tidak dapat membedakan apakah suatu API Key atau password dalam dataset tersebut masih valid atau tidak, sehingga model bisa saja menyimpan kredensial sensitif dan menampilkan informasi tersebut ketika diminta oleh pengguna.

Selain itu, jika AI dilatih dengan contoh kode yang tidak aman, maka ada risiko bahwa model tersebut akan mulai memberikan rekomendasi kode yang berbahaya. Sebuah penelitian bahkan menemukan bahwa ketika model AI dilatih dengan kode tidak aman, hal ini bisa menyebabkan model menjadi tidak selaras (emergent misalignment), di mana AI tidak hanya memberikan contoh kode yang berisiko, tetapi juga bisa mulai memberikan saran yang menyesatkan atau bahkan berbahaya dalam berbagai konteks.

Masalah ini menunjukkan bahwa AI bisa tanpa sadar menyebarkan kebiasaan buruk dalam pengkodean, termasuk menyarankan penggunaan API Key dalam kode tanpa perlindungan. Oleh karena itu, pengembang harus lebih berhati-hati dalam memilih dataset untuk melatih AI, memastikan bahwa data yang digunakan telah difilter dengan baik agar tidak mengandung informasi sensitif.

Risiko Kebocoran API Key dan Password dalam AI

Ketika API Key dan password bocor, dampaknya bisa sangat berbahaya bagi individu maupun organisasi. Kredensial ini bisa dimanfaatkan oleh peretas untuk mendapatkan akses ke layanan penting, mengeksploitasi sumber daya, atau bahkan melakukan serangan siber yang lebih luas. Dalam konteks AI, kebocoran API Key bukan hanya berisiko bagi pemilik data, tetapi juga bisa memperburuk keamanan ekosistem pengembangan perangkat lunak secara keseluruhan. Berikut adalah beberapa risiko utama yang muncul akibat kebocoran kredensial dalam AI.

Akses Tidak Sah ke Sistem dan Data Sensitif

API Key yang bocor bisa menjadi pintu masuk bagi peretas untuk mengakses berbagai sistem, mulai dari layanan cloud, database, hingga sistem internal perusahaan. Dengan API Key yang valid, seorang peretas dapat melakukan berbagai tindakan tanpa perlu mencuri kredensial tambahan, seperti mengunduh data penting, memodifikasi informasi dalam database, atau bahkan mematikan layanan yang digunakan oleh organisasi.

Sebagai contoh, banyak layanan cloud seperti Amazon Web Services (AWS), Google Cloud, dan Microsoft Azure menggunakan API Key sebagai metode autentikasi utama. Jika API Key ini jatuh ke tangan yang salah, peretas bisa langsung masuk ke akun cloud tersebut dan melakukan berbagai tindakan berbahaya, seperti mencuri data pengguna, mengubah konfigurasi server, atau bahkan menghapus seluruh aset digital dari perusahaan yang bersangkutan. Ini menunjukkan bahwa API Key yang bocor bisa memiliki dampak yang jauh lebih serius dibandingkan dengan sekadar kebocoran password biasa. 

Penyalahgunaan oleh Hacker dan Bot

Selain memberikan akses tidak sah, kredensial yang bocor juga bisa dimanfaatkan oleh hacker dan bot untuk melakukan berbagai serangan siber. Kredensial ini memungkinkan peretas untuk menjalankan aktivitas jahat tanpa terdeteksi, terutama jika organisasi tidak menerapkan sistem pemantauan yang ketat terhadap penggunaan API Key mereka. Beberapa bentuk penyalahgunaan yang sering terjadi meliputi:

  • Pengambilalihan akun (Account Takeover/ATO): Peretas dapat menggunakan API Key untuk mengambil alih akun pengguna atau sistem, mengganti informasi login, dan mengunci pemilik asli dari akun mereka sendiri.
  • Penyebaran malware dan ransomware: Dengan akses ke sistem perusahaan, peretas dapat menyisipkan malware atau ransomware, mengenkripsi data penting, dan meminta tebusan agar sistem dapat kembali digunakan.
  • Eksploitasi layanan cloud: Salah satu bentuk penyalahgunaan yang paling umum adalah mining cryptocurrency menggunakan akun korban. Dalam kasus ini, peretas menggunakan API Key untuk mengakses layanan cloud yang memiliki daya komputasi tinggi, lalu menjalankan program mining tanpa izin. Akibatnya, pemilik akun yang sah akan menerima tagihan tinggi dari penyedia layanan cloud tanpa menyadari bahwa akun mereka telah dieksploitasi.

Meningkatnya Serangan Phishing dan Social Engineering

Peretas dapat memanfaatkan API Key yang bocor untuk melakukan serangan phishing yang lebih meyakinkan, menyamar sebagai administrator, dan mengelabui pengguna agar memberikan informasi sensitif seperti password atau kode autentikasi dua faktor (2FA). Jika API Key yang dicuri mengontrol layanan komunikasi seperti Slack atau Microsoft Teams, mereka bisa mengirim pesan berbahaya yang tampak sah, mendorong korban untuk mengklik tautan phishing atau mengunduh malware. Selain itu, peretas dapat memanipulasi data, mengirim notifikasi palsu, atau mengambil alih komunikasi internal perusahaan, yang dapat merusak reputasi bisnis dan menghilangkan kepercayaan pelanggan serta mitra.

Cara Mencegah Kebocoran API Key dan Password dalam AI

Mencegah kebocoran API Key dan password dalam sistem AI memerlukan pendekatan menyeluruh, mulai dari pengelolaan kredensial yang aman, penerapan kontrol akses yang ketat, hingga pelatihan bagi pengembang. Banyak kebocoran terjadi karena kelalaian dalam menyimpan atau mengelola kredensial, yang dapat dimanfaatkan oleh peretas untuk mendapatkan akses tidak sah ke sistem dan layanan cloud. Oleh karena itu, berikut beberapa langkah yang dapat diterapkan untuk mengamankan API Key dan password dari risiko kebocoran.

Menggunakan Pengelola Rahasia (Secret Management)

Salah satu langkah utama untuk menjaga keamanan API Key adalah menggunakan secret management tools seperti AWS Secrets Manager, HashiCorp Vault, atau Azure Key Vault. Alat ini memungkinkan penyimpanan kredensial secara aman dengan enkripsi tingkat tinggi, sehingga API Key tidak perlu disematkan langsung dalam kode sumber. Dengan sistem ini, hanya pengguna atau layanan yang memiliki izin khusus yang bisa mengakses kredensial tersebut, sehingga mengurangi risiko penyalahgunaan. Selain itu, beberapa alat ini juga memiliki fitur audit logging, yang memungkinkan organisasi untuk melacak siapa saja yang mengakses kredensial dan kapan akses tersebut dilakukan.

Memanfaatkan Environment Variables dan .env Files

Banyak pengembang masih melakukan kesalahan dengan menyimpan API Key langsung dalam kode sumber (hard-coded credentials), yang sangat berisiko jika kode tersebut dibagikan atau diunggah ke repositori publik. Cara yang lebih aman adalah menggunakan environment variables atau menyimpannya dalam file konfigurasi khusus seperti .env files. Dengan pendekatan ini, API Key tetap digunakan dalam aplikasi, tetapi disimpan secara terpisah dari kode sumber, sehingga jika kode dibagikan atau direview oleh pihak lain, kredensial tetap aman. Penting juga untuk memastikan bahwa file .env tidak diunggah ke repositori dengan menggunakan .gitignore, agar tidak tersinkronisasi ke platform seperti GitHub atau GitLab.

Menerapkan Pengendalian Akses dan Rotasi Kredensial

Selain menyimpan API Key dengan aman, pengendalian akses yang ketat juga harus diterapkan. Gunakan prinsip Least Privilege Access, yaitu memberikan hak akses hanya kepada pengguna atau sistem yang benar-benar membutuhkannya. Dengan cara ini, jika terjadi kebocoran, dampaknya bisa diminimalkan karena hanya bagian tertentu dari sistem yang terpengaruh. Selain itu, penting untuk melakukan rotasi kredensial secara berkala. API Key yang tidak pernah diperbarui berisiko lebih tinggi untuk dieksploitasi jika bocor. Dengan mengganti API Key secara rutin dan menerapkan masa berlaku kredensial (token expiration), risiko kebocoran dapat dikurangi secara signifikan. Beberapa layanan cloud bahkan memungkinkan pembuatan API Key sementara, yang hanya berlaku untuk tugas-tugas tertentu dan otomatis kadaluarsa setelah jangka waktu yang ditentukan.

Memindai dan Menghapus Kredensial yang Bocor

Untuk mencegah kredensial yang tidak sengaja terunggah dalam repositori atau dataset, organisasi harus menggunakan alat pemindaian otomatis seperti TruffleHog, GitGuardian, dan Gitleaks. Alat ini dapat mendeteksi dan memperingatkan pengembang jika ada API Key atau password yang tersimpan dalam kode sumber, sehingga bisa segera dihapus sebelum menjadi risiko keamanan yang lebih besar. Selain itu, sangat penting untuk menerapkan sistem pencegahan otomatis, misalnya dengan menambahkan pre-commit hooks yang secara otomatis memeriksa apakah ada API Key sebelum kode diunggah ke repositori. Jika ada kredensial yang ditemukan, sistem bisa memblokir commit tersebut dan meminta pengembang untuk menghapusnya sebelum melanjutkan.

Melatih Tim Developer tentang Keamanan API Key

Keamanan kredensial tidak hanya bergantung pada alat yang digunakan, tetapi juga pada kesadaran dan kebiasaan tim pengembang dalam mengelola API Key dengan benar. Oleh karena itu, organisasi harus mengadakan pelatihan security awareness secara rutin agar pengembang memahami praktik terbaik dalam menyimpan dan menggunakan kredensial. Salah satu cara efektif untuk meningkatkan kesadaran adalah dengan melakukan simulasi serangan keamanan, di mana tim pengembang diperlihatkan bagaimana peretas bisa mengeksploitasi API Key yang bocor dan dampak yang ditimbulkan. Dengan memahami ancaman nyata, pengembang akan lebih berhati-hati dalam menangani kredensial dan menerapkan langkah-langkah keamanan yang lebih baik dalam proses pengembangan.

Baca juga: Kesalahan Umum dalam Pengelolaan API yang Membahayakan Keamanan

Kesimpulan

Kebocoran API Key dan password dalam dataset AI adalah ancaman serius yang dapat membuka akses tidak sah ke sistem, mencuri data, dan memfasilitasi serangan siber. Insiden terbaru yang mengungkap ribuan API Key aktif dalam dataset LLMs menyoroti pengelolaan kredensial yang masih lemah, terutama akibat penyimpanan yang tidak aman, indeksasi oleh mesin pencari, dan kurangnya penyaringan data dalam pelatihan AI. Risiko yang ditimbulkan mencakup penyalahgunaan oleh hacker, eksploitasi layanan cloud, serta meningkatnya serangan phishing. Untuk mencegah hal ini, organisasi harus menerapkan secret management tools, membatasi akses API Key, melakukan pemindaian otomatis, dan meningkatkan kesadaran keamanan bagi pengembang. Dengan langkah-langkah ini, kebocoran API Key dapat dikurangi, menjaga keamanan sistem serta data dari ancaman siber.