Alat CLI dan pustaka Go untuk menghasilkan Software Bill of Materials (SBOM) dari image container dan sistem file. Luar biasa untuk deteksi kerentanan saat digunakan dengan pemindai seperti Grype.
Syft adalah alat sumber terbuka yang kuat dan mudah digunakan untuk menghasilkan Software Bill of Materials (SBOMs) untuk gambar kontainer dan sistem file. Ini memberikan visibilitas terperinci ke dalam paket dan ketergantungan dalam perangkat lunak Anda, membantu Anda mengelola kerentanan, kepatuhan lisensi, dan keamanan rantai pasokan perangkat lunak.
Pengembangan Syft disponsori oleh Anchore, dan dirilis di bawah Lisensi Apache-2.0. Untuk opsi dukungan komersial dengan Syft atau Grype, silakan hubungi Anchore.
Menghasilkan SBOM untuk gambar kontainer, sistem file, arsip, dan lainnya untuk menemukan paket dan perpustakaan
Mendukung format gambar OCI, Docker, dan Singularitas
Identifikasi distribusi Linux
Bekerja secara lancar dengan Grype (pemindai kerentanan yang cepat dan modern)
Mampu membuat pengesahan SBOM yang ditandatangani menggunakan spesifikasi in-toto
Konversi antara format SBOM, seperti CycloneDX, SPDX, dan format Syft sendiri.
Biner Syft disediakan untuk Linux, macOS dan Windows.
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
Instal opsi skrip:
-b
: Tentukan direktori instalasi khusus (defaultnya adalah ./bin
)
-d
: Lebih banyak level logging verbose ( -d
untuk debug, -dd
untuk pelacakan)
-v
: Verifikasi tanda tangan artefak yang diunduh sebelum instalasi (memerlukan instalasi cosign
)
pembuatan bir instal syft
sendok instal syft
Distribusi coklat Syft dikelola oleh komunitas dan tidak didistribusikan oleh tim Anchore
coklat instal syft -y
Catatan : Kemasan Nix dari Syft dikelola oleh komunitas. Syft tersedia di saluran stabil sejak NixOS 22.05
.
nix-env -i syft
... atau, coba saja di shell nix sementara:
nix-shell -p syft
Untuk menghasilkan SBOM untuk gambar kontainer:
syft
Output di atas hanya mencakup perangkat lunak yang terlihat dalam wadah (yaitu, representasi gambar yang tergencet). Untuk menyertakan perangkat lunak dari semua lapisan gambar di SBOM, terlepas dari keberadaannya di gambar akhir, sediakan --scope all-layers
:
syft--scope semua lapisan
Format output untuk Syft juga dapat dikonfigurasi menggunakan opsi -o
(atau --output
):
syft-o
Dimana formats
yang tersedia adalah :
syft-json
: Gunakan ini untuk mendapatkan informasi sebanyak mungkin dari Syft!
syft-text
: Output yang berorientasi pada baris, ramah manusia dan mesin.
cyclonedx-xml
: Laporan XML yang sesuai dengan spesifikasi CycloneDX 1.6.
[email protected]
: Laporan XML yang sesuai dengan spesifikasi CycloneDX 1.5.
cyclonedx-json
: Laporan JSON yang sesuai dengan spesifikasi CycloneDX 1.6.
[email protected]
: Laporan JSON yang sesuai dengan spesifikasi CycloneDX 1.5.
spdx-tag-value
: Laporan berformat nilai tag yang sesuai dengan spesifikasi SPDX 2.3.
[email protected]
: Laporan berformat nilai tag yang sesuai dengan spesifikasi SPDX 2.2.
spdx-json
: Laporan JSON yang sesuai dengan Skema JSON SPDX 2.3.
[email protected]
: Laporan JSON yang sesuai dengan Skema JSON SPDX 2.2.
github-json
: Laporan JSON yang sesuai dengan format snapshot ketergantungan GitHub.
syft-table
: Ringkasan kolom (default).
template
: Memungkinkan pengguna menentukan format output. Lihat "Menggunakan templat" di bawah.
Perhatikan bahwa tanda yang menggunakan @ juga dapat digunakan untuk versi sebelumnya dari setiap spesifikasi.
Alpen (apk)
C (konan)
C++ (konan)
Dart (pub)
Debian (dpkg)
Dotnet (deps.json)
Objective-C (cocoapod)
Ramuan (campuran)
Erlang (rebar3)
Go (go.mod, binari Go)
Haskell (komplotan rahasia, tumpukan)
Java (jar, telinga, perang, par, sar, nar, gambar asli)
JavaScript (npm, benang)
Plugin Jenkins (jpi, hpi)
Arsip kernel Linux (vmlinz)
Modul kernel Linux (ko)
Nix (output di /nix/store)
PHP (komposer)
Python (roda, telur, puisi, persyaratan.txt)
Topi Merah (rpm)
Ruby (permata)
Karat (kunci kargo)
Swift (cocoapod, manajer paket cepat)
Plugin WordPress
Wiki kami berisi rincian lebih lanjut tentang topik berikut:
Sumber yang Didukung
Pemilihan Berkas
Tidak termasuk jalur file
Format keluaran
Pemilihan Katalog Paket
Konsep
Contoh
Menggunakan template
Banyak keluaran
Otentikasi Registri Pribadi
Kredensial Docker Lokal
Kredensial Docker di Kubernetes
Pengesahan (eksperimental)
Dukungan Tanpa Kunci
Dukungan kunci pribadi lokal
Menambahkan SBOM ke gambar sebagai pengesahan menggunakan Syft
Konfigurasi
Lihat panduan kontribusi dan dokumen pengembang kami.
Tim Syft mengadakan pertemuan komunitas rutin secara online. Semua dipersilakan untuk bergabung membawa topik diskusi.
Periksa kalender untuk tanggal pertemuan berikutnya.
Tambahkan item ke agenda (bergabunglah dengan grup ini untuk akses tulis ke agenda)
Sampai jumpa di sana!