docker通過sbom獲取組件版本和漏洞編號的方法
更新時間:2025年05月29日 10:41:23 作者:din4e
本文主要介紹了docker通過sbom獲取組件版本和漏洞編號的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
最近做 SCA 測試,需要獲取鏡像的組件和漏洞,使用 docker scout 工具,通過 sbom 獲取組件名稱、版本和漏洞編號。
docker scout
獲取組件信息
docker scout sbom --format spdx --output 2025.05.25.sbom.spdx.json nginx:stable-perl v SBOM of image already cached, 244 packages indexed v Report written to 2025.05.25.sbom.spdx.json
使用 SCA 工具處理組件信息。
獲取 CVE 編號
docker scout cves --format sbom nginx:stable-perl > sbom.cve.json
按行輸出 CVE 編號
import json import re from charset_normalizer import detect def extract_cve_ids(file_path): """ Extract all CVE IDs from a JSON file. """ cve_pattern = re.compile(r'CVE-\d{4}-\d{4,}') # Regex pattern for CVE IDs cve_ids = [] # Detect the file encoding with open(file_path, 'rb') as file: raw_data = file.read() detected = detect(raw_data) encoding = detected['encoding'] # Read the JSON file with the detected encoding with open(file_path, 'r', encoding=encoding) as file: data = json.load(file) # Recursively search for CVE IDs in the JSON structure def search_cve(obj): if isinstance(obj, dict): for key, value in obj.items(): search_cve(value) elif isinstance(obj, list): for item in obj: search_cve(item) elif isinstance(obj, str): matches = cve_pattern.findall(obj) cve_ids.extend(matches) search_cve(data) return cve_ids # File path to 1.json file_path = "sbom.cve.json" # Extract CVE IDs and print them cve_ids = extract_cve_ids(file_path) print("\n".join(cve_ids))
到此這篇關(guān)于docker通過sbom獲取組件版本和漏洞編號的方法的文章就介紹到這了,更多相關(guān)docker sbom獲取組件版本和漏洞內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服
Maven大家應(yīng)該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧2022-01-01使用Golang玩轉(zhuǎn)Docker API的實踐
這篇文章主要介紹了使用Golang玩轉(zhuǎn)Docker API的實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04局域網(wǎng)內(nèi)部署 Docker Registry(推薦)
本文將從創(chuàng)建單機的 Docker Registry 開始,逐步完成局域網(wǎng)內(nèi)可用的 Docker Registry 的創(chuàng)建,并重點解釋如何使用 IP 地址訪問 Registry 的方法2017-05-05