Amazon Inspector SBOM 生成器全面生态系统集合 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

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

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 Runtime

ASP.NET Core Runtime

Microsoft Teams

Outlook for Windows

Microsoft Office

Microsoft 365

Nginx

Nginx

Node

Node

Node.JS

node

OpenSSH

OpenSSH(版本 9 和 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP(版本 8.1 及更高版本)

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 示例

以下是 7-Zip 的示例程序包 URL。

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

注意

漏洞评估仅适用于 Apache tomcat 版本 9.0 及更高版本。

主要 功能
  • 解压缩 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 二进制文件)、部分(Windows 上的 PE 二进制文件)或 __cstring .rdata 部分(macOS 上的 MacHO 二进制文件)中搜索版本字符串。

Curl version string

以下是嵌入在Curl二进制文件中的版本字符串的示例:

curl/8.14.1

从字符串中提取版本8.14.1以标识Curl版本。

示例 PURL(卷曲)

以下是一个 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_MINOR、和LIBCURL_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文件以提取包含Elasticsearch版本字符串META-INF/MANIFEST.MF的文件中的安装宏。

支持的平台
  • Linux/etc/elasticsearch/lib /opt/elasticsearch/lib/、和 /usr/share/elasticsearch/lib/

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

  • Windows/elasticsearch/ /Program Files (x86)/Elastic/elasticsearch/lib/、和 /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 core。

支持的构件

Amazon Inspector 从以下途径收集 Google Chrome 信息:

  • chrome/VERSION 文件(构建源)

  • chrome.exe 文件(Windows Chrome 安装)

  • puppeteer 文件(安装)

对于每一个支持的构件,Sbomgen 会解析并收集 chrome 文件或 puppeteer 文件。对于 puppeteer 安装,会根据 puppeteer 版本收集相应的 Chromium 版本。有关更多信息,请参阅 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

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 版本 URLs 的 2.516.2 版和自动化服务器版本的 2.414 版的软件包。Jenkins

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 生态系统集合

支持的微软应用程序
  • PowerShell

  • NuGet CLI

  • Visual Studio Code

  • Microsoft Edge

  • SharePoint Server

  • Microsoft Defender

  • Exchange Server

  • Visual Studio

  • .NET Runtime

  • 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文件以提取嵌入式版本信息。

  • Exhange Server— 检查Exsetup.exe文件以提取嵌入式版本信息。

  • Visual Studio— 解析state.json文件以从catalogInfo.productDisplayVersion字段中检索版本字符串。

  • .NET Runtime— 在安装路径中搜索Microsoft.NETCore.App.deps.json文件并从以下文件路径模式中提取版本字符串。

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • ASP.NET 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 注册表,并从以下注册表项和值中提取版本。

    • 注册表密钥

      KEY_LOCAL_MACHINES\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • 注册表值

      • VersionToReport— 微软 Office 版本

      • ProductReleaseIds— 产品清单 IDs。这用于识别已安装的 Office 产品。有关产品的更多信息 IDs,请参见product IDsMicrosoft网站。

  • 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

以下是每个软件包的 URL 示例Microsoft 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 Runtime Sample PURL: pkg:generic/microsoft/dotnet@8.0.18 // 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

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 部分(针对 Linux 上的 ELF 二进制文件)、.rdata 部分(针对 Windows 上的 PE 二进制文件)或 __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\ n odejs\ n ode.exe

  • C:\Program Files (x86)\ n odejs\ n ode.exe

  • ~\AppData\ Roaming\ fnm\ n 节点版本\ *\ 安装\ n ode.exe

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

主要 功能

该集合可检查二进制文件,以提取嵌入式版本信息。它会在二进制可执行文件 .rodata 部分(针对 Linux 上的 ELF 二进制文件)、.rdata 部分(针对 Windows 上的 PE 二进制文件)或 __ctring 部分(针对 MachO 二进制文件)中搜索版本字符串。

示例版本字符串

以下是嵌入在Node.JS运行时二进制文件中的版本字符串的示例。

node.js/v24.11.1

提取24.11.1版本以标识Node.JS运行时版本。

PURL 示例

以下是 Node.JS 的示例程序包 URL。

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 部分(针对 Linux 上的 ELF 二进制文件)、__cstring 部分(针对 MacOs 上的 Mach-O 二进制文件)或 .rdata 部分(针对 Windows 上的 PE 二进制文件)中的版本字符串。

示例版本字符串

以下是嵌入在 OpenSSH 二进制文件中的版本字符串的示例。

OpenSSH_9.9p2

版本 9.9p2 被提取以识别 OpenSSH 版本。

PURL 示例

以下是 OpenSSH 的示例程序包 URL。

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

OpenSSL 生态系统集合

受支持的应用程序

对 OpenSSL 库和开发程序包的支持仅限于使用官方 OpenSSL 为 3.0.0 及以上版本构建的软件。该软件还必须遵循语义版本控制。不支持自定义或分支的 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 数据库服务器版本 19 及更高版本。

主要 功能
  • 检查 Oracle 二进制文件以提取嵌入的版本信息。

  • 在二进制可执行文件 .rodata 部分(针对 Linux 上的 ELF 二进制文件)中查找版本字符串。

  • 版本信息遵循包含 RDBMS 版本字符串的特定格式。

示例版本字符串

以下是嵌入在 Oracle Database 二进制文件中的版本字符串的示例:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

版本 23.7.0.25.01 被提取以识别 Oracle Database 版本。

PURL 示例

以下是 Oracle Database 的示例程序包 URL。

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

PHP 生态系统集合

受支持的应用程序
  • PHP(版本 8.1 及更高版本)

主要 功能
  • 使用嵌入式版本字符串从PHP二进制可执行文件中提取版本信息。

  • 标识包含PHP二进制文件的目录路径。

  • 自动检测标准PHP二进制文件和版本化安装,例如php8.1php8.2、和。php8.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模式的包网址示例。

pkg:generic/php/php@8.4.12

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