Artifact Analysis menyediakan dua cara untuk memindai gambar: pemindaian otomatis dan pemindaian sesuai permintaan. Dokumen ini menguraikan detail fitur untuk kedua jenis pemindaian.
Artifact Analysis juga menyediakan pengelolaan metadata. Untuk mempelajari lebih lanjut cara menggunakan pemindaian dan penyimpanan metadata secara bersamaan untuk mengamankan pipeline CI/CD dari ujung ke ujung, lihat Ringkasan Analisis Artefak.
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 atau Container Registry (Tidak digunakan lagi).
Pemindaian otomatis
Artifact Analysis melakukan pemindaian kerentanan pada artefak Anda di Artifact Registry atau Container Registry (Tidak digunakan lagi). Artifact Analysis juga mengidentifikasi dependensi dan lisensi untuk membantu Anda memahami komposisi software.
Pemindaian otomatis terdiri dari dua tugas utama: pemindaian on-push dan analisis berkelanjutan.
Pemindaian saat di-push
Artifact Analysis akan memindai image baru saat diupload ke Artifact Registry atau Container Registry. Pemindaian ini mengekstrak informasi tentang paket dalam penampung. Gambar hanya dipindai satu kali, berdasarkan ringkasan gambar. Artinya, menambahkan atau mengubah tag tidak akan memicu pemindaian baru.
Artifact Analysis hanya mendeteksi kerentanan dalam paket yang dipantau secara publik untuk kerentanan keamanan.
Saat pemindaian image selesai, hasil kerentanan yang dihasilkan adalah kumpulan kemunculan kerentanan untuk image tersebut.
Analisis berkelanjutan
Artifact Analysis membuat kemunculan untuk kerentanan yang ditemukan saat Anda mengupload image. Setelah pemindaian awal, Artifact Analysis terus memantau metadata untuk image yang dipindai di Artifact Registry dan Container Registry untuk mencari kerentanan baru.
Artifact Analysis menerima informasi kerentanan baru dan yang diperbarui dari sumber kerentanan beberapa kali setiap hari. Saat data kerentanan baru tiba, Artifact Analysis akan memperbarui metadata image yang dipindai agar tetap terbaru. Artifact Analysis memperbarui kemunculan kerentanan yang ada, membuat kemunculan kerentanan baru untuk catatan baru, dan menghapus kemunculan kerentanan yang tidak lagi valid.
Analisis Artefak hanya memperbarui metadata untuk image yang di-push atau di-pull dalam 30 hari terakhir. Setelah 30 hari, metadata tidak akan lagi diperbarui, dan hasilnya akan menjadi usang. Selain itu, Analisis Artefak mengarsipkan metadata yang sudah tidak berlaku selama lebih dari 90 hari, dan metadata tersebut tidak akan tersedia di konsol Google Cloud, gcloud, atau dengan menggunakan API. Untuk memindai ulang gambar dengan metadata yang sudah tidak berlaku atau diarsipkan, tarik gambar tersebut. Memuat ulang metadata dapat memerlukan waktu hingga 24 jam.
Daftar manifes
Anda juga dapat menggunakan pemindaian kerentanan dengan daftar manifes. Daftar manifes adalah daftar pointer ke manifes untuk beberapa platform. Image multi-arch memungkinkan satu image berfungsi dengan beberapa arsitektur atau variasi sistem operasi.
Pemindaian kerentanan Artifact Analysis hanya mendukung image amd64 Linux. Jika daftar manifes Anda mengarah ke lebih dari satu image Linux amd64, hanya image pertama yang akan dipindai; jika tidak ada pointer ke image Linux amd64, Anda tidak akan mendapatkan hasil pemindaian apa pun.
Pemindaian on-demand
Pemindaian on-demand memungkinkan Anda memindai image container secara lokal di komputer atau di registry, menggunakan gcloud CLI. Hal ini memberi Anda fleksibilitas untuk menyesuaikan pipeline CI/CD, bergantung pada waktu 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 di beberapa jenis paket OS dan paket bahasa aplikasi.
Container Registry Tidak Digunakan Lagi. Dengan Container Registry, pemindaian otomatis hanya memindai paket OS. Jika Anda menggunakan Container Registry, pelajari cara bertransisi ke Artifact Registry.
Tabel berikut membandingkan jenis paket yang dapat dipindai Analisis Artefak dengan setiap layanan pemindaian:
Paket OS yang didukung
Pemindaian otomatis dengan Artifact Registry | Pemindaian otomatis dengan Container Registry (Tidak digunakan lagi) | Pemindaian on-demand | |
---|---|---|---|
AlmaLinux OS | |||
Alpine | |||
CentOS | |||
Chainguard | |||
Debian | |||
Google Distroless | |||
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 otomatis dengan Container Registry (Tidak digunakan lagi) | Pemindaian on-demand | |
---|---|---|---|
Paket Go | |||
Paket Java | |||
Paket Node.js | |||
Paket PHP | |||
Paket Python | |||
Paket Ruby | |||
Paket Rust | |||
Paket .NET |
Analisis Artefak hanya memindai paket bahasa aplikasi di Artifact Registry saat paket di-containerisasi dan disimpan di repositori format Docker. Format repositori Artifact Registry lainnya tidak didukung.
Untuk informasi selengkapnya tentang fitur yang tersedia untuk setiap produk registry, lihat diagram perbandingan.
Analisis Artefak tidak didukung di penampung Windows Server.
Antarmuka Artifact Analysis
Di konsol Google Cloud, 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 tindakan apa pun di antara tindakan ini. Seperti halnya Cloud Platform API lainnya, Anda harus melakukan autentikasi 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.
Mengontrol deployment image yang rentan
Anda dapat menggunakan Otorisasi Biner untuk membuat daftar yang diizinkan kerentanan berdasarkan informasi kerentanan yang disediakan oleh Analisis Artefak sebagai bagian dari pipeline Cloud Build Anda. Jika kerentanan melanggar kebijakan dalam daftar yang diizinkan, build akan gagal.
Anda juga dapat mengintegrasikan Artifact Analysis dengan Otorisasi Biner untuk membuat pengesahan, yang dapat mencegah image container dengan masalah keamanan yang diketahui berjalan di lingkungan deployment Anda.
Sumber kerentanan
Bagian berikut mencantumkan sumber kerentanan yang digunakan Analisis Artefak untuk mendapatkan data CVE.
Pemindaian paket OS
Analisis Artefak menggunakan sumber berikut:
- AlmaLinux OS
- Alpine
- CentOS - Red Hat dan CentOS memiliki sumber data kerentanan yang sama. Karena paket CentOS dipublikasikan setelah paket Red Hat, perbaikan yang tersedia untuk kerentanan di Red Hat mungkin memerlukan waktu beberapa saat untuk juga tersedia di CentOS.
- Chainguard
- Debian
- Google Distroless didasarkan pada Debian dan menggunakan data kerentanan Debian.
- National Vulnerability Database
- 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 untuk paket bahasa dalam image container. Data kerentanan diperoleh dari GitHub Advisory Database.
Pada umumnya, setiap kerentanan diberi ID CVE dan ID ini menjadi ID utama untuk kerentanan tersebut. Jika tidak ada ID CVE yang ditetapkan ke kerentanan, ID GHSA akan ditetapkan sebagai ID. Jika kemudian kerentanan tersebut mendapatkan ID CVE, ID kerentanan akan diperbarui agar cocok dengan CVE. 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:
- AlmaLinux OS - Versi: 8, 9, 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
- CentOS - Versi: 6, 7, 8, dan versi minor
- Chainguard - Melakukan update secara bertahap di satu jalur rilis.
- Debian GNU/Linux - Versi: 9, 10, 11, 12
- Red Hat Enterprise Linux (RHEL) - Versi: 6, 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, 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: 12.04, 12.10, 13.04, 14.04, 14.10, 15.04, 15.10, 16.04, 16.10, 17.04, 17.10, 18.04, 18.10, 20.04, 20.10, 21.04, 21.10, 22.04, 22.10, 23.04, 23.10, 24.04
- Wolfi - Update berkelanjutan di satu jalur rilis.
Batasan
- Artifact Analysis memberikan hasil pemindaian kerentanan untuk RHEL berdasarkan versi minor terbaru untuk setiap versi utama yang dirilis. Mungkin ada ketidakakuratan dalam hasil pemindaian untuk versi minor RHEL yang lebih lama.
- RHEL Versi 9 tidak didukung untuk pemindaian on demand.
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 - Analisis Artefak mendukung paket Maven yang mengikuti konvensi penamaan Maven. Jika versi paket menyertakan spasi, paket tersebut tidak akan dipindai.
- Node.js - Pencocokan versi paket mengikuti spesifikasi pembuatan versi semantik.
- 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 RybyGems.
- Rust - Artifact Analysis memindai paket Cargo. Lihat Pembuatan versi semantik Rust.
- .NET - Artifact Analysis memindai paket NuGet. Lihat Pembuatan versi semantik NuGet.