欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

  • k8s和Docker關(guān)系簡單說明

    k8s和Docker關(guān)系簡單說明

    這篇文章主要介紹了k8s和Docker關(guān)系簡單說明,本文利于圖文講解的很透徹,有需要的同學(xué)可以研究下
    2021-03-03
  • Ceph集群Docker容器化部署過程

    Ceph集群Docker容器化部署過程

    這篇文章主要介紹了Ceph集群Docker容器化部署過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • k8s官方鏡像代理加速方式

    k8s官方鏡像代理加速方式

    這篇文章主要介紹了k8s官方鏡像代理加速方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • docker修改默認存儲位置圖文教程

    docker修改默認存儲位置圖文教程

    最近在學(xué)習(xí)docker的路上,今天遇到了個問題,在網(wǎng)上查找了一下資料,順便留個筆記,下面這篇文章主要給大家介紹了關(guān)于docker修改默認存儲位置的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • Windows安裝docker-desktop的詳細步驟

    Windows安裝docker-desktop的詳細步驟

    這篇文章主要介紹了Windows安裝docker-desktop的詳細步驟,本文通過圖文并茂的形式給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • 從docker鏡像里提取dockerfile的兩種方法

    從docker鏡像里提取dockerfile的兩種方法

    Dockerfile是用來構(gòu)建Docker鏡像的構(gòu)建文件,是由一系列命令和參數(shù)構(gòu)成的腳本,下面這篇文章主要給大家介紹了關(guān)于如何從docker鏡像里提取dockerfile的兩種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服

    利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服

    Maven大家應(yīng)該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧
    2022-01-01
  • Docker安裝部署Neo4j的保姆級教程

    Docker安裝部署Neo4j的保姆級教程

    本文主要介紹了Docker安裝部署Neo4j的保姆級教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • 使用Golang玩轉(zhuǎn)Docker API的實踐

    使用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(推薦)

    局域網(wǎng)內(nèi)部署 Docker Registry(推薦)

    本文將從創(chuàng)建單機的 Docker Registry 開始,逐步完成局域網(wǎng)內(nèi)可用的 Docker Registry 的創(chuàng)建,并重點解釋如何使用 IP 地址訪問 Registry 的方法
    2017-05-05

最新評論