OSS探訪

container image・filesystem・archiveからSBOMを生成し、CycloneDX・SPDXなど複数formatへ出力する

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
9,633
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02
ページ内ナビ

概要

Syftはcontainer image、filesystem、archiveからsoftware packageをcatalog化し、SBOMを生成するCLI / Go libraryです。Linux packageだけでなくGo、Python、Java、JavaScript、Ruby、Rust、PHP、.NETなど多数のecosystemを識別し、CycloneDX、SPDX、Syft JSON等へ出力できます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

image・directory・archiveからpackage inventoryを作る

Docker/OCI image、local filesystem、archiveを解析し、OS packageとapplication dependencyを一つのinventoryへまとめます。

出典:[1]

CycloneDX・SPDX・Syft JSONなどへ出力・変換する

用途に応じて複数のSBOM formatを選択でき、同じsourceから複数formatを同時出力したり既存SBOMを変換できます。

出典:[1]

Grype連携やsigned attestationへつなげる

生成SBOMをGrypeへ渡して脆弱性scanを高速化でき、in-toto specificationを使ったsigned SBOM attestationも扱えます。

出典:[1]

向いている用途

CI/CDでartifact inventoryを標準formatへ残したいteamに向く

release imageやsource treeからSBOMを生成し、artifactとして保存・監査・scanner inputへ再利用するsoftware supply chain workflowに適しています。

出典:[1]

導入前の確認

SBOMは検出結果であり完全なsoftware inventoryを保証しない

package catalogerはfileやmetadataからpackageを推定します。v1.54.0でもPURL、Java archive、PHP extension、lockfile等のcatalog修正が続いているため、重要なcomponentはsource package managerやbuild metadataと突合します。

出典:[2]

v1.54.0ではparser hardeningと依存脆弱性修正が多数入る

v1.54.0はmalformed inputによるpanic抑制やparser read上限などのhardeningに加え、dependencyの既知脆弱性2件をremediateしています。scanner自体もversion固定で更新します。

出典:[2]

source buildにはGo 1.26.8が必要

v1.54.0のgo.modはGo 1.26.8を指定しています。通常利用はrelease binaryでよく、source buildやlibrary組み込み時にtoolchain要件を確認します。

出典:[3]

参考にした公式資料

  1. [1]Syft README(2026-10-03)
  2. [2]Syft v1.54.0 release(2026-10-03)
  3. [3]Syft v1.54.0 go.mod(2026-10-03)
  4. [4]Syft Apache-2.0 license(2026-10-03)
編集部からの補足

imageやsource directoryの構成要素をCIでSBOM化したい場合に扱いやすいCLIです。SBOMは検出したpackage inventoryであり脆弱性判定そのものではないため、Grype等のscannerと役割を分け、catalogerの誤認・欠落も前提にreviewしてください。

3ステップで試す

  1. 1

    v1.54.0をversion固定でinstall

    official installerへtagを渡し、CIでも同じSyft versionを再現できるよう固定します。

    curl -sSfL https://get.anchore.io/syft | sudo sh -s -- -b /usr/local/bin v1.54.0
  2. 2

    container imageからCycloneDX SBOMを生成

    image内のOS packageとlanguage dependencyをcatalogし、CycloneDX JSONへ出力します。

    syft alpine:latest -o cyclonedx-json=./sbom.cdx.json
  3. 3

    source directoryからSPDX SBOMを生成

    repository directoryも同じCLIでcatalogできます。重要packageはbuild metadataとも突合してください。

    syft ./my-project -o spdx-json=./sbom.spdx.json
公式READMEで確認

成長

成長の推移 · 直近30日

9,633 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
89
Open PR
140

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • containers
  • docker
  • go
  • golang
  • static-analysis
  • tool
  • oci
  • sbom
  • spdx
  • cyclonedx
  • hacktoberfest
Stars
9,633
Forks
977
Watchers
74
Open Issues
507
Contributors
268
所有者種別
Organization
主要言語
Go
ライセンス
Apache-2.0
リポジトリ最終更新
2026/10/02

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?