
syft v1.52.0
コンテナイメージとファイルシステムからソフトウェア部品表(SBOM)を生成するためのCLIツールおよびライブラリ
Syft
コンテナイメージやファイルシステムからソフトウェア部品表(SBOM)を生成するためのCLIツールおよびGoライブラリ。Grypeのようなスキャナと組み合わせて使用すると、脆弱性検出に優れています。

機能
- コンテナイメージ、ファイルシステム、アーカイブのSBOMを生成します(サポートされているスキャン対象の完全なリストについてはドキュメントを参照してください)
- 数十のパッケージエコシステムをサポートしています(例:Alpine (apk)、Debian (dpkg)、RPM、Go、Python、Java、JavaScript、Ruby、Rust、PHP、.NET、およびその他多数)
- OCI、Docker、Singularity、およびその他のイメージ形式をサポートしています
- 脆弱性スキャンのためにGrypeとシームレスに連携します
- 複数の出力形式(CycloneDX、SPDX、Syft JSON、およびその他)をサポートし、SBOM形式間の変換も可能です
- in-toto仕様を使用して署名付きSBOMアテステーションを作成します
[!TIP] Syftを初めて使う方は、Getting Startedガイドでウォークスルーを確認してください!
インストール
最も手早く始める方法:
curl -sSfL https://get.anchore.io/syft | sudo sh -s -- -b /usr/local/bin
[!TIP] Homebrew、Docker、Scoop、Chocolatey、Nixなど、Syftを入手するその他の方法についてはインストールドキュメントを参照してください!
基本
コンテナイメージまたはディレクトリ内のパッケージを表示します:
# container image
syft alpine:latest
# directory
syft ./my-project
SBOMを取得するには、1つ以上の出力形式を指定します:
# SBOM to stdout
syft <image> -o cyclonedx-json
# Multiple SBOMs to files
syft <image> -o spdx-json=./spdx.json -o cyclonedx-json=./cdx.json
ローカルのcontainers-storageイメージ
Linuxでは、syftは明示的に指定された場合、ローカルのcontainers-storageストア(例:BuildahやPodmanでビルドされたもの)からイメージをスキャンできます。通常のイメージ参照がそこを参照することはありません:
syft --from containers-storage localhost/myimage:latest
# rootless stores must be read from inside the builder's user namespace
podman unshare syft --from containers-storage localhost/myimage:latest
これはLinuxリリースバイナリに含まれています。ソースからビルドする場合は、-tags containers_image_openpgp,exclude_graphdriver_btrfsを追加してください。
[!TIP] すべての機能と能力を探るには、Getting Startedガイドを確認してください。
Syftの詳細をすべて知りたいですか? CLIドキュメント、設定ドキュメント、およびJSONスキーマを確認してください。
コントリビューション
バグを見つけた場合や新機能を希望する場合は、issueを送信して、これらのツールをより良くするためにご協力ください。 コードのコントリビューションに興味がある場合は、コントリビューション概要と開発者向けドキュメントを確認してください。
Syftの開発はAnchoreがスポンサーであり、Apache-2.0ライセンスの下でリリースされています。
SyftロゴはAnchoreによるもので、CC BY 4.0の下でライセンスされています。
SyftまたはGrypeの商用サポートオプションについては、Anchoreにお問い合わせください。
ぜひお話ししましょう!
Syftチームは定期的にオンラインコミュニティミーティングを開催しています。議論したいトピックを持って、どなたでも参加できます。