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:
- Buka repositori tempat Anda ingin mengaktifkan pemindaian kerentanan.
- Klik ikon Settings.
- Temukan tombol Pemindaian Kerentanan.
- Klik tombol ke posisi Aktif.
- 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, atauLOW). - 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 direktoriproject/. - 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 |