Pendeteksi API Key dan Rahasia

Sebelum menempelkan log, kode, atau file .env ke ChatGPT, periksa dulu: kunci seperti sk-proj-… (OpenAI), AKIA… (AWS), ghp_… (GitHub), AIza… (Google), xoxb-… (Slack), sk_live_… (Stripe), JWT, kunci privat PEM, dan nilai DB_PASSWORD=… akan disorot lalu diganti [REDACTED_…]. String acak sepanjang 24 karakter atau lebih dengan entropi Shannon minimal 4,0 bit per karakter juga ditandai. Tidak ada yang keluar dari browser Anda.

Teks tetap di tab ini. Tidak diunggah, tidak disimpan, dan tidak dimasukkan ke alamat. Pencocokan pola bisa melewatkan kata sandi pendek dan kunci tanpa format yang dikenal, dan tanda biru bisa jadi aman. Baca hasilnya sebelum mengirim.

Apakah masalah Anda terselesaikan?
Pilih kami di Google

Cara memakai

  1. Tempel log, kode, file konfigurasi, atau prompt yang akan Anda kirim ke chat AI. Pemeriksaan berjalan sambil Anda mengetik.
  2. Lihat bagian yang disorot dan daftar dengan nomor baris. Merah berarti format kunci yang dikenal, biru berarti string acak yang mungkin rahasia.
  3. Salin teks yang sudah disensor. Centang "Sisakan 4 karakter awal" agar tetap terlihat kunci apa itu, misalnya ghp_****.

Cara menghitung

Kunci dari layanan yang dikenal dicocokkan lewat awalan dan panjang tetapnya: OpenAI sk- dan sk-proj-, Anthropic sk-ant-, kunci akses AWS (AKIA atau ASIA lalu 16 huruf besar atau angka), GitHub ghp_, gho_, dan github_pat_, Google AIza lalu 35 karakter, Slack xoxb- dan xoxp-, Stripe sk_live_, pk_live_, dan rk_, JWT (tiga bagian base64url yang diawali eyJ), serta blok -----BEGIN … PRIVATE KEY-----.

Nilai juga dikenali dari namanya. Di file .env dan konfigurasi, nilai untuk nama yang mengandung SECRET, TOKEN, PASSWORD, API_KEY, ACCESS_KEY, atau PRIVATE_KEY disensor, begitu juga kunci rahasia AWS (40 karakter setelah aws_secret_access_key) dan kata sandi di string koneksi seperti postgres://user:sandi@host. Nilai contoh seperti changeme, <your-key>, ${VAR}, dan **** diabaikan.

String tanpa format yang dikenal dinilai dengan entropi Shannon: H = -Σ p(c) log2 p(c). Token 24 karakter atau lebih yang mencampur huruf besar, huruf kecil, dan angka serta bernilai minimal 4,0 bit per karakter akan ditandai. Kunci acak 32 karakter biasanya bernilai 4,5 sampai 5. String yang hanya heksadesimal, seperti hash commit dan UUID, dilewati.

Jika dua aturan mengenai bagian yang sama, aturan yang lebih spesifik dipakai: kunci di dalam OPENAI_API_KEY=… diberi label OpenAI, bukan nilai .env biasa. Semua proses ada di halaman ini. Teks tidak diunggah, tidak disimpan, dan tidak pernah ditulis ke alamat halaman.

Format yang dikenali

LayananBentuk
OpenAIsk-… , sk-proj-…
Anthropicsk-ant-…
AWSAKIA… (20 karakter) + rahasia 40 karakter
GitHubghp_… , github_pat_…
Google APIAIza… (39 karakter)
Slackxoxb-… , xoxp-… , hooks.slack.com URL
Stripesk_live_… , pk_live_… , rk_…
JWTeyJ….eyJ….…
Kunci privat-----BEGIN … PRIVATE KEY-----
String koneksischeme://user:password@host
Nilai .envNAMA_DENGAN_SECRET/TOKEN/PASSWORD=…

Pertanyaan umum

Apakah teks saya dikirim ke suatu tempat?

Tidak. Pemeriksaan dan sensor berjalan di browser. Teks tidak diunggah, tidak disimpan di penyimpanan lokal, dan tidak dimasukkan ke URL, jadi tidak ada yang bisa terbagi tanpa sengaja. Kotak dikosongkan saat Anda meninggalkan halaman.

Saya sudah menempelkan kunci ke ChatGPT. Lalu bagaimana?

Ganti kuncinya. Cabut kunci di dasbor penyedia dan buat yang baru, meski obrolannya sudah dihapus. Tergantung pengaturan, obrolan bisa disimpan untuk pemeriksaan penyalahgunaan atau dipakai untuk pelatihan, jadi kunci yang pernah terbuka harus dianggap bocor.

Kenapa string biasa ditandai sebagai rahasia?

Pemeriksaan entropi menandai string panjang yang terlihat acak, dan beberapa nilai yang aman juga begitu: ID build, gambar base64, URL bertanda tangan. Tanda biru hanyalah dugaan. Matikan "Tandai string acak" untuk melihat format yang dikenal dan nilai bernama saja.

Apa yang bisa terlewat?

Kata sandi pendek atau buatan sendiri di dalam kalimat, rahasia tanpa nama dengan keacakan rendah, kunci dari layanan tanpa awalan tetap, dan nilai yang terpotong ke beberapa baris. Baca hasilnya sebelum mengirim. Pemeriksaan menurunkan risiko, bukan bukti bahwa teks sudah bersih.

Apakah kunci contohnya asli?

Bukan. Contohnya memakai kunci contoh dari dokumentasi AWS, token contoh publik dari jwt.io, dan string buatan. Bentuknya benar, tetapi tidak membuka apa pun.