Aktifkan pemindaian kerentanan

Panduan ini menjelaskan cara meningkatkan postur keamanan Anda dengan mengaktifkan fitur pemindaian kerentanan di Secure Source Manager.

Pemindaian kerentanan secara otomatis mendeteksi kerentanan yang diketahui dalam dependensi kode sumber Anda, dengan memindai setiap commit baru ke permintaan pull. Kerentanan ditampilkan dalam tampilan permintaan pull, dan di tab Security di seluruh repositori.

Aktifkan pemindaian kerentanan

Pastikan peran dan setelan berikut diaktifkan untuk repositori Anda.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengaktifkan pemindaian kerentanan, minta administrator untuk memberi Anda peran IAM Secure Source Manager Repository Admin (roles/securesourcemanager.repoAdmin) di repositori Secure Source Manager. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Peran yang telah ditetapkan ini berisi izin securesourcemanager.repositories.update, yang diperlukan untuk mengaktifkan pemindaian kerentanan.

Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi tentang cara memberikan peran Secure Source Manager, lihat Kontrol akses dengan IAM dan Memberi pengguna akses instance.

Memperbarui setelan repositori

Anda dapat mengaktifkan pemindaian kerentanan untuk repositori melalui antarmuka Secure Source Manager:

  1. Buka repositori tempat Anda ingin mengaktifkan pemindaian kerentanan.
  2. Klik ikon Settings.
  3. Temukan tombol Pemindaian Kerentanan.
  4. Klik tombol ke posisi Aktif.
  5. Klik tombol Update Settings.

Menggunakan pemindaian kerentanan

Setelah Anda mengaktifkan pemindaian kerentanan, pemindaian berikut akan terjadi secara otomatis:

  • Pemindaian Terjadwal: Commit head dari semua cabang, sekali per hari.
  • Pemindaian Permintaan Pull:
    • Commit head permintaan pull baru, saat pembuatan permintaan pull.
    • Commit baru yang dikirim ke permintaan pull, saat dikirim.

Hanya kerentanan dari dependensi kode Anda yang terdeteksi. Pemindaian kerentanan mendeteksi kerentanan yang tercantum dalam database publik, termasuk, tetapi tidak terbatas pada, National Vulnerability Database dan GitHub Advisory Database. Kerentanan yang terdeteksi mencakup link eksternal ke data database publik tentang kerentanan, dan, jika tersedia, ID CVE.

Tab Keamanan

Setelah mengaktifkan pemindaian kerentanan, tab Security akan ditampilkan di menu navigasi repositori, yang dapat Anda gunakan untuk menelusuri kerentanan yang dipindai hingga periode retensi 3 tahun.

Tab Security mencakup hasil dari pemindaian terjadwal dan pemindaian permintaan pull.

Secara default, filter Found In di tab Security akan ditetapkan ke cabang yang paling baru dijelajahi (atau cabang default repositori). Untuk melihat kerentanan lainnya, sesuaikan atau hapus filter Ditemukan Di.

Tab Security mencakup data berikut tentang setiap kerentanan:

  • Keparahan: Tingkat keparahan keamanan kerentanan, sebagaimana dinilai oleh sumber database kerentanan publik.
  • ID: ID CVE publik, jika tersedia, atau ID lain seperti ID GHSA. Selain itu, jika tersedia, link eksternal ke entri database publik untuk kerentanan tersebut.
  • Ditemukan Di: SHA commit Git yang dipindai, serta daftar semua cabang Git, tag Git, atau permintaan pull yang merupakan commit terbaru.
  • File: File sumber repositori yang menyertakan dependensi rentan dan, jika tersedia, nomor baris.
  • Paket: Nama paket dependen dan versinya yang berisi kerentanan. Jika diketahui, versi paket yang mengatasi kerentanan juga akan dicantumkan.
  • Description: Jika tersedia, deskripsi kerentanan.
  • Terdeteksi: Tanggal pemindaian yang mendeteksi kerentanan.

Filter berikut tersedia di tab Keamanan:

  • Tingkat keparahan: Hanya menampilkan kerentanan dengan tingkat keparahan yang ditentukan (CRITICAL, HIGH, MEDIUM, atau LOW).
  • Ditemukan Di: Hanya menampilkan kerentanan yang terdeteksi di cabang, tag, atau SHA commit Git yang ditentukan.
  • File: Hanya menampilkan kerentanan yang terdeteksi di jalur sumber yang ditentukan. Menerima substring; misalnya, project/ dapat digunakan untuk memfilter dependensi yang rentan di direktori project/.
  • Kerentanan: Telusuri kerentanan berdasarkan data publiknya seperti ID, deskripsi, atau nama paket yang terpengaruh. Menerima substring.
  • Date From dan To: Hanya menampilkan kerentanan yang terdeteksi setelah atau sebelum tanggal yang ditentukan. Format: YYYY-MM-DD.

Permintaan Pull

Setelah pemindaian permintaan pull selesai, kerentanan yang terdeteksi akan ditampilkan di tab Conversation permintaan pull. Pemindaian memeriksa semua file repositori. Kerentanan dari file yang tidak diubah dalam permintaan pull mungkin disertakan.

Permintaan pull menampilkan tampilan ringkas dari kerentanan teratas yang terdeteksi. Untuk melihat daftar lengkap dan detail kerentanan untuk permintaan pull, klik link Full Results untuk melihatnya di tab Security repositori.

Kerentanan tidak memblokir permintaan pull agar tidak digabungkan.

Jenis File yang Didukung

File paket untuk bahasa berikut akan dipindai untuk menemukan kerentanan dependensi:

Didukung
Go
Java
JavaScript
Node.js
PHP
Python
Ruby
Rust
TypeScript
.NET

Langkah berikutnya