Pemindaian container mengidentifikasi kerentanan baru dan yang sudah ada serta paket berbahaya dalam dependensi open source untuk image container di repositori Artifact Registry Anda. Artifact Analysis menyediakan dua cara untuk memindai paket Anda: pemindaian otomatis dan pemindaian sesuai permintaan. Dokumen ini menjelaskan kedua jenis pemindaian tersebut.
Artifact Analysis juga menyediakan pengelolaan metadata. Untuk mempelajari lebih lanjut tentang cara menggunakan pemindaian dan penyimpanan metadata bersama-sama untuk mengamankan pipeline CI/CD Anda secara menyeluruh, lihat Ringkasan Artifact Analysis.
Lihat harga untuk mempelajari lebih lanjut biaya yang terkait dengan pemindaian image container.
Ringkasan ini mengasumsikan bahwa Anda sudah memahami cara menggunakan repositori Docker di Artifact Registry.
Memindai image untuk mengetahui adanya kerentanan
Artifact Analysis melakukan pemindaian kerentanan dan paket berbahaya pada artefak Anda di Artifact Registry. Artifact Analysis juga mengidentifikasi dependensi dan lisensi untuk membantu Anda memahami komposisi software Anda.
Pemindaian otomatis terdiri dari dua tugas utama: pemindaian otomatis dan analisis berkelanjutan.
Pemindaian otomatis
Artifact Analysis memindai image baru saat diupload ke Artifact Registry. Pemindaian ini mengekstrak informasi tentang paket dalam container. Image hanya dipindai satu kali, berdasarkan ringkasan image. Artinya, menambahkan atau mengubah tag tidak akan memicu pemindaian baru.
Artifact Analysis hanya mendeteksi kerentanan dan software berbahaya dalam paket yang dipantau secara publik. Data kerentanan bersumber dari berbagai penyedia upstream, dan data paket berbahaya bersumber dari OpenSSF Malicious Packages Repository. Paket berbahaya dilaporkan sebagai kerentanan dengan tingkat keparahan CRITICAL.
Setelah pemindaian image selesai, hasil kerentanan yang dihasilkan adalah kumpulan kemunculan kerentanan untuk image tersebut.
Pemindaian kerentanan otomatis juga mendeteksi secret, seperti kunci API dan kunci akun layanan, sehingga Anda dapat mencegah data sensitif terekspos. Fitur ini ada dalam pratinjau publik. Untuk mengetahui informasi selengkapnya, lihat Memindai secret.
Analisis berkelanjutan
Artifact Analysis membuat kemunculan untuk kerentanan dan paket berbahaya yang ditemukan saat Anda mengupload image. Setelah pemindaian awal, layanan ini akan terus memantau metadata untuk image yang dipindai di Artifact Registry untuk mencari kerentanan dan paket berbahaya baru.
Artifact Analysis menerima informasi kerentanan dan paket berbahaya baru serta yang diperbarui dari sumber kerentanan beberapa kali setiap hari. Saat data kerentanan atau paket berbahaya baru tiba, Artifact Analysis akan memperbarui metadata image yang dipindai agar tetap terbaru. Artifact Analysis memperbarui kemunculan yang ada, membuat kemunculan baru untuk catatan baru, dan menghapus kemunculan yang tidak lagi valid.
Artifact Analysis terus memindai image dan paket selama image dan paket tersebut telah ditarik dalam 30 hari terakhir. Setelah 30 hari, metadata untuk image dan paket yang dipindai tidak akan lagi diperbarui, dan hasilnya akan menjadi tidak valid.
Artifact Analysis mengarsipkan metadata yang sudah tidak valid selama lebih dari 90 hari. Metadata yang diarsipkan ini hanya dapat dievaluasi menggunakan API. Anda dapat memindai ulang image dengan metadata yang tidak valid atau diarsipkan dengan menarik image tersebut. Memperbarui metadata dapat memerlukan waktu hingga 24 jam. Paket dengan metadata yang tidak valid atau diarsipkan tidak dapat dipindai ulang.
Arsitektur
Artifact Analysis dapat memindai image pada arsitektur berbasis Linux apa pun.
Anda juga dapat menggunakan pemindaian kerentanan dengan daftar manifes. Daftar manifes adalah daftar pointer ke manifes untuk beberapa platform. Daftar ini memungkinkan satu image berfungsi dengan beberapa arsitektur atau variasi sistem operasi.
Jika daftar manifes Anda berisi image Linux amd64, Artifact Analysis akan memindai image tersebut. Jika tidak, Artifact Analysis akan memilih image lain dari daftar.
Pemindaian sesuai permintaan
Pemindaian sesuai permintaan memungkinkan Anda memindai image container secara lokal di komputer atau di registry Anda, menggunakan gcloud CLI. Hal ini memberi Anda fleksibilitas untuk menyesuaikan pipeline CI/CD, bergantung pada kapan Anda perlu mengakses hasil kerentanan.
Jenis paket yang didukung
Saat Anda mengirim image container ke repositori Docker di Artifact Registry, Artifact Analysis dapat memindai kerentanan dalam beberapa jenis paket OS dan paket bahasa aplikasi.
Tabel berikut membandingkan jenis paket yang dapat dipindai Artifact Analysis dengan setiap layanan pemindaian:
Paket OS yang didukung
| Pemindaian otomatis dengan Artifact Registry | Pemindaian sesuai permintaan | |
|---|---|---|
| OS AlmaLinux | ||
| Alpine | ||
| CentOS | ||
| Chainguard | ||
| Debian | ||
| Google Distroless | ||
| MinimOS | ||
| Red Hat Enterprise Linux (RHEL) | ||
| Red Hat Universal Base Image (UBI) | ||
| Rocky Linux | ||
| SUSE Linux Enterprise Server (SLES) | ||
| Ubuntu | ||
| Wolfi |
Paket bahasa aplikasi yang didukung
| Pemindaian otomatis dengan Artifact Registry | Pemindaian sesuai permintaan | |
|---|---|---|
| Paket Go | ||
| Paket Java | ||
| Paket Node.js | ||
| Paket PHP | ||
| Paket Python | ||
| Paket Ruby | ||
| Paket Rust | ||
| Paket .NET |
Untuk mengetahui informasi selengkapnya tentang fitur yang tersedia untuk setiap produk registry, lihat diagram perbandingan.
Artifact Analysis tidak didukung di container Windows Server.
Antarmuka Artifact Analysis
Di Google Cloud konsol, Anda dapat melihat kerentanan image dan metadata image untuk container di Artifact Registry.
Anda dapat menggunakan gcloud CLI untuk melihat kerentanan dan metadata image.
Anda juga dapat menggunakan Artifact Analysis REST API untuk melakukan salah satu tindakan ini. Seperti halnya Cloud Platform API lainnya, Anda harus mengautentikasi akses menggunakan OAuth2. Setelah diautentikasi, Anda juga dapat menggunakan API untuk membuat catatan dan kemunculan kustom serta melihat kemunculan kerentanan.
Artifact Analysis API mendukung gRPC dan REST/JSON. Anda dapat melakukan panggilan ke API menggunakan library klien atau menggunakan cURL untuk REST/JSON.
Menemukan jalur file paket
Saat Artifact Analysis menemukan kerentanan, Anda mungkin tidak mengenali paket yang rentan sebagai dependensi dalam artefak Anda. Hal ini dapat terjadi jika pengelola paket mengenalkannya, atau jika paket adalah dependensi transitif — dependensi dari salah satu dependensi Anda.
Untuk menemukan jalur ke file yang menyebabkan temuan kerentanan, ikuti langkah-langkah berikut:
- Di Google Cloud konsol, buka daftar kerentanan untuk artefak di Buka Artifact Registry.
- Untuk kerentanan yang ingin Anda selidiki, klik VIEW FIX.
Di panel detail, klik SHOW MORE INFO.
Kolom File location menampilkan jalur ke paket yang rentan
Mengontrol deployment image yang rentan
Anda dapat mengintegrasikan Artifact Analysis dengan Otorisasi Biner untuk membuat pernyataan, yang dapat mencegah image container dengan masalah keamanan yang diketahui berjalan di lingkungan deployment Anda.
Anda juga dapat menggunakan Otorisasi Biner untuk membuat daftar yang diizinkan kerentanan berdasarkan informasi kerentanan yang diberikan oleh Artifact Analysis sebagai bagian dari deployment Anda. Jika kerentanan melanggar kebijakan dalam daftar yang diizinkan, Anda akan diberi tahu.
Terakhir, Anda dapat menggunakan Pemindaian Sesuai Permintaan untuk memblokir dan menggagalkan build berdasarkan tingkat keparahan kerentanan yang ditemukan.
Sumber kerentanan
Bagian berikut mencantumkan sumber kerentanan yang digunakan Artifact Analysis untuk mendapatkan CVE data.
Pemindaian paket OS
Artifact Analysis menggunakan sumber berikut:
- OS AlmaLinux
- Alpine
- CentOS - Red Hat dan CentOS menggunakan sumber data kerentanan yang sama. Karena paket CentOS dipublikasikan setelah paket Red Hat, perbaikan yang tersedia untuk kerentanan di Red Hat mungkin memerlukan waktu untuk juga tersedia untuk CentOS.
- Chainguard
- Debian
- Google Distroless didasarkan pada Debian dan menggunakan data kerentanan Debian.
- National Vulnerability Database
- Minimus
- Red Hat Enterprise Linux (RHEL)
- Red Hat Universal Base Image (UBI)
- Rocky Linux
- SUSE Linux Enterprise Server (SLES)
- Ubuntu
- Wolfi
Pemindaian paket bahasa
Artifact Analysis mendukung pemindaian kerentanan dan paket berbahaya untuk paket bahasa dalam image container.
- Data kerentanan diperoleh dari GitHub Advisory Database.
Data paket berbahaya diperoleh dari OpenSSF Malicious Packages Repository. Paket berbahaya dilaporkan sebagai temuan dengan tingkat keparahan CRITICAL. Artifact Analysis mendeteksi paket berbahaya yang termasuk dalam kategori berikut:
- Typosquatting atau kebingungan dependensi: Paket yang dipublikasikan dengan nama yang mirip dengan paket populer untuk menipu pengguna agar menginstalnya.
- Pengambilalihan akun: Paket sah yang telah disusupi oleh pelaku berbahaya.
- Biner berbahaya: Biner yang telah dibuat sebelumnya untuk paket yang berisi kode berbahaya.
- Aktivitas peneliti keamanan: Paket yang dibuat oleh peneliti untuk mendemonstrasikan kerentanan atau melacak penggunaan paket.
Dalam sebagian besar kasus, setiap kerentanan diberi ID CVE dan ID ini
menjadi ID utama untuk kerentanan tersebut. Jika tidak ada
ID CVE yang ditetapkan untuk kerentanan, ID GHSA akan ditetapkan sebagai
ID. Jika kerentanan tersebut kemudian mendapatkan ID CVE, ID kerentanan akan diperbarui agar sesuai dengan CVE. Advisory paket berbahaya memiliki ID dengan awalan MAL-. Lihat
Memeriksa kerentanan tertentu dalam project untuk mengetahui informasi selengkapnya.
Versi OS yang didukung
Artifact Analysis mendukung pemindaian kerentanan untuk versi software sistem operasi berikut:
- OS AlmaLinux - Versi: 8, 9, 10, dan versi minor
- Alpine Linux - Versi: 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18, 3.19, 3.20, 3.21, 3.22, 3.23
- CentOS - Versi: 6, 7, 8, dan versi minor
- Chainguard - Pembaruan berkelanjutan pada satu jalur rilis.
- Debian GNU/Linux - Versi: 11, 12, 13, 14, 15
- MinimOS - Pembaruan berkelanjutan pada satu jalur rilis.
- Red Hat Enterprise Linux (RHEL) - Versi: 7, 8, 9, dan versi minor didukung untuk pemindaian registry otomatis.
- Red Hat Universal Base Image (UBI) - Versi 8, 9, dan versi minor
- Rocky Linux - Versi: 8, 9, 10, dan versi minor
- SUSE Linux Enterprise Server (SLES) - Versi: 12, 15, dan versi minor; SLES untuk SAP juga didukung dengan versi yang sama
- Ubuntu - Versi: 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10, 25.04, 25.10
- Wolfi - Pembaruan berkelanjutan pada satu jalur rilis.
Batasan
Fungsi utama Artifact Analysis adalah memindai dan mendeteksi kerentanan dalam container serta membuat kerentanan tersebut terlihat oleh organisasi Anda. Artifact Analysis tidak mengklaim dapat mengidentifikasi karakteristik image yang dapat meningkatkan atau mengurangi kemampuan organisasi Anda untuk memverifikasi integritas atau kepercayaan image. Untuk mengembangkan kepercayaan ini lebih lanjut, Google memiliki solusi yang dapat Anda gunakan secara individual atau kombinasi. Pelajari lebih lanjut pendekatan kami terhadap keamanan supply chain software.
Artifact Analysis memberikan hasil pemindaian kerentanan untuk RHEL berdasarkan versi minor terbaru untuk setiap versi utama yang dirilis. Jika Anda memindai versi minor yang lebih lama, Anda mungkin akan mendapatkan hasil yang tidak akurat.
RHEL Versi 9 tidak didukung untuk pemindaian sesuai permintaan.
Pengelola paket dan pembuatan versi semantik
- Go - Artifact Analysis melaporkan kerentanan untuk paket di library standar Go, dan paket Go eksternal yang tidak disertakan dalam library standar. Kerentanan dilaporkan dengan label yang berbeda untuk setiap jenis paket.
- Java - Artifact Analysis mendukung paket Maven yang mengikuti konvensi penamaan Maven. Jika versi paket menyertakan spasi, paket tersebut tidak akan dipindai.
- Node.js - Pencocokan versi paket mengikuti pembuatan versi semantik spesifikasi.
- PHP - Artifact Analysis memindai paket Composer. Lihat Pembuatan versi semantik Composer.
- Python - Pencocokan versi Python mengikuti semantik PEP 440.
- Ruby - Artifact Analysis memindai paket RubyGems. Lihat Pembuatan versi semantik RubyGems.
- Rust - Artifact Analysis memindai paket Cargo. Lihat Pembuatan versi semantik Rust.
- .NET - Artifact Analysis memindai NuGet paket. Lihat Pembuatan versi semantik NuGet.