DEV Community

Cover image for Cara Menemukan dan Mengatasi Kunci API Terekspos dengan Secret Scanner
Walse
Walse

Posted on Originally published at apidog.com

Cara Menemukan dan Mengatasi Kunci API Terekspos dengan Secret Scanner

Secret Scanner mendeteksi kemungkinan kunci API, token akses, kredensial, URL webhook, dan nilai sensitif lain di aset Apidog yang didukung. Temuan menunjukkan lokasi kemungkinan rahasia tanpa menampilkan nilai penuhnya.

Coba Apidog hari ini

Tutorial ini menjelaskan cara meninjau temuan, menangani eksposur nyata, mencatat resolusi, dan menambahkan pola deteksi kustom untuk format rahasia internal.

Sebelum memulai

Secret Scanner tersedia pada paket Enterprise SaaS dan saat ini tidak tersedia di Apidog On-Premises.

Akses bergantung pada peran:

Peran Tindakan yang tersedia
Pemilik atau Admin Organisasi Melihat laporan tingkat organisasi di seluruh tim
Pemilik atau Admin Tim Meninjau, menyelesaikan, atau membuka kembali temuan; mengelola pola kustom; dan melihat analitik
Anggota atau Tamu Tim Hanya melihat temuan untuk proyek yang dapat diakses

Gunakan nilai fiktif untuk pengujian. Jangan pernah menempelkan kredensial asli hanya untuk memeriksa apakah pemindaian berfungsi.

1. Tinjau laporan organisasi

Pemilik dan Admin Organisasi dapat menggunakan laporan organisasi untuk mengidentifikasi tim dengan temuan yang belum terselesaikan.

  1. Buka laporan Secret Scanner tingkat organisasi.
  2. Tinjau jumlah temuan belum terselesaikan dan kebocoran yang dipublikasikan.
  3. Periksa waktu deteksi terakhir dan status pemindaian.
  4. Buka tim yang terdampak atau hubungi Pemilik atau Admin Tim.

Laporan Secret Scanner Organisasi dengan informasi risiko tingkat tim

Laporan organisasi membantu administrator mengidentifikasi tim yang memerlukan tindak lanjut.

Laporan ini digunakan untuk triase. Investigasi dan penyelesaian dilakukan pada halaman Secret Scanner milik tim yang terdampak.

2. Buka dan filter temuan tim

Di dalam tim, buka Secret Scanner lalu pilih Secrets Detected.

Filter temuan berdasarkan:

  • status;
  • proyek;
  • pola;
  • tipe sumber daya; atau
  • kata kunci.

Setiap temuan dikelompokkan berdasarkan pola deteksi dan sidik jari aman. Satu temuan dapat memiliki beberapa kemunculan jika nilai yang sama ditemukan di lebih dari satu lokasi.

Temuan Secret Scanner dengan nilai yang disamarkan, status, proyek, dan informasi kejadian

Nilai disamarkan. Gunakan proyek, jenis sumber daya, jumlah kemunculan, dan lokasi sumber untuk menyelidiki temuan.

Prioritaskan temuan belum terselesaikan yang ditandai sebagai eksposur dipublikasikan, lalu periksa temuan yang muncul di banyak sumber daya atau proyek.

3. Periksa setiap kemunculan

Buka temuan dan tinjau setiap kemunculannya. Konfirmasikan:

  • proyek dan sumber daya yang berisi nilai;
  • jenis sumber daya serta lokasi sumber;
  • apakah nilai muncul dalam dokumentasi yang diterbitkan;
  • waktu deteksi pertama dan terakhir; serta
  • apakah nilai tersebut kredensial asli atau positif palsu.

Jangan memutuskan hanya dari cuplikan yang disamarkan. Periksa sumber daya asal dan, bila perlu, minta pemilik sumber daya mengidentifikasi sistem penerbit tanpa menyalin kredensial ke tiket atau obrolan.

4. Tangani eksposur nyata

Secret Scanner hanya melaporkan kemungkinan eksposur; fitur ini tidak mengubah kredensial. Tangani rahasia yang dikonfirmasi di sistem penerbitnya.

Lakukan langkah berikut secara berurutan:

  1. Cabut, rotasi, atau batalkan kredensial di layanan eksternal.
  2. Tinjau log penggunaan untuk aktivitas yang tidak terduga.
  3. Hapus nilai dari seluruh kemunculan sumber yang ditampilkan di Apidog.
  4. Ganti nilai mentah dengan variabel atau referensi Vault Secret jika alur kerja masih memerlukan kredensial.
  5. Simpan setiap sumber daya yang diubah agar pemindaian asinkron berjalan kembali.

Jika kredensial muncul dalam dokumentasi yang dipublikasikan, perlakukan sebagai eksposur eksternal meskipun belum terlihat aktivitas mencurigakan.

Menghapus nilai dari Apidog tidak membatalkan salinan yang mungkin sudah ada di tempat lain. Rotasi atau pencabutan adalah tindakan penahanan utama untuk kebocoran nyata.

5. Catat resolusi

Setelah respons selesai, pilih alasan resolusi untuk temuan tersebut.

Alasan Resolusi Gunakan saat
Dicabut Nilai adalah rahasia asli dan telah dicabut, dirotasi, atau dibatalkan di luar Apidog
Positif palsu Nilai yang terdeteksi bukan rahasia
Tidak akan diperbaiki Nilai adalah rahasia asli, tetapi tim menerima risikonya dan tidak akan mengubahnya

Menandai temuan sebagai terselesaikan hanya mengubah status di Apidog. Tindakan ini tidak mencabut, merotasi, membatalkan, menghapus, atau mengganti nilai dasarnya.

Buka kembali temuan jika tindakan tambahan diperlukan.

6. Verifikasi pembersihan

Secret Scanner berjalan secara asinkron, bukan real-time. Pemindaian dipicu saat sumber daya yang didukung ditambahkan atau saat Simpan dipilih setelah sumber daya yang didukung diubah.

Setelah remediasi:

  • pastikan semua kemunculan sumber yang diketahui telah diubah;
  • simpan sumber daya yang terdampak;
  • tunggu pemindaian asinkron selesai;
  • tinjau kembali temuan dan waktu deteksi terakhirnya; serta
  • pastikan secara terpisah bahwa kredensial lama tidak lagi berfungsi pada layanan penerbit.

Status pemindai bukan uji validitas kredensial. Verifikasi pencabutan langsung di layanan eksternal.

7. Tambahkan pola deteksi kustom

Pemilik dan Admin Tim dapat membuat pola kustom untuk format rahasia khusus organisasi.

  1. Buka Secret Scanner > Pola.
  2. Pilih opsi untuk membuat pola kustom.
  3. Masukkan nama yang jelas.
  4. Tambahkan ekspresi reguler dan kata kunci yang relevan.
  5. Uji menggunakan nilai fiktif.
  6. Aktifkan pola dan simpan.

Batas saat ini:

  • hingga 5 pola kustom per tim;
  • nama pola hingga 128 karakter;
  • ekspresi reguler hingga 256 karakter di UI;
  • hingga 10 kata kunci; dan
  • setiap kata kunci hingga 64 karakter.

Pola bawaan bersifat hanya-baca. Ekspresi reguler internalnya tidak ditampilkan dan tidak dapat diedit, dihapus, diaktifkan, atau dinonaktifkan.

8. Tinjau analitik tim

Pemilik dan Admin Tim dapat membuka Analitik untuk melihat lokasi konsentrasi temuan.

Analitik Secret Scanner menunjukkan tren temuan dan eksposur

Gunakan analitik untuk mengidentifikasi proyek, pola, dan jenis aset yang memerlukan tinjauan tambahan.

Analitik membantu memprioritaskan pekerjaan, tetapi setiap temuan tetap memerlukan investigasi pada tingkat sumber.

Jenis aset yang didukung

Secret Scanner saat ini memindai aset yang didukung, termasuk:

  • API dan permintaan API;
  • kasus API;
  • modul proyek dan variabel modul proyek;
  • contoh respons;
  • dokumen Markdown dan skema data;
  • variabel lingkungan, global, dan tim; serta
  • skrip umum dan parameter umum.

Detail sumber yang tersedia untuk setiap kemunculan bergantung pada tipe sumber daya dan izin penampil.

Penyelesaian masalah

Masalah Yang harus diperiksa
Perubahan terbaru belum menghasilkan temuan Pemindaian bersifat asinkron. Pastikan sumber daya sudah disimpan dan tinjau kembali nanti.
Anggota tim tidak dapat melihat temuan Pastikan anggota memiliki akses ke proyek terkait.
Pengguna tidak dapat mengelola pola atau analitik Manajemen pola dan analitik memerlukan akses Pemilik Tim atau Admin Tim.
Temuan yang diselesaikan masih berisi rahasia yang berfungsi Status resolusi tidak mengubah kredensial. Cabut atau rotasi di layanan penerbit.
Repositori eksternal tidak dipindai Secret Scanner tidak memindai repositori GitHub atau GitLab eksternal. Gunakan juga kontrol pemindaian dari penyedia repositori.

Batasan penting

Secret Scanner tidak mencegah pengguna memasukkan rahasia, memblokir publikasi dokumentasi, memindai repositori eksternal, atau menjamin deteksi semua format rahasia. Fitur ini juga tidak otomatis menghapus nilai sumber atau menggantinya dengan variabel maupun referensi Vault.

Gunakan Secret Scanner sebagai bagian dari proses manajemen kredensial yang juga mencakup hak akses minimal, penyimpanan aman, rotasi, pencabutan, dan pemantauan penggunaan.

Tutorial tata kelola API terkait

Dokumentasi resmi terkait

Top comments (0)