專注于容器鏡像安全的工具
共 2050字,需瀏覽 5分鐘
·
2024-11-28 19:30
大家好,又見面了,我是 GitHub 精選君!
背景介紹
在今天的軟件開發(fā)領(lǐng)域,安全和合規(guī)性是繞不開的議題。軟件供應(yīng)鏈安全已然成為企業(yè)關(guān)注的熱點,特別是當(dāng)涉及到容器化技術(shù)和微服務(wù)架構(gòu)時。隨著依賴庫和第三方組件的使用越來越廣,了解和管理這些組件變得日益困難,而這些組件潛在的安全漏洞和許可證問題也隨之而來。作為開發(fā)者或運維人員,如何快速準(zhǔn)確地了解到你的容器鏡像或文件系統(tǒng)中究竟包含了什么軟件包和依賴,成為了一項挑戰(zhàn)。
今天要給大家推薦一個 GitHub 開源項目 syft,該項目在 GitHub 有超過 6.3k Star。
一句話介紹該項目:CLI tool and library for generating a Software Bill of Materials from container images and filesystems
項目介紹
Syft 是一個開源的 CLI 工具和 Go 語言庫,專門用于從容器鏡像和文件系統(tǒng)生成軟件物料清單(Software Bill of Materials,簡稱 SBOM)。通過 Syft,你可以獲得一個清晰的軟件包和依賴關(guān)系視圖,這樣不僅可以幫助你高效地管理軟件許可證,還可以和諸如 Grype 這樣的掃描工具搭配使用,以便進(jìn)行漏洞檢測和軟件供應(yīng)鏈風(fēng)險管理。
以下是一個使用示例:
主要功能介紹如下:
1、支持生成容器鏡像、文件系統(tǒng)、檔案等的 SBOM
2、支持 OCI、Docker 和 Singularity 鏡像格式
3、能夠識別 Linux 發(fā)行版
4、與 Grype 緊密集成,提供快速現(xiàn)代的漏洞掃描能力
5、支持創(chuàng)建符合 in-toto spec 的 SBOM 簽名聲明
6、支持多種 SBOM 格式之間的轉(zhuǎn)換,包括 CycloneDX、SPDX 和 Syft 自有格式
如何使用
對于 Linux、macOS 和 Windows 用戶,可以通過以下方式安裝 Syft:
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
也可以通過 Homebrew、Scoop、Chocolatey 或 Nix 進(jìn)行安裝,具體命令請參照項目 README。
具體的使用方式舉例如下:
1、生成 SBOM
為了生成容器鏡像的 SBOM,執(zhí)行:
syft <image-name>
如果想要包含所有鏡像層中的軟件,而不僅是最終鏡像中的,提供 --scope all-layers 選項:
syft <image-name> --scope all-layers
2、輸出格式:
通過 -o 或 --output 選項,可以配置 Syft 的輸出格式,例如:
syft <image-name> -o <format>
支持的格式有 syft-json、syft-table、cyclonedx-xml、spdx-tag-value 等,詳細(xì)信息可參考項目文檔。
項目推介
隨著軟件供應(yīng)鏈安全的關(guān)注度不斷攀升,類似 Syft 這樣能夠提供清晰、詳細(xì) SBOM 的工具變得異常重要。Syft 的開發(fā)活躍,由擁有廣泛認(rèn)可的安全企業(yè) Anchore 贊助。
以下是該項目 Star 趨勢圖(代表項目的活躍程度):
更多項目詳情請查看如下鏈接。
開源項目地址:https://github.com/anchore/syft
開源項目作者:anchore
開源協(xié)議:Apache License 2.0
關(guān)注我們,一起探索有意思的開源項目。
點擊如下卡片后臺回復(fù):加群,與技術(shù)極客們一起交流人工智能、開源項目,一起成長。如果你正在尋求開源項目推廣、DevOps、AIGC 大模型、軟件開發(fā)等領(lǐng)域的付費服務(wù),可參考推文了解詳情。
讀者專屬插件:github.com/ZhuPeng/github_linker
