本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 |
|
|
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-applicationJAR 进行检测并从 Maven POM 属性中提取版本。 -
Jira Service Management— 通过
jira-servicedesk-applicationJAR 进行检测并从 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 IDs
Microsoft网站。
-
-
-
Microsoft Office Suite— 通过检查以下可执行文件来收集已安装的每个 Office 应用程序:
EXCEL.EXE– Microsoft ExcelWINWORD.EXE– Microsoft WordPOWERPNT.EXE– Microsoft PowerPointOUTLOOK.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