View a markdown version of this page

Amazon Inspector SBOM 產生器全方位生態系統集合 - Amazon Inspector

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Inspector SBOM 產生器全方位生態系統集合

Amazon Inspector SBOM 產生器是一種工具,可用來建立軟體物料清單 (SBOM),以及針對作業系統和程式設計語言中支援的套件執行漏洞掃描。它支援掃描核心作業系統以外的各種生態系統,確保對基礎設施元件進行強大且詳細的分析。透過產生 SBOM,您可以了解現代技術堆疊的組成、識別生態系統元件中的漏洞,以及了解第三方軟體。

支援的生態系統

生態系統集合會將 SBOM 產生延伸到透過作業系統套件管理員安裝的套件之外。這是透過以替代方法部署的應用程式集合來完成,例如手動安裝。Amazon Inspector SBOM 產生器支援掃描下列生態系統:

生態系統 應用程式

7-Zip

7-Zip 封存程式 (21.07 版及更新版本)

Apache

Apache httpd

Apache tomcat

Atlassian

Jira Core

Confluence

Jira Software

Jira Service Management

Curl

Curl

Libcurl

Elasticsearch Elasticsearch

Google

Chrome

HuggingFace

HuggingFace CLI Models Cache

Java

JDK

JRE

Amazon Corretto

Jenkins

Jenkins (2.400.* 版及更新版本)

MariaDB 和 MySQL

MariaDB Server (10.6+、11.x、12.x)

Oracle MySQL Server Server (8.0、8.4、9.4+)

Microsoft applications

PowerShell

NuGet CLI

Visual Studio Code

Microsoft Edge

SharePoint Server

Microsoft Defender

Exchange Server

Visual Studio

.NET Core Runtime

.NET Framework

ASP.NET Core Runtime

Microsoft Teams

Outlook for Windows

Microsoft Office

Microsoft 365

MongoDB

MongoDB Server (7.0+、8.0+)

Nginx

Nginx

Node

Node

Node.JS

node

OpenSSH

OpenSSH (第 9 版和第 10 版)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP (8.1 版和更新版本)

Redis

Redis (7.2 版及更新版本)

WordPress

core

plugin

theme

7-Zip 生態系統集合

支援的應用程式
  • 7 Zip 封存程式 (21.07 版或更新版本)

主要功能
  • 檢查7-Zip二進位檔以擷取內嵌版本資訊。

注意

具體而言,它會從二進位檔搜尋產品版本值。

支援的平台 – Windows
  • C:/Program Files/7-Zip/7z.exe

  • C:/Program Files/7-Zip/7za.exe

  • C:/Program Files/7-Zip/7zz.exe

  • C:/Program Files/7-Zip/7zr.exe

  • C:/Program Files (x86)/7-Zip/7z.exe

  • C:/Program Files (x86)/7-Zip/7za.exe

  • C:/Program Files (x86)/7-Zip/7zz.exe

  • C:/Program Files (x86)/7-Zip/7zr.exe

PURL 範例

以下是 的範例套件 URL7-Zip。

pkg:generic/7zip/7zip@25.01

Apache 生態系統集合

本節提供有關 Apache httpd 和 Apache tomcat 應用程式的詳細資訊。

Apache httpd

支援的應用程式
  • Apache httpd

注意

漏洞評估僅適用於 Apache httpd 2.0 版和更新版本。

主要功能
  • 剖析 /include/ap_release.h 檔案以擷取安裝巨集,其中包含主要識別符字串、次要識別符字串和修補程式識別符字串。

支援平台

Amazon Inspector SBOM 產生器會跨平台掃描常見安裝路徑中的安裝:

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

  • /Program Files (x86)/Apache24/include/

範例 ap_release.h 檔案

以下是 ap_release.h 檔案內內容的範例。

//truncated #define AP_SERVER_BASEVENDOR "Apache Software Foundation" #define AP_SERVER_BASEPROJECT "Apache HTTP Server" #define AP_SERVER_BASEPRODUCT "Apache" #define AP_SERVER_MAJORVERSION_NUMBER 2 #define AP_SERVER_MINORVERSION_NUMBER 4 #define AP_SERVER_PATCHLEVEL_NUMBER 1 #define AP_SERVER_DEVBUILD_BOOLEAN 0 //truncated
PURL 範例

以下是 Apache httpd 應用程式的套件 URL 範例。

Sample PURL: pkg:generic/apache/httpd@2.4.1

Apache tomcat

支援的應用程式
  • Apache tomcat

注意

漏洞評估僅適用於 9.0 版和更新Apache tomcat版本。

主要功能
  • 解壓縮 catalina.jar 檔案以擷取 META-INF/MANIFEST.MF 檔案內的安裝巨集,其中包含版本字串。

支援平台

Amazon Inspector SBOM 產生器會跨平台掃描常見安裝路徑中的安裝:

Linux
  • /opt/tomcat/lib/

  • /usr/share/tomcat/lib

  • /var/lib/tomcat/lib/

macOS
  • /Library/Tomcat/lib/

  • /usr/local/tomcat/lib

Windows
  • /Program Files/Apache Software Foundation

  • /Program Files (x86)/Apache Software Foundation/

範例 catalina.jar/META-INF/MANIFEST.MF 檔案

以下是 catalina.jar/META-INF/MANIFEST.MF 檔案內內容的範例。

//truncated Implementation-Title: Apache Tomcat Implementation-Vendor: Apache Software Foundation Implementation-Version: 10.1.31 //truncated
PURL 範例

以下是 Apache tomcat 應用程式的套件 URL 範例。

Sample PURL: pkg:generic/apache/tomcat@10.1.31

Atlassian 生態系統集合

本節提供有關Atlassian伺服器產品和應用程式的詳細資訊。

Atlassian Server Products

支援的應用程式
  • Jira Core

  • Confluence

主要功能
  • Jira Core – 從 剖析 Maven POM 屬性atlassian-jira-webapp以擷取版本資訊。

  • Confluence – 從 剖析 Maven POM 屬性confluence-webapp以擷取版本資訊。

支援平台

Amazon Inspector SBOM 產生器會掃描常見安裝路徑中的安裝:

Linux
  • /opt/atlassian/jira/atlassian-jira/META-INF/maven/com.atlassian.jira/atlassian-jira-webapp/pom.properties

  • /opt/atlassian/confluence/confluence/META-INF/maven/com.atlassian.confluence/confluence-webapp/pom.properties

PURL 範例

以下是Atlassian伺服器產品的套件 URLs範例。

// Jira Core pkg:generic/atlassian/jira-core@10.0.1?distro=linux // Confluence pkg:generic/atlassian/confluence@9.2.7?distro=linux

Atlassian Applications

支援的應用程式
  • Jira Software

  • Jira Service Management

主要功能
  • Jira Software – 透過 jira-software-application JAR 偵測並從 Maven POM 屬性擷取版本。

  • Jira Service Management – 透過 jira-servicedesk-application JAR 偵測並從 Maven POM 屬性擷取版本。

支援平台

Amazon Inspector SBOM 產生器會掃描常見安裝路徑中的安裝:

Linux
  • /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/jira-software-application/jira-software-application-*.jar

  • /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/jira-servicedesk-application/jira-servicedesk-application-*.jar

PURL 範例

以下是Atlassian應用程式的範例套件 URLs。

// Jira Software pkg:generic/atlassian/jira-software@10.3.9?distro=linux // Jira Service Management pkg:generic/atlassian/jira-service-management@10.3.9?distro=linux

Curl 生態系統集合

本節提供有關 Curl和 Libcurl 應用程式的詳細資訊。

Curl

支援的應用程式
  • Curl

支援平台
  • Unix–Linux 和 macOS

    • /usr/local/bin/curl

主要功能 – Curl
  • 檢查curl二進位檔以擷取內嵌版本資訊。

注意

具體而言,它會在二進位可執行檔.rodata區段 (適用於 Linux 上的 ELF 二進位檔)、.rdata區段 (適用於 Windows 上的 PE 二進位檔) 或 __cstring 區段 (適用於 macOS 上的 MachO 二進位檔) 中搜尋版本字串。

Curl version string

以下是內嵌在Curl二進位檔中的版本字串範例:

curl/8.14.1

從字串8.14.1擷取版本以識別Curl版本。

範例 PURL (Curl)

以下是Curl版本檔案的範例套件 URL。

Sample PURL: pkg:generic/curl/curl@8.14.1

Libcurl

支援的應用程式
  • Libcurl

支援平台
  • Unix–Linux 和 macOS

    • /usr/local/bin/curl/curlver.h

主要功能 – Libcurl
  • 檢查curlver.h以擷取 的內嵌版本資訊Libcurl。

注意

具體而言,它會從定義的 LIBCURL_VERSION_MAJORLIBCURL_VERSION_MINORLIBCURL_VERSION_PATCH變數擷取版本。

Libcurl version string

以下是 curlver.h 檔案中版本變數的範例:

#define LIBCURL_VERSION_MAJOR 8 #define LIBCURL_VERSION_MINOR 14 #define LIBCURL_VERSION_PATCH 1

從這些行8.14.1擷取版本以識別Libcurl版本。

範例 PURL (Libcurl)

以下是Libcurl版本檔案的範例套件 URL。

Sample PURL: pkg:generic/curl/libcurl@8.14.1

Elasticsearch 生態系統集合

支援的應用程式
  • Elasticsearch

注意

漏洞評估僅適用於 7.17.0 Elasticsearch版。

主要功能
  • Version – 解壓縮 elasticsearch-<specific.version>.jar 檔案以擷取 META-INF/MANIFEST.MF 檔案內的安裝巨集,其中包含Elasticsearch版本字串。

支援平台
  • Linux/opt/elasticsearch/lib//etc/elasticsearch/lib/usr/share/elasticsearch/lib/

  • macOS/usr/local/var/lib/elasticsearch/lib/

  • Windows/Program Files (x86)/Elastic/elasticsearch/lib//elasticsearch//Program Files/Elastic/elasticsearch/lib/

範例 elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF 檔案

以下是 elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF 檔案的範例。

//truncated Manifest-Version: 1.0 Module-Origin: git@github.com:elastic/elasticsearch.git X-Compile-Elasticsearch-Version: 8.19.0-SNAPSHOT X-Compile-Lucene-Version: 9.12.1 X-Compile-Elasticsearch-Snapshot: true //truncated
PURL 範例

以下是 elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF 檔案的範例套件 URL。

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

Google 生態系統集合

支援的應用程式
  • Google Chrome

  • Puppeteer (支援 puppeteer 程式庫;不包含 puppeteer-core)

注意

Puppeteer 支援 puppeteer 程式庫。 Puppeteer核心不包含在內。

支援的成品

Amazon Inspector 會從下列項目收集Google Chrome資訊:

  • chrome/VERSION 檔案 (建置來源)

  • chrome.exe 檔案 (Windows Chrome 安裝)

  • puppeteer 檔案 (安裝)

對於每個支援的成品, Sbomgen 會剖析和收集chrome檔案或 puppeteer 檔案。對於 puppeteer 安裝,會根據Chromium版本收集對應的puppeteer版本。如需詳細資訊,請參閱 Puppeteer 網站上的支援的瀏覽器

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD環境變數設定為 時true,會略過評估,並將skip_chromium_download=true限定詞新增至Puppeteer套件 URL。

範例chrome/VERSION版本檔案

以下是 chrome/VERSION版本檔案的範例。

MAJOR=130 MINOR=0 BUILD=6723 PATCH=58
PURL 範例

以下是chrome/VERSION版本檔案的範例套件 URL。

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
範例puppeteer版本檔案

以下是 puppeteer版本檔案的範例。

{ "name": "puppeteer", "version": "23.9.0", "description": "A high-level API to control headless Chrome over the DevTools Protocol", "keywords": [ "puppeteer", "chrome", "headless", "automation" ] }
PURL 範例

以下是puppeteer版本檔案的範例套件 URL。

Sample PURL: pkg:generic/google/puppeteer@23.9.0
PURL 範例

以下是具有puppeteer版本檔案略過限定詞的套件 URL 範例。

pkg:generic/google/puppeteer@22.15.0?distro=linux&skip_chromium_download=true

HuggingFace 生態系統集合

支援的應用程式
  • HuggingFace hf CLI

主要功能
  • 擷取由 安裝的本機快取 AI/ML 模型 HuggingFace

  • 產生HuggingFace套件 URLs

  • hf download --local-dir 目前不支援使用 下載的模型

路徑範例

以下是快取HuggingFace模型路徑的範例。

/home/ec2-user/.cache/huggingface/hub/models--MiniMaxAI--MiniMax-M2.5/snapshots/<hash>
PURL 範例

以下是HuggingFace模型的範例套件 URL。元件類型為 machine-learning-model

pkg:huggingface/MiniMaxAI/MiniMax-M2.5@<hash>

Java 生態系統集合

支援的應用程式
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

主要功能
  • 擷取 Java 安裝的字串。

  • 識別包含Java執行時間的目錄路徑。

  • 將廠商識別為 Oracle JDK、 Oracle JRE和 Amazon Corretto。

Amazon Inspector SBOM 產生器會掃描下列Java安裝路徑和平台中的安裝:

  • macOS: /Library/Java/JavaVirtualMachines

  • Linux 32-bit: /usr/lib/jvm

  • Linux 64-bit: /usr/lib64/jvm

  • Linux (generic): /usr/java and /opt/java

範例Java版本資訊

以下是 Oracle Java版本的範例。

// Amazon Corretto IMPLEMENTOR="Amazon.com Inc." IMPLEMENTOR_VERSION="Corretto-17.0.11.9.1" JAVA_RUNTIME_VERSION="17.0.11+9-LTS" JAVA_VERSION="17.0.11" JAVA_VERSION_DATE="2024-04-16" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.foreign jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom jdk.zipfs" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:7917f11551e8+" // JDK IMPLEMENTOR="Oracle Corporation" JAVA_VERSION="19" JAVA_VERSION_DATE="2022-09-20" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.zipfs jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.concurrent jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:53b4a11304b0 open:git:967a28c3d85f"
PURL 範例

以下是 Oracle Java版本的套件 URL 範例。

Sample PURL: # Amazon Corretto pkg:generic/amazon/amazon-corretto@21.0.3 # Oracle JDK pkg:generic/oracle/jdk@11.0.16 # Oracle JRE pkg:generic/oracle/jre@20

Jenkins 生態系統集合

支援的應用程式
  • Jenkins 核心

注意

漏洞評估適用於 2.400.* 版及更新Jenkins版本。

主要功能
  • jenkins.war 透過讀取包含版本字串的檔案,從 META-INF/MANIFEST.M 檔案擷取Jenkins版本資訊。

Amazon Inspector SBOM 產生器會在跨平台的常見安裝路徑中尋找 Jenkins 安裝:

Linux
  • /usr/share/jenkins/jenkins.war

  • /usr/share/java/jenkins.war

macOS
  • /opt/homebrew/opt/jenkins-lts/libexec/jenkins.war

Windows
  • /Program Files/Jenkins/Jenkins.war

  • /Program Files (x86)/Jenkins/Jenkins.war

範例檔案

以下是不同版本jenkins.war/META-INF/MANIFEST.MF的檔案範例。

Manifest-Version: 1.0 Created-By: Maven WAR Plugin 3.4.0 Build-Jdk-Spec: 21 Implementation-Title: Jenkins war Main-Class: executable.Main Implementation-Version: 2.516.2 Jenkins-Version: 2.516.2
Manifest-Version: 1.0 Jenkins-Version: 2.414.1 Implementation-Title: Jenkins Implementation-Version: 2.414.1 Built-By: kohsuke Created-By: Apache Maven 3.8.6
PURLs範例

以下是 Jenkins LTS 版本 2.516.2 版和Jenkins自動化伺服器版本 2.414 版的套件 URLs。

LTS: pkg:generic/jenkins/jenkins-core-lts@2.516.2.1 Regular: pkg:generic/jenkins/jenkins-core@2.414

MariaDB 和 MySQL 生態系統集合

MariaDB

支援的應用程式
  • MariaDB Server (10.6+、11.x、12.x)

主要功能
  • 使用資料庫特定模式,從資料庫伺服器二進位檔和標頭檔案擷取版本資訊。

  • 識別包含資料庫伺服器安裝的目錄路徑。

  • 使用資料驅動型檔案類型偵測自動區分 MariaDB和 MySQL 安裝。

SBOM 產生器會在跨平台的常見MariaDB安裝路徑中尋找安裝:

Linux
  • /usr/bin/mariadbd

  • /usr/sbin/mariadbd

  • /usr/local/bin/mariadbd

macOS
  • C:/Program Files (x86)/MariaDB/include/mysql/mariadb_version.h (MariaDB)

  • C:/Program Files/MariaDB/include/mysql/mariadb_version.h (MariaDB)

Windows
  • C:/Program Files (x86)/MariaDB/include/mysql/mariadb_version.h (MariaDB)

  • C:/Program Files/MariaDB/include/mysql/mariadb_version.h (MariaDB)

PURL 範例

以下是 MariaDB 伺服器的範例套件 URL。

# MariaDB Server pkg:generic/mysql/mariadb-server@10.11.8

MySQL 生態系統集合

支援的應用程式
  • Oracle MySQL Server Server (8.0、8.4、9.4+)

主要功能
  • 使用資料庫特定模式,從資料庫伺服器二進位檔和標頭檔案擷取版本資訊。

  • 識別包含資料庫伺服器安裝的目錄路徑。

  • 使用資料驅動型檔案類型偵測自動區分 MySQL和 MariaDB 安裝。

SBOM 產生器會在跨平台的常見MySQL安裝路徑中尋找安裝:

Linux
  • /usr/local/bin/mysqld

  • /usr/bin/mysqld

  • /usr/sbin/mysqld

macOS
  • /usr/local/mysql/include/mysql_version.h (MySQL)

Windows
  • C:/Program Files/MySQL/MySQL Server/include/mysql_version.h (MySQL)

  • C:/Program Files (x86)/MySQL/MySQL Server/include/mysql_version.h (MySQL)

PURL 範例

以下是 MySQL 伺服器的範例套件 URL。

# Oracle MySQL Server pkg:generic/mysql/mysql-server@8.0.43

Microsoft applications 生態系統集合

Amazon Inspector SBOM 產生器會清查下列 Microsoft 應用程式。由於 Microsoft CVRF API 的限制,InspectorScan API 中的偵測僅支援 2021 年 (或更新版本) 發行的這些應用程式版本。調查結果將映射至 Microsoft KBs或 CVEs(如適用)。

支援的 Microsoft 應用程式 (2021+)
  • PowerShell

  • NuGet CLI

  • Visual Studio Code

  • Microsoft Edge

  • SharePoint Server

  • Microsoft Defender

  • Exchange Server

  • Visual Studio

  • .NET Core Runtime

  • .NET Framework

  • ASP.NET Core Runtime

  • Microsoft Teams

  • Outlook for Windows

  • Microsoft Office

  • Microsoft 365

主要功能
  • PowerShell – 檢查 pwsh.exe 檔案以擷取內嵌版本資訊。

  • NuGet CLI – 檢查 nuget.exe 檔案以擷取內嵌版本資訊。

  • Visual Studio Code – 檢查 Code.exe 檔案以擷取內嵌版本資訊。

  • Microsoft Edge – 檢查 msedge.exe 檔案以擷取內嵌版本資訊。

  • SharePoint Server – 檢查 Microsoft.SharePoint.dll 檔案以擷取內嵌版本資訊。

  • Microsoft Defender – 檢查 MsMpEng.exe 檔案以擷取內嵌版本資訊。

  • Exchange Server – 檢查 Exsetup.exe 檔案以擷取內嵌版本資訊。

  • Visual Studio – 剖析 state.json 檔案以從 catalogInfo.productDisplayVersion 欄位擷取版本字串。

  • .NET Core Runtime – 搜尋安裝路徑中的Microsoft.NETCore.App.deps.json檔案,並從下列檔案路徑模式擷取版本字串。

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • .NET Framework – 剖析 Windows 登錄檔並讀取檔案中繼資料,以偵測已安裝的 .NET Framework 版本。掃描器會檢查下列登錄機碼和值,以及 檔案。

    • Registry Key (<VERSION_SUB_KEY> 代表 .NET Framework 版本,例如 v2.0.50727、 v3.5或 v4\Full)

      HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\<VERSION_SUB_KEY>
      HKLM\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\<VERSION_SUB_KEY>
    • Registry Value

      • Install – 指出是否已安裝 .NET Framework 版本。

      • Version – 安裝的 .NET Framework 版本 (4.0 版或更低版本)

      • Release – 對應至已安裝 .NET Framework 版本 (4.5 版或更新版本) REG_DWORD的值

    • DLL Files

      掃描器會從 mscorlib.dll和 擷取檔案版本System.dll。如果這些檔案存在,則會將其做為巢狀檔案元件新增至 SBOM。對於 .NET Framework 4.5 版或更新版本,檔案間最大的檔案版本會報告為 版本。

  • ASP.NET Core Runtime – 搜尋安裝路徑中的Microsoft.AspNetCore.App.deps.json檔案,並從下列檔案路徑模式擷取版本字串。

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows – 剖析 Windows 登錄檔,並從下列登錄檔金鑰擷取版本。

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams – 剖析 Windows 登錄檔,並從下列登錄檔金鑰擷取版本。

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365 – 剖析 Windows 登錄檔,並從下列登錄機碼和值擷取版本。

    • 登錄機碼

      HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • 登錄值

      • VersionToReport – Microsoft Office 版本

      • ProductReleaseIds – 產品 IDs清單。這用於識別已安裝的 Office 產品。如需產品 IDs的詳細資訊,請參閱 product IDs Microsoft網站上的 。

  • Microsoft Office Suite – 透過檢查下列可執行檔來收集已安裝的每個 Office 應用程式:

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    Windows 登錄檔中的版本編號會用作每個已安裝 Office 應用程式的授權版本編號。

範例 state.json 檔案

以下是用來收集已安裝Visual Studio版本state.json的檔案範例。

{ "icon": { "mimeType": "image/svg+xml", "fileName": "product.svg" }, "updateDate": "2025-11-06T05:05:35.6517471Z", "installDate": "2025-11-06T05:05:35.6527436Z", "enginePath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service", "installationName": "VisualStudio/17.14.19+36623.8", "catalogInfo": { "id": "VisualStudio/17.14.19+36623.8", "buildBranch": "d17.14", "buildVersion": "17.14.36623.8", "localBuild": "build-lab", "manifestName": "VisualStudio", "manifestType": "installer", "productDisplayVersion": "17.14.19", // truncated

PURL 範例

以下是每個 的範例套件 URLMicrosoft Applications。

// PowerShell Sample PURL: pkg:generic/microsoft/powershell@7.5.3 // NuGet CLI Sample PURL: pkg:generic/microsoft/nuget@6.14.0 // Visual Studio Code Sample PURL: pkg:generic/microsoft/visualstudiocode@1.104.2 // Microsoft Edge Sample PURL: pkg:generic/microsoft/edge@140.0.3485.94 // SharePoint Server Sample PURL: pkg:generic/microsoft/sharepoint@23.38.219.1 // Microsoft Defender Sample PURL: pkg:generic/microsoft/defender@4.18.23110.3 // Exchange Server Sample PURL: pkg:generic/microsoft/exchangeserver@15.2.2562.17 // Visual Studio Sample PURL: pkg:generic/microsoft/visualstudio@17.14.19 // .NET Core Runtime Sample PURL: pkg:generic/microsoft/dotnet@8.0.18 // .NET Framework Sample PURL: pkg:generic/microsoft/dotnet-framework-v4.8.1@4.8.9320.0 // ASP.NET Core Runtime Sample PURL: pkg:generic/microsoft/aspdotnet@8.0.18 // Microsoft Teams Sample PURL: pkg:generic/microsoft/teams@25241.203.3947.4411 // Outlook for Windows Sample PURL: pkg:generic/microsoft/outlookforwindows@1.2025.916.400 // Microsoft 365 / Office 365 Sample PURL: pkg:generic/microsoft/office@16.0.19127.20264?product_ids=O365HomePremRetail // Microsoft Word Sample PURL: pkg:generic/microsoft/word@16.0.19127.20264 // Microsoft Excel Sample PURL: pkg:generic/microsoft/excel@16.0.19127.20264 // Microsoft PowerPoint Sample PURL: pkg:generic/microsoft/powerpoint@16.0.19127.20264 // Microsoft Outlook Sample PURL: pkg:generic/microsoft/outlook@16.0.19127.20264

MongoDB 生態系統集合

支援的應用程式
  • MongoDB Server (7.0+、8.0+)

主要功能
  • 檢查mongod二進位檔以擷取內嵌版本資訊。

注意

mongod 二進位大小可以超過 200 MB。若要掃描 MongoDB,必須將 Amazon Inspector SBOM 產生器檔案大小限制設定為允許超過 200 MB 的檔案。

Amazon Inspector SBOM 產生器會在跨平台的常見MongoDB安裝路徑中尋找安裝:

Linux
  • /usr/bin/mongod

  • /usr/local/bin/mongod

macOS
  • /usr/local/bin/mongod

  • /opt/homebrew/bin/mongod

Windows
  • C:\Program Files\MongoDB\Server\bin\mongod.exe

PURL 範例

以下是 的範例套件 URLMongoDB Server。

pkg:generic/mongodb/mongodb-server@8.2.4?platform=linux

Nginx 生態系統集合

支援的應用程式
  • Nginx

支援平台

以下是支援的平台。

Linux
  • /usr/sbin/nginx

  • /usr/local/nginx

  • /usr/local/etc/nginx

  • /usr/local/nginx/nginx

  • /usr/local/nginx/sbin/nginx

  • /etc/nginx/nginx

Windows
  • C:\nginx\nginx.exe

  • C:\nginx-x.y.z\nginx.exe (x.y.z 是任意版本)

macOS
  • /usr/local/etc/nginx/nginx

主要功能

此集合會檢查二進位檔以擷取內嵌版本資訊。它會在二進位可執行檔.rodata區段 (適用於 上的 ELF 二進位檔Linux)、.rdata區段 (適用於 上的 PE 二進位檔Windows) 或__ctring區段 MachO (適用於二進位檔) 中搜尋版本字串。

範例版本字串

以下是內嵌在 Nginx 二進位檔中的版本字串範例。

nginx version: nginx/1.27.5

1.27.5 解壓縮版本以識別Nginx版本。

PURL 範例

以下是 Nginx 的範例套件 URL。

Sample PURL: pkg:generic/nginx/nginx@1.27.5

Node.JS 執行時間集合

支援的應用程式
  • 的 節點執行時間二進位檔 Node.JS

支援平台

以下是支援的平台。(* 是任意版本)

Linux
  • /usr/local/bin/node

  • /usr/bin/node

  • /nodejs/bin/node

  • ~/.nvm/versions/node/*/bin/node

  • ~/.local/share/fnm/node-versions/*/installation/bin/node

  • ~/.asdf/installs/nodejs/*/bin/node

  • ~/.local/share/mise/installs/node/*/bin/node

  • ~/.volta/tools/image/node/*/bin/node

Windows
  • C:\Program Files\nodejs\node.exe

  • C:\Program Files (x86)\nodejs\node.exe

  • ~\AppData\Roaming\fnm\node-versions\*\installation\node.exe

macOS
  • /opt/homebrew/Cellar/node/*/bin/node

主要功能

此集合會檢查二進位檔以擷取內嵌版本資訊。它會在二進位可執行檔.rodata區段 (適用於 上的 ELF 二進位檔Linux)、.rdata區段 (適用於 上的 PE 二進位檔Windows) 或__ctring區段 MachO (適用於二進位檔) 中搜尋版本字串。

範例版本字串

以下是內嵌在Node.JS執行時間二進位檔中的版本字串範例。

node.js/v24.11.1

24.11.1 解壓縮版本以識別Node.JS執行時間版本。

PURL 範例

以下是 的範例套件 URLNode.JS。

Sample PURL: pkg:generic/nodejs/node@24.11.1

OpenSSH 生態系統集合

支援的應用程式
  • OpenSSH (第 9 版)

  • OpenSSH (第 10 版)

支援的平台 Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

支援的平台 Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

  • C:/Program Files/OpenSSH/sshd.exe

  • C:/Program Files (x86)/OpenSSH/sshd.exe

  • C:/OpenSSH/sshd.exe

主要功能
  • 檢查sshd二進位檔以擷取內嵌版本資訊。

  • 在二進位可執行檔.rodata區段中尋找版本字串 (適用於 上的 ELF 二進位檔Linux、__cstring區段 (適用於 上的 Mach-O 二進位檔MacOs) 或.rdata區段 (適用於 上的 PE 二進位檔Windows)。

範例版本字串

以下是內嵌在 OpenSSH 二進位檔中的版本字串範例。

OpenSSH_9.9p2

9.9p2 解壓縮版本以識別OpenSSH版本。

PURL 範例

以下是 的範例套件 URLOpenSSH。

Sample PURL: pkg:generic/openssh/openssh@9.9p2

OpenSSL 生態系統集合

支援的應用程式

對 OpenSSL 程式庫和開發套件的支援僅限於使用適用於 3.0.0 及更高版本之官方 OpenSSL 建置的軟體。軟體也必須遵循語意版本控制。不支援自訂或分叉的 OpenSSL 變體和低於 3.0.0 的版本。

Amazon Inspector SBOM 產生器會擷取每個已安裝 OpenSSL 執行個體的金鑰套件資訊。

主要功能
  • 從 OpenSSL 標頭檔案擷取基本 SEMVER 版本字串

  • 識別包含 OpenSSL 安裝的目錄路徑

Amazon Inspector SBOM 產生器會在跨平台的常見安裝路徑中掃描 opensslv.h 檔案,以尋找 OpenSSL 安裝。

Linux/Unix 的範例安裝路徑

以下是 Linux/Unix 的範例安裝路徑。

/usr/local/include/openssl/opensslv.h /usr/local/ssl/include/openssl/opensslv.h /usr/local/openssl/include/openssl/opensslv.h /usr/local/opt/openssl/include/openssl/opensslv.h /usr/include/openssl/opensslv.h

Amazon Inspector SBOM 產生器會剖析opensslv.h檔案並尋找版本定義,以擷取版本資訊。

# define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 4 # define OPENSSL_VERSION_PATCH 0
PURL 範例

以下是 OpenSSL 版本的範例套件 URL。

Sample PURL: pkg:generic/openssl/openssl@3.4.0

Oracle 資料庫伺服器集合

支援的應用程式
  • Oracle Database

支援的平台 Linux
  • /opt/oracle

  • /u01/app/oracle

注意

漏洞評估僅適用於 Oracle Database Server 第 19 版及更新版本。

主要功能
  • 檢查Oracle二進位檔以擷取內嵌版本資訊。

  • 在二進位可執行檔.rodata區段中尋找版本字串 (適用於 上的 ELF 二進位檔Linux)。

  • 版本資訊遵循包含 RDBMS 版本字串的特定格式。

範例版本字串

以下是內嵌在 Oracle Database 二進位檔中的版本字串範例:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

23.7.0.25.01 解壓縮版本以識別Oracle Database版本。

PURL 範例

以下是 的範例套件 URLOracle Database。

Sample PURL: pkg:generic/oracle/database@23.7.0.25.01

PHP 生態系統集合

支援的應用程式
  • PHP (8.1 版和更新版本)

主要功能
  • 使用內嵌版本字串從PHP二進位可執行檔擷取版本資訊。

  • 識別包含PHP二進位的目錄路徑。

  • 自動偵測標準PHP二進位檔和版本控制的安裝,例如 php8.1php8.2php8.3

Amazon Inspector SBOM 產生器會在跨平台的常見PHP安裝路徑中尋找安裝:

Linux
  • usr/bin/php8.1 through /usr/bin/php8.9

  • /usr/sbin/php8.1 through /usr/sbin/php8.9

  • /usr/local/bin/php, /usr/bin/php, /usr/sbin/php

  • /usr/local/bin/php8.1 through /usr/local/bin/php8.9 (版本的二進位檔)

macOS
  • /opt/homebrew/bin/php

  • /usr/bin/php

  • /usr/local/bin/php

Windows
  • C:/php/php.exe

  • C:/php8.1/php.exe through C:/php8.9/php.exe (版本目錄)

範例PHP版本擷取

Amazon Inspector SBOM 產生器會使用下列模式搜尋內嵌版本字串,從PHP二進位檔擷取版本資訊。

X-Powered-By: PHP/8.4.12

8.4.12 會從此模式擷取,以識別PHP版本。

PURL 範例

以下是PHP模式的範例套件 URL。

pkg:generic/php/php@8.4.12

Redis 生態系統集合

支援的應用程式
  • Redis (7.2 版及更新版本)

主要功能
  • 使用內嵌版本字串從Redisredis-server二進位可執行檔擷取版本資訊。

  • 在二進位可執行檔.rodata區段 (適用於 上的 ELF 二進位檔Linux) 或__cstring區段 (適用於 上的 Mach-O 二進位檔) 中搜尋版本字串macOS。

Amazon Inspector SBOM 產生器會在跨平台的常見Redis安裝路徑中尋找安裝:

Linux
  • /usr/bin/redis-server

  • /usr/local/bin/redis-server

macOS
  • /opt/homebrew/bin/redis-server

  • /usr/local/bin/redis-server

範例版本字串

以下是內嵌在Redis二進位檔中的版本字串範例。

redis-7.2.6

7.2.6 解壓縮版本以識別Redis版本。

PURL 範例

以下是 的範例套件 URLRedis。

pkg:generic/redis/redis@7.2.6

WordPress 生態系統集合

支援的元件
  • WordPress 核心

  • WordPress 外掛程式

  • WordPress 佈景主題

主要功能
  • WordPress 核心 – 剖析 /wp-includes/version.php 檔案以從 $wp_version 變數擷取版本值。

  • WordPress 外掛程式 – 剖析/wp-content/plugins/<WordPress Plugin>/readme.txt檔案/wp-content/plugins/<WordPress Plugin>/readme.md,將Stable標籤擷取為版本字串。

  • WordPress 佈景主題 – 剖析 /wp-content/themes/<WordPress Theme>/style.css 檔案,以從版本中繼資料擷取版本。

範例 version.php 檔案

以下是WordPress核心version.php檔案的範例。

// truncated /** * The WordPress version string. * * Holds the current version number for WordPress core. Used to bust caches * and to enable development mode for scripts when running from the /src directory. * * @global string $wp_version */ $wp_version = '6.5.5'; // truncated
PURL 範例

以下是 WordPress核心的範例套件 URL。

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
範例 readme.txt 檔案

以下是WordPress外掛程式readme.txt檔案的範例。

=== Plugin Name === Contributors: (this should be a list of wordpress.org userid's) Donate link: https://example.com/ Tags: tag1, tag2 Requires at least: 4.7 Tested up to: 5.4 Stable tag: 4.3 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html // truncated
PURL 範例

以下是WordPress外掛程式的範例套件 URL。

Sample PURL: pkg:generic/wordpress/plugin/exclusive-addons-for-elementor@1.0.0
範例 style.css 檔案

以下是WordPress佈景主題style.css檔案的範例。

/* Author: the WordPress team Author URI: https://wordpress.org Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4. Requires at least: 6.4 Tested up to: 6.5 Requires PHP: 7.0 Version: 1.2 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: twentytwentyfour Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news */
PURL 範例

以下是WordPress主題的範例套件 URL。

Sample PURL: pkg:generic/wordpress/theme/avada@1.0.0