View a markdown version of this page

Recopilación del ecosistema completo del generador de SBOM de Amazon Inspector - Amazon Inspector

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Recopilación del ecosistema completo del generador de SBOM de Amazon Inspector

El generador de SBOM de Amazon Inspector es una herramienta para crear una lista de materiales de software (SBOM) y realizar un análisis de vulnerabilidades de paquetes admitidos de sistemas operativos y lenguajes de programación. Permite analizar varios ecosistemas más allá de los sistemas operativos principales, lo que garantiza un análisis sólido y detallado de los componentes de la infraestructura. Al generar una SBOM, puede comprender la composición de las pilas de tecnología modernas, identificar las vulnerabilidades en los componentes del ecosistema y obtener visibilidad del software de terceros.

Ecosistemas admitidos

La recopilación de ecosistemas amplía la generación de SBOM más allá de los paquetes instalados mediante los administradores de paquetes del sistema operativo. Esto se logra mediante la recopilación de aplicaciones implementadas mediante métodos alternativos, como la instalación manual. El generador de SBOM de Amazon Inspector admite el análisis de los siguientes ecosistemas:

Ecosistemas Aplicaciones

7-Zip

7-Ziparchivador (versión 21.07 y superior)

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(versión 2.400.* y superior)

MariaDB y 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 (versiones 9 y 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP(versión 8.1 y superior)

Redis

Redis(versión 7.2 y superior)

WordPress

core

plugin

theme

Recopilación del ecosistema de 7-Zip

Aplicaciones compatibles
  • Archivador de 7 Zip (versión 21.07 o superior)

Características principales de
  • Examina los 7-Zip archivos binarios para extraer la información de la versión incrustada.

nota

En concreto, busca el valor de la versión del producto en el binario.

Plataformas compatibles: 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para 7-Zip.

pkg:generic/7zip/7zip@25.01

Recopilación del ecosistema de Apache

En esta sección se proporcionan detalles sobre las aplicaciones Apache httpd y Apache tomcat.

Apache httpd

Aplicaciones compatibles
  • Apache httpd

nota

La evaluación de la vulnerabilidad solo se aplica a Apache httpd versión 2.0 y versiones posteriores.

Características principales de
  • Analiza el archivo /include/ap_release.h para extraer las macros de instalación, que contienen cadenas de identificación principales, cadenas de identificación secundarias y cadenas de identificación de parches.

Plataformas admitidas

El generador de SBOM de Amazon Inspector busca instalaciones en rutas de instalación comunes en todas las plataformas:

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

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

Archivo ap_release.h de ejemplo

A continuación, se muestra un ejemplo de contenido dentro de un archivo de 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para una aplicación de Apache httpd.

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

Apache tomcat

Aplicaciones compatibles
  • Apache tomcat

nota

La evaluación de la vulnerabilidad solo se aplica a Apache tomcat versión 9.0 y posteriores.

Características principales de
  • Descomprime el archivo catalina.jar para extraer las macros de instalación incluidas en el archivo META-INF/MANIFEST.MF, que contiene la cadena de versión.

Plataformas admitidas

El generador de SBOM de Amazon Inspector busca instalaciones en rutas de instalación comunes en todas las plataformas:

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/

Archivo catalina.jar/META-INF/MANIFEST.MF de ejemplo

A continuación, se muestra un ejemplo de contenido dentro de un archivo de catalina.jar/META-INF/MANIFEST.MF.

//truncated Implementation-Title: Apache Tomcat Implementation-Vendor: Apache Software Foundation Implementation-Version: 10.1.31 //truncated
PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para una aplicación de Apache tomcat.

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

Recopilación del ecosistema de Atlassian

En esta sección se proporcionan detalles sobre los productos y las aplicaciones de Atlassian servidor.

Atlassian Server Products

Aplicaciones compatibles
  • Jira Core

  • Confluence

Características principales de
  • Jira Core— Analiza las propiedades del POM de Maven atlassian-jira-webapp para extraer la información de la versión.

  • Confluence— Analiza las propiedades del POM de Maven para extraer la información de la confluence-webapp versión.

Plataformas admitidas

El generador SBOM de Amazon Inspector busca instalaciones en las rutas de instalación comunes:

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 de ejemplo

Los siguientes son ejemplos de paquetes URLs para productos de Atlassian servidor.

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

Atlassian Applications

Aplicaciones compatibles
  • Jira Software

  • Jira Service Management

Características principales de
  • Jira Software— Detecta mediante jira-software-application JAR y extrae la versión de las propiedades del POM de Maven.

  • Jira Service Management— Detecta mediante jira-servicedesk-application JAR y extrae la versión de las propiedades del POM de Maven.

Plataformas admitidas

El generador SBOM de Amazon Inspector busca instalaciones en las rutas de instalación comunes:

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 de ejemplo

Los siguientes son ejemplos de paquetes URLs para Atlassian aplicaciones.

// 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

Recopilación del ecosistema de Curl

En esta sección se proporcionan detalles sobre las Libcurl aplicaciones Curl y aplicaciones.

Curl

Aplicaciones compatibles
  • Curl

Plataformas admitidas
  • Unix: Linux y macOS

    • /usr/local/bin/curl

Características principales: Curl
  • Examina curl los archivos binarios para extraer la información de la versión incrustada.

nota

En concreto, busca cadenas de versión en la .rodata sección de ejecutables binarios (para binarios ELF en Linux), en la .rdata sección (para binarios PE en Windows) o en la sección __cstring (para binarios de MacHO en macOS).

Curl version string

A continuación se muestra un ejemplo de una cadena de versión incrustada en un binario: Curl

curl/8.14.1

La versión 8.14.1 se extrae de la cadena para Curl identificarla.

Ejemplo: PURL (Curl)

A continuación, se muestra una URL de paquete de ejemplo para un archivo de versión Curl.

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

Libcurl

Aplicaciones compatibles
  • Libcurl

Plataformas admitidas
  • Unix: Linux y macOS

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

Características principales: Libcurl
  • Examina curlver.h para extraer la información de la versión incrustada deLibcurl.

nota

En concreto, extrae la versión de las LIBCURL_VERSION_PATCH variables y definidasLIBCURL_VERSION_MAJOR. LIBCURL_VERSION_MINOR

Libcurl version string

A continuación se muestra un ejemplo de las variables de versión de un curlver.h archivo:

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

La versión 8.14.1 se extrae de estas líneas para Libcurl identificarla.

Ejemplo de PURL (Libcurl)

A continuación, se muestra una URL de paquete de ejemplo para un archivo de versión Libcurl.

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

Recopilación del ecosistema de Elasticsearch

Aplicaciones compatibles
  • Elasticsearch

nota

La evaluación de vulnerabilidades solo se aplica a Elasticsearch la versión 7.17.0.

Características principales de
  • Version— Descomprime el elasticsearch-<specific.version>.jar archivo para extraer las macros de instalación que se encuentran dentro de META-INF/MANIFEST.MF los archivos, que contienen la Elasticsearch cadena de versión.

Plataformas admitidas
  • Linux/etc/elasticsearch/lib/opt/elasticsearch/lib/, y /usr/share/elasticsearch/lib/

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

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

Archivo elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF de ejemplo

A continuación se muestra un ejemplo de un elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF archivo.

//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 de ejemplo

A continuación se muestra un ejemplo de la URL de un paquete para un elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF archivo.

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

Recopilación del ecosistema de Google

Aplicaciones compatibles
  • Google Chrome

  • Puppeteer (es compatible con la biblioteca puppeteer; puppeteer-core no está incluido)

nota

Puppeteer es compatible con la biblioteca puppeteer. Puppeteer core no está incluido.

Artefactos compatibles

Amazon Inspector recopila información de Google Chrome de lo siguiente:

  • El archivo chrome/VERSION (origen de compilación)

  • El archivo chrome.exe (instalación de Windows Chrome)

  • El archivo puppeteer (instalación)

Para cada uno de los artefactos compatibles, Sbomgen analiza y recopila el archivo de chrome o el archivo de puppeteer. Para las instalaciones de puppeteer, la versión de Chromium correspondiente se recopila en función de la versión de puppeteer. Para obtener más información, consulte los navegadores compatibles en el sitio web de Puppeteer.

Si la variable de entorno PUPPETEER_SKIP_CHROMIUM_DOWNLOAD se establece en true, se omite la evaluación y se agrega el calificador skip_chromium_download=true a la URL del paquete de Puppeteer.

Archivo de versión chrome/VERSION de ejemplo

A continuación, se muestra un ejemplo del archivo de versión chrome/VERSION.

MAJOR=130 MINOR=0 BUILD=6723 PATCH=58
PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para un archivo de versión chrome/VERSION.

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
Archivo de versión puppeteer de ejemplo

A continuación, se muestra un ejemplo del archivo de versión 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para un archivo de versión puppeteer.

Sample PURL: pkg:generic/google/puppeteer@23.9.0
PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo con calificador de salto para un archivo de versión puppeteer.

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

Recopilación del ecosistema de HuggingFace

Aplicaciones compatibles
  • HuggingFacehfCLI

Características principales de
  • Extrae los AI/ML modelos almacenados en caché local instalados por HuggingFace

  • Genera HuggingFace un paquete URLs

  • Los modelos descargados utilizando no hf download --local-dir son compatibles actualmente

Ruta de ejemplo

El siguiente es un ejemplo de una ruta de HuggingFace modelo en caché.

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

A continuación se muestra un ejemplo de la URL de un paquete para un HuggingFace modelo. El tipo de componente esmachine-learning-model.

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

Recopilación del ecosistema de Java

Aplicaciones compatibles
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

Características principales de
  • Extrae la cadena de la instalación de Java.

  • Identifica la ruta del directorio que contiene el tiempo de ejecución de Java.

  • Identifica al proveedor como Oracle JDK, Oracle JRE y Amazon Corretto.

El generador de SBOM de Amazon Inspector analiza instalaciones de Java en las rutas y plataformas de instalación siguientes:

  • macOS: /Library/Java/JavaVirtualMachines

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

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

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

Información de la versión de Java de ejemplo

El siguiente es un ejemplo de una versión de 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para una versión de Oracle Java.

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

Recopilación del ecosistema de Jenkins

Aplicaciones compatibles
  • Jenkins Core

nota

La evaluación de vulnerabilidades se aplica a la Jenkins versión 2.400.* y versiones posteriores.

Características principales de
  • Extrae la información de la versión del jenkins.war archivo leyendo el META-INF/MANIFEST.M archivo, que contiene la Jenkins cadena de versión.

El generador SBOM de Amazon Inspector busca las instalaciones de Jenkins en rutas de instalación comunes en todas las plataformas:

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

Archivos de ejemplo

A continuación se muestran ejemplos de jenkins.war/META-INF/MANIFEST.MF archivos para distintas versiones.

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
Ejemplo PURLs

Los siguientes son paquetes URLs para la versión 2.516.2 de la versión Jenkins LTS y la versión 2.414 de la Jenkins versión del servidor de automatización.

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

MariaDBy colección de ecosistemas MySQL

MariaDB

Aplicaciones compatibles
  • MariaDB Server(10.6+, 11.x, 12.x)

Características principales de
  • Extrae la información de la versión de los archivos binarios y de encabezados del servidor de bases de datos mediante patrones específicos de la base de datos.

  • Identifica la ruta del directorio que contiene la instalación del servidor de base de datos.

  • Distingue automáticamente entre las MySQL instalaciones MariaDB y las instalaciones mediante la detección de tipos de archivos basada en datos.

El generador SBOM busca la instalación en las rutas de MariaDB instalación comunes en todas las plataformas:

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 de ejemplo

A continuación se muestra un ejemplo de la URL de un paquete para un MariaDB servidor.

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

Recopilación del ecosistema de MySQL

Aplicaciones compatibles
  • Oracle MySQL Server Server(8,0, 8,4, 9,4 +)

Características principales de
  • Extrae la información de la versión de los archivos binarios y de encabezados del servidor de bases de datos mediante patrones específicos de la base de datos.

  • Identifica la ruta del directorio que contiene la instalación del servidor de base de datos.

  • Distingue automáticamente entre las MariaDB instalaciones MySQL y las instalaciones mediante la detección de tipos de archivos basada en datos.

El generador SBOM busca la instalación en las rutas de MySQL instalación comunes en todas las plataformas:

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 de ejemplo

A continuación se muestra un ejemplo de la URL de un paquete para un MySQL servidor.

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

Recopilación del ecosistema de Microsoft applications

El generador SBOM de Amazon Inspector realiza un inventario de las siguientes aplicaciones de Microsoft. Debido a las limitaciones de la API CVRF de Microsoft, las detecciones en la InspectorScan API solo se admiten en las versiones de estas aplicaciones publicadas en 2021 (o posteriores). Los hallazgos se asignarán a Microsoft KBs o CVEs (cuando corresponda).

Aplicaciones de Microsoft compatibles (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

Características principales de
  • PowerShell— Examina el pwsh.exe archivo para extraer la información de la versión incrustada.

  • NuGet CLI— Examina el nuget.exe archivo para extraer la información de la versión incrustada.

  • Visual Studio Code— Examina el Code.exe archivo para extraer la información de la versión incrustada.

  • Microsoft Edge— Examina el msedge.exe archivo para extraer la información de la versión incrustada.

  • SharePoint Server— Examina el Microsoft.SharePoint.dll archivo para extraer la información de la versión incrustada.

  • Microsoft Defender— Examina el MsMpEng.exe archivo para extraer la información de la versión incrustada.

  • Exchange Server— Examina el Exsetup.exe archivo para extraer la información de la versión incrustada.

  • Visual Studio— Analiza el state.json archivo para recuperar la cadena de versión del catalogInfo.productDisplayVersion campo.

  • .NET Core Runtime— Busca el Microsoft.NETCore.App.deps.json archivo en las rutas de instalación y extrae la cadena de versión del siguiente patrón de rutas de archivo.

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • .NET Framework— Analiza el registro de Windows y lee los metadatos de los archivos para detectar las versiones de .NET Framework instaladas. El escáner comprueba la siguiente clave y valor de registro, así como los archivos siguientes.

    • Registry Key(<VERSION_SUB_KEY>representa la versión de.NET Frameworkv2.0.50727, comov3.5, ov4\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— Indica si la versión de.NET Framework está instalada.

      • Version— Versión .NET Framework instalada (versión 4.0 o inferior)

      • Release— Un REG_DWORD valor que se asigna a la versión de .NET Framework instalada (versión 4.5 o posterior)

    • DLL Files

      El escáner extrae la versión del archivo de mscorlib.dll ySystem.dll. Si estos archivos existen, se añaden a la SBOM como componentes de archivos anidados. Para la versión 4.5 o posterior de .NET Framework, la versión de archivo más grande de los archivos se indica como versión.

  • ASP.NET Core Runtime— Busca el Microsoft.AspNetCore.App.deps.json archivo en las rutas de instalación y extrae la cadena de versión del siguiente patrón de rutas de archivos.

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows— Analiza el registro de Windows y extrae la versión de la siguiente clave de registro.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams— Analiza el registro de Windows y extrae la versión de la siguiente clave de registro.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365— Analiza el registro de Windows y extrae la versión de la siguiente clave y valor del registro.

    • Clave de registro

      HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • Valor de registro

      • VersionToReport— Versión de Microsoft Office

      • ProductReleaseIds— Lista de productos IDs. Se utiliza para identificar los productos de Office instalados. Para obtener más información sobre el producto IDs, consulte el product IDssitio Microsoft web.

  • Microsoft Office Suite— Recopila cada aplicación de Office instalada examinando los siguientes archivos ejecutables:

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    El número de versión del Registro de Windows se utiliza como número de versión autorizado para cada aplicación de Office instalada.

Archivo state.json de ejemplo

A continuación se muestra un ejemplo de un state.json archivo que se utiliza para recopilar la Visual Studio versión instalada.

{ "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

Ejemplo: PURL

A continuación se muestra un ejemplo de la URL de un paquete para cada unoMicrosoft 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

Recopilación del ecosistema de MongoDB

Aplicaciones compatibles
  • MongoDB Server(7,0+, 8,0+)

Características principales de
  • Examina los binarios de mongod para extraer la información de la versión incrustada.

nota

El mongod binario puede superar los 200 MB de tamaño. Para escanearMongoDB, el límite de tamaño de archivo del generador SBOM de Amazon Inspector debe configurarse para permitir archivos de más de 200 MB.

El generador SBOM de Amazon Inspector busca MongoDB instalaciones en rutas de instalación comunes en todas las plataformas:

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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para MongoDB Server.

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

Recopilación del ecosistema de Nginx

Aplicaciones compatibles
  • Nginx

Plataformas admitidas

A continuación, se muestran plataformas admitidas.

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 es una versión arbitraria)

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

Características principales de

Esta recopilación examina los binarios para extraer la información de la versión incrustada. Busca cadenas de versiones en la sección de .rodata de ejecutables binarios (para los binarios de ELF en Linux), la sección de .rdata (para los binarios de PE en Windows) o la sección de __ctring (para los binarios de MachO).

Cadena de la versión de ejemplo

A continuación, se muestra un ejemplo de una cadena de la versión incrustada en un binario de Nginx.

nginx version: nginx/1.27.5

La versión 1.27.5 se extrae para identificar la versión de Nginx.

PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para Nginx.

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

Recopilación de tiempo de ejecución de Node.JS

Aplicaciones compatibles
  • binario de tiempo de ejecución de nodo para Node.JS

Plataformas admitidas

Las siguientes son las plataformas compatibles. (* es una versión arbitraria)

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

  • ~\\ RoamingAppData\ fnm\node-versions\ *\ installation\node.exe

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

Características principales de

Esta recopilación examina los binarios para extraer la información de la versión incrustada. Busca cadenas de versiones en la sección de .rodata de ejecutables binarios (para los binarios de ELF en Linux), la sección de .rdata (para los binarios de PE en Windows) o la sección de __ctring (para los binarios de MachO).

Cadena de la versión de ejemplo

A continuación se muestra un ejemplo de una cadena de versión incrustada en un binario de tiempo de ejecución. Node.JS

node.js/v24.11.1

La versión 24.11.1 se extrae para identificar la versión en Node.JS tiempo de ejecución.

PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para Node.JS.

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

Recopilación del ecosistema de OpenSSH

Aplicaciones compatibles
  • OpenSSH (versión 9)

  • OpenSSH (versión 10)

Plataformas admitidas Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

Plataformas admitidas Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

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

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

  • C:/OpenSSH/sshd.exe

Características principales de
  • Examina los binarios de sshd para extraer la información de la versión incrustada.

  • Busca cadenas de versiones en la sección de .rodata de ejecutables binarios (para los binarios de ELF en Linux), la sección de __cstring (para los binarios de Mach-O en MacOs) o la sección de .rdata (para los binarios de PE en Windows).

Cadena de la versión de ejemplo

A continuación, se muestra un ejemplo de una cadena de la versión incrustada en un binario de OpenSSH.

OpenSSH_9.9p2

La versión 9.9p2 se extrae para identificar la versión de OpenSSH.

PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para OpenSSH.

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

Recopilación del ecosistema de OpenSSL

Aplicaciones compatibles

El soporte para las bibliotecas y paquetes de desarrollo de OpenSSL se limita al software creado con OpenSSL oficial para las versiones 3.0.0 y posteriores. El software también debe seguir el control de versiones semántico. No se admiten las variantes y versiones de OpenSSL personalizadas o bifurcadas anteriores a la 3.0.0.

El generador de SBOM de Amazon Inspector extrae la información clave del paquete para cada instancia de OpenSSL instalada.

Características principales de
  • Extrae la cadena de versión base de SEMVER del archivo de encabezado de OpenSSL

  • Identifica la ruta del directorio que contiene la instalación de OpenSSL

El generador de SBOM de Amazon Inspector busca instalaciones de OpenSSL analizando el archivo opensslv.h en rutas de instalación comunes en todas las plataformas.

Ruta de instalación de ejemplo para Linux/Unix

A continuación, se muestra una ruta de instalación de ejemplo para 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

El generador de SBOM de Amazon Inspector extrae la información de la versión analizando el archivo opensslv.h y buscando las definiciones de la versión.

# define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 4 # define OPENSSL_VERSION_PATCH 0
PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para la versión de OpenSSL.

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

Recopilación de Oracle Database Server

Aplicaciones compatibles
  • Oracle Database

Plataformas admitidas Linux
  • /opt/oracle

  • /u01/app/oracle

nota

La evaluación de la vulnerabilidad solo se aplica a Oracle Database Server versión 19 y posteriores.

Características principales de
  • Examina los binarios de Oracle para extraer la información de la versión incrustada.

  • Busca las cadenas de versión en la sección de .rodata de ejecutables binarios (para los binarios de ELF en Linux).

  • La información de la versión sigue un formato específico que incluye la cadena de versión de RDBMS.

Cadena de la versión de ejemplo

A continuación, se muestra un ejemplo de una cadena de la versión incrustada en un binario de Oracle Database:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

La versión 23.7.0.25.01 se extrae para identificar la versión de Oracle Database.

PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para Oracle Database.

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

Recopilación del ecosistema de PHP

Aplicaciones compatibles
  • PHP(versión 8.1 y superior)

Características principales de
  • Extrae la información de la versión de los ejecutables PHP binarios mediante cadenas de versión incrustadas.

  • Identifica la ruta del directorio que contiene el PHP binario.

  • Detecta automáticamente tanto PHP los binarios estándar como las instalaciones versionadas, como php8.1php8.2, y. php8.3

El generador SBOM de Amazon Inspector busca PHP instalaciones en rutas de instalación comunes en todas las plataformas:

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(binarios versionados)

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(directorios versionados)

Ejemplo de extracción de PHP versiones

El generador SBOM de Amazon Inspector extrae la información de la versión de los archivos PHP binarios mediante la búsqueda de cadenas de versión incrustadas siguiendo el siguiente patrón.

X-Powered-By: PHP/8.4.12

8.4.12se extrae de este patrón para identificar la versión. PHP

PURL de ejemplo

A continuación se muestra un ejemplo de la URL de un paquete para un PHP patrón.

pkg:generic/php/php@8.4.12

Recopilación del ecosistema de Redis

Aplicaciones compatibles
  • Redis(versión 7.2 y superior)

Características principales de
  • Extrae la información de la versión de los ejecutables Redis redis-server binarios mediante cadenas de versión incrustadas.

  • Busca cadenas de versión en la .rodata sección de ejecutables binarios (para los binarios de ELF activadosLinux) o en la __cstring sección (para los binarios de Mach-O activados). macOS

El generador SBOM de Amazon Inspector busca Redis instalaciones en rutas de instalación comunes en todas las plataformas:

Linux
  • /usr/bin/redis-server

  • /usr/local/bin/redis-server

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

  • /usr/local/bin/redis-server

Cadena de la versión de ejemplo

El siguiente es un ejemplo de una cadena de versión incrustada en un Redis binario.

redis-7.2.6

La versión 7.2.6 se extrae para identificar la versión de Redis.

PURL de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para Redis.

pkg:generic/redis/redis@7.2.6

Recopilación del ecosistema de WordPress

Componentes admitidos
  • WordPress Core

  • Complementos de WordPress

  • Temas de WordPress

Características principales de
  • Núcleo de WordPress: analiza el archivo /wp-includes/version.php para extraer el valor de la versión de la variable $wp_version.

  • Complementos de WordPress: analiza el archivo /wp-content/plugins/<WordPress Plugin>/readme.txt o el archivo /wp-content/plugins/<WordPress Plugin>/readme.md para extraer la etiqueta Stable como cadena de versión.

  • Temas de WordPress: analiza el archivo /wp-content/themes/<WordPress Theme>/style.css para extraer la versión de los metadatos de la versión.

Archivo version.php de ejemplo

A continuación, se muestra un archivo version.php de un núcleo de WordPress.

// 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para el núcleo de WordPress.

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
Archivo readme.txt de ejemplo

A continuación, se muestra un ejemplo de un archivo readme.txt de complemento de WordPress.

=== 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para un complemento de WordPress.

Sample PURL: pkg:generic/wordpress/plugin/exclusive-addons-for-elementor@1.0.0
Archivo style.css de ejemplo

A continuación, se muestra un ejemplo de un archivo style.css de tema de WordPress.

/* 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 de ejemplo

A continuación, se muestra una URL de paquete de ejemplo para un tema de WordPress.

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