Artifact Analysis menyediakan dua cara untuk memindai image: 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 Anda dari ujung ke ujung, 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 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 saat push dan analisis berkelanjutan.
Pemindaian saat notifikasi muncul
Artifact Analysis memindai image baru saat diupload ke Artifact Registry atau Container Registry. Pemindaian ini mengekstrak informasi tentang paket dalam container. Gambar hanya dipindai satu kali, berdasarkan ringkasan gambar. Artinya, penambahan atau perubahan tag tidak akan memicu pemindaian baru.
Artifact Analysis hanya mendeteksi kerentanan dalam paket yang dipantau secara publik untuk menemukan kerentanan keamanan.
Setelah 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, alat ini akan terus memantau metadata 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 gambar 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 gambar yang di-push atau ditarik dalam 30 hari terakhir. Setelah 30 hari, metadata tidak akan diperbarui lagi, dan hasilnya akan menjadi tidak valid. 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 menggunakan API. Untuk memindai ulang gambar dengan metadata yang tidak berlaku atau diarsipkan, tarik gambar tersebut. Memperbarui metadata dapat memerlukan waktu hingga 24 jam.
Daftar manifes
Anda juga dapat menggunakan pemindaian kerentanan dengan daftar manifes. Daftar manifes adalah daftar penunjuk ke manifes untuk beberapa platform. Image ini 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.
Pemindaian on-demand
Pemindaian sesuai permintaan 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 mengirimkan 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 beralih ke Artifact Registry.
Tabel berikut membandingkan jenis paket yang dapat dipindai oleh 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 | |
---|---|---|---|
OS AlmaLinux | |||
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 |
Artifact Analysis hanya memindai paket bahasa aplikasi di Artifact Registry saat paket tersebut dimasukkan ke dalam container dan disimpan di repositori format Docker. Format repositori Artifact Registry lainnya tidak didukung.
Untuk mengetahui informasi selengkapnya tentang fitur yang tersedia untuk setiap produk registri, lihat diagram perbandingan.
Analisis Artefak tidak didukung di container 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 salah satu tindakan ini. Seperti API Cloud Platform lainnya, Anda harus mengautentikasi akses menggunakan OAuth2. Setelah mengautentikasi, 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 mengintegrasikan Artifact Analysis dengan Otorisasi Biner untuk membuat pengesahan, 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 untuk kerentanan berdasarkan informasi kerentanan yang disediakan oleh Analisis Artefak 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 membuat build gagal berdasarkan tingkat keparahan kerentanan yang ditemukan.
Sumber kerentanan
Bagian berikut mencantumkan sumber kerentanan yang digunakan Analisis Artefak untuk mendapatkan data CVE.
Pemindaian paket OS
Artifact Analysis menggunakan sumber berikut:
- OS AlmaLinux
- 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 agar tersedia juga untuk 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.
Biasanya, 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 kemudian kerentanan tersebut mendapatkan ID CVE, maka 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 software sistem operasi versi berikut:
- OS AlmaLinux - 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, 3.21
- CentOS - Versi: 6, 7, 8, dan versi minor
- Chainguard - Meluncurkan update di jalur rilis tunggal.
- Debian GNU/Linux - Versi: 11, 12, 13
- Red Hat Enterprise Linux (RHEL) - Versi: 7, 8, 9, dan versi minor didukung untuk pemindaian otomatis registri.
- 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 for SAP juga didukung dengan versi yang sama
- Ubuntu - Versi: 14.04, 16.04, 18.04, 20.04, 22.04, 24.04, 24.10
- Wolfi - Update berkelanjutan di jalur rilis tunggal.
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 gambar yang dapat meningkatkan atau mengurangi kemampuan organisasi Anda untuk memverifikasi integritas atau kepercayaan gambar. Untuk lebih mengembangkan kepercayaan ini, Google memiliki solusi yang dapat Anda gunakan satu per satu atau secara bersamaan. 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. Mungkin ada ketidakakuratan dalam hasil pemindaian untuk versi minor RHEL yang lebih lama.
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 termasuk 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.