View a markdown version of this page

Coleta abrangente de ecossistemas do Amazon Inspector SBOM Generator - Amazon Inspector

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Coleta abrangente de ecossistemas do Amazon Inspector SBOM Generator

O Amazon Inspector SBOM Generator é uma ferramenta para criar uma lista de materiais de software (SBOM) e executar a verificação de vulnerabilidade de pacotes compatíveis de sistemas operacionais e linguagens de programação. Ele permite a verificação de vários ecossistemas além dos sistemas operacionais principais, garantindo uma análise robusta e detalhada dos componentes da infraestrutura. Ao gerar um SBOM, você pode entender a composição das pilhas de tecnologia modernas, identificar vulnerabilidades nos componentes do ecossistema e obter visibilidade do software de terceiros.

Ecossistemas compatíveis

A coleta de ecossistemas amplia a geração de SBOM para além dos pacotes instalados por meio de gerenciadores de pacotes do sistema operacional. Isso é feito por meio da coleta de aplicações implantadas em métodos alternativos, como instalação manual. O Amazon Inspector SBOM Generator permite a verificação dos seguintes ecossistemas:

Ecossistemas Aplicativos

7-Zip

7-Ziparquivador (versão 21.07 e 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(versão 2.400.* e superior)

MariaDB e 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 (versões 9 e 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP(versão 8.1 e superior)

Redis

Redis(versão 7.2 e superior)

WordPress

core

plugin

theme

Coleta de ecossistemas do 7-Zip

Aplicações compatíveis
  • 7 Arquivador Zip (versão 21.07 ou superior)

Recursos principais do
  • Examina os 7-Zip binários para extrair as informações da versão incorporada.

nota

Especificamente, ele pesquisa o valor da versão do produto no binário.

Plataformas suportadas — 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

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do 7-Zip.

pkg:generic/7zip/7zip@25.01

Coleta de ecossistemas do Apache

Esta seção fornece detalhes sobre as aplicações Apache httpd e Apache tomcat.

Apache httpd

Aplicações compatíveis
  • Apache httpd

nota

A avaliação de vulnerabilidade aplica-se somente ao Apache httpd versão 2.0 ou posterior.

Recursos principais do
  • Analisa o arquivo /include/ap_release.h para extrair as macros de instalação, que contêm strings de identificadores de versões principais, secundárias e de patch.

Plataformas compatíveis

O Amazon Inspector SBOM Generator verifica instalações em caminhos de instalação comuns entre diferentes plataformas:

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

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

Exemplo de arquivo ap_release.h

Veja a seguir um exemplo dos conteúdos em um arquivo 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
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote de uma aplicação Apache httpd.

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

Apache tomcat

Aplicações compatíveis
  • Apache tomcat

nota

A avaliação de vulnerabilidade aplica-se somente ao Apache tomcat versão 9.0 e posterior.

Recursos principais do
  • Descompacta o arquivo catalina.jar para extrair as macros de instalação dentro do arquivo META-INF/MANIFEST.MF, que contém a string da versão.

Plataformas compatíveis

O Amazon Inspector SBOM Generator verifica instalações em caminhos de instalação comuns entre diferentes 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/

Exemplo de arquivo catalina.jar/META-INF/MANIFEST.MF

Veja a seguir um exemplo dos conteúdos em um arquivo catalina.jar/META-INF/MANIFEST.MF.

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

Veja a seguir um exemplo de URL de pacote de uma aplicação Apache tomcat.

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

Coleta de ecossistemas do Atlassian

Esta seção fornece detalhes sobre produtos e aplicativos de Atlassian servidor.

Atlassian Server Products

Aplicações compatíveis
  • Jira Core

  • Confluence

Recursos principais do
  • Jira Core— Analisa as propriedades do Maven POM atlassian-jira-webapp para extrair as informações da versão.

  • Confluence— Analisa as propriedades do Maven POM confluence-webapp para extrair as informações da versão.

Plataformas compatíveis

O Amazon Inspector SBOM Generator verifica instalações em caminhos de instalação comuns:

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

Exemplo de PURL

Veja a seguir um exemplo de pacote URLs para produtos 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

Aplicações compatíveis
  • Jira Software

  • Jira Service Management

Recursos principais do
  • Jira Software— Detecta via jira-software-application JAR e extrai a versão das propriedades do Maven POM.

  • Jira Service Management— Detecta via jira-servicedesk-application JAR e extrai a versão das propriedades do Maven POM.

Plataformas compatíveis

O Amazon Inspector SBOM Generator verifica instalações em caminhos de instalação comuns:

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

Exemplo de PURL

Veja a seguir um exemplo de pacote URLs para Atlassian aplicativos.

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

Coleta de ecossistemas do Curl

Esta seção fornece detalhes sobre Libcurl aplicativos Curl e aplicativos.

Curl

Aplicações compatíveis
  • Curl

Plataformas compatíveis
  • Unix: Linux e macOS

    • /usr/local/bin/curl

Características principais — Curl
  • Examina os curl binários para extrair as informações da versão incorporada.

nota

Especificamente, ele pesquisa cadeias de versões na .rodata seção executável binária (para binários ELF no Linux), .rdata seção (para binários PE no Windows) ou seção __cstring (para binários MacHO no macOS).

Curl version string

Veja a seguir um exemplo de uma string de versão incorporada em um Curl binário:

curl/8.14.1

A versão 8.14.1 é extraída da string para identificar a Curl versão.

Exemplo de PURL (Curl)

Veja a seguir um exemplo de URL de pacote de um arquivo de versão Curl.

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

Libcurl

Aplicações compatíveis
  • Libcurl

Plataformas compatíveis
  • Unix: Linux e macOS

    • /usr/local/bin/curl/curlverh.

Características principais — Libcurl
  • Examina curlver.h para extrair informações da versão incorporada do. Libcurl

nota

Especificamente, ele extrai a versão das LIBCURL_VERSION_PATCH variáveis definidas LIBCURL_VERSION_MAJORLIBCURL_VERSION_MINOR, e.

Libcurl version string

Veja a seguir um exemplo das variáveis de versão em um curlver.h arquivo:

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

A versão 8.14.1 é extraída dessas linhas para identificar a Libcurl versão.

Exemplo de PURL (Libcurl)

Veja a seguir um exemplo de URL de pacote de um arquivo de versão Libcurl.

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

Coleta de ecossistemas do Elasticsearch

Aplicações compatíveis
  • Elasticsearch

nota

A avaliação de vulnerabilidade se aplica somente à Elasticsearch versão 7.17.0.

Recursos principais do
  • Version— Descompacta o elasticsearch-<specific.version>.jar arquivo para extrair as macros de instalação dentro dos META-INF/MANIFEST.MF arquivos, que contêm a string da Elasticsearch versão.

Plataformas compatíveis
  • Linux/etc/elasticsearch/lib,/opt/elasticsearch/lib/, e /usr/share/elasticsearch/lib/

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

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

Exemplo de arquivo elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF

Veja a seguir um exemplo de elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF arquivo.

//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
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para um elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF arquivo.

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

Coleta de ecossistemas do Google

Aplicações compatíveis
  • Google Chrome

  • Puppeteer (compatível com a biblioteca puppeteer; puppeteer-core não está incluída)

nota

Puppeteer compatível com a biblioteca puppeteer. Puppeteer-core não está incluída.

Artefatos compatíveis

O Amazon Inspector coleta informações do Google Chrome do seguinte:

  • O arquivo chrome/VERSION (origem da compilação)

  • O arquivo chrome.exe (instalação do Windows Chrome)

  • O arquivo puppeteer (instalação)

Para cada um dos artefatos compatíveis, o Sbomgen analisa e coleta o arquivo chrome ou o arquivo puppeteer. Para instalações do puppeteer, a versão do Chromium correspondente é coletada com base na versão do puppeteer. Consulte mais informações em Supported browsers no site do Puppeteer.

Quando a variável de ambiente PUPPETEER_SKIP_CHROMIUM_DOWNLOAD é definida como true, a avaliação é ignorada e o qualificador skip_chromium_download=true é adicionado ao URL do pacote do Puppeteer.

Exemplo de arquivo de versão chrome/VERSION

Veja a seguir um exemplo do arquivo de versão chrome/VERSION.

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

Veja a seguir um exemplo de URL de pacote de um arquivo de versão chrome/VERSION.

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
Exemplo de arquivo de versão puppeteer

Veja a seguir um exemplo do arquivo de versão 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" ] }
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote de um arquivo de versão puppeteer.

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

Veja a seguir um exemplo de URL de pacote com o qualificador skip para um arquivo de versão do puppeteer.

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

Coleta de ecossistemas do HuggingFace

Aplicações compatíveis
  • HuggingFacehfCLI

Recursos principais do
  • Extrai AI/ML modelos em cache local instalados por HuggingFace

  • Gera o HuggingFace pacote URLs

  • Modelos baixados usando não hf download --local-dir são suportados atualmente

Exemplo de caminho

Veja a seguir um exemplo de um caminho de HuggingFace modelo em cache.

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

Veja a seguir um exemplo de URL de pacote para um HuggingFace modelo. O tipo de componente émachine-learning-model.

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

Coleta de ecossistemas do Java

Aplicações compatíveis
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

Recursos principais do
  • Extrai a string da instalação do Java.

  • Identifica o caminho do diretório que contém o runtime do Java.

  • Identifica o fornecedor como Oracle JDK, Oracle JRE e Amazon Corretto.

O Amazon Inspector SBOM Generator verifica instalações do Java nos seguintes caminhos de instalação e plataformas:

  • macOS: /Library/Java/JavaVirtualMachines

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

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

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

Exemplo de informações de versão do Java

Veja a seguir um exemplo de uma versão do 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"
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote de uma versão do 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

Coleta de ecossistemas do Jenkins

Aplicações compatíveis
  • Jenkins Core

nota

A avaliação de vulnerabilidade se aplica à Jenkins versão 2.400.* e superior.

Recursos principais do
  • Extrai as informações da versão do jenkins.war arquivo lendo o META-INF/MANIFEST.M arquivo, que contém a string da Jenkins versão.

O Amazon Inspector SBOM Generator procura instalações do Jenkins em caminhos de instalação comuns em todas as plataformas:

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

  • /usr/share/java/jenkins.guerra

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

Windows
  • /Program Files/Jenkins/Jenkins.war

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

Exemplo de arquivos

Veja a seguir exemplos de jenkins.war/META-INF/MANIFEST.MF arquivos para diferentes versões.

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

A seguir estão os pacotes da URLs versão 2.516.2 da versão Jenkins LTS e da versão 2.414 da versão do servidor de automação. Jenkins

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

MariaDBe coleção de MySQL ecossistemas

MariaDB

Aplicações compatíveis
  • MariaDB Server(10,6+, 11,x, 12,x)

Recursos principais do
  • Extrai informações de versão dos binários do servidor de banco de dados e dos arquivos de cabeçalho usando padrões específicos do banco de dados.

  • Identifica o caminho do diretório que contém a instalação do servidor de banco de dados.

  • Distingue automaticamente entre MySQL instalações usando MariaDB a detecção de tipo de arquivo baseada em dados.

O Gerador SBOM procura a MariaDB instalação em caminhos de instalação comuns em todas as 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)

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para um MariaDB servidor.

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

Coleta de ecossistemas do MySQL

Aplicações compatíveis
  • Oracle MySQL Server Server(8,0, 8,4, 9,4+)

Recursos principais do
  • Extrai informações de versão dos binários do servidor de banco de dados e dos arquivos de cabeçalho usando padrões específicos do banco de dados.

  • Identifica o caminho do diretório que contém a instalação do servidor de banco de dados.

  • Distingue automaticamente entre MariaDB instalações usando MySQL a detecção de tipo de arquivo baseada em dados.

O Gerador SBOM procura a MySQL instalação em caminhos de instalação comuns em todas as 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)

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para um MySQL servidor.

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

Coleta de ecossistemas do Microsoft applications

Os seguintes aplicativos da Microsoft são inventariados pelo gerador Amazon Inspector SBOM. Devido às limitações na API Microsoft CVRF, as detecções na InspectorScan API são suportadas somente para versões desses aplicativos lançadas em 2021 (ou posteriores). As descobertas serão mapeadas para a Microsoft KBs ou CVEs (quando aplicável).

Aplicativos Microsoft compatíveis (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

Recursos principais do
  • PowerShell— Examina o pwsh.exe arquivo para extrair as informações da versão incorporada.

  • NuGet CLI— Examina o nuget.exe arquivo para extrair as informações da versão incorporada.

  • Visual Studio Code— Examina o Code.exe arquivo para extrair as informações da versão incorporada.

  • Microsoft Edge— Examina o msedge.exe arquivo para extrair as informações da versão incorporada.

  • SharePoint Server— Examina o Microsoft.SharePoint.dll arquivo para extrair as informações da versão incorporada.

  • Microsoft Defender— Examina o MsMpEng.exe arquivo para extrair as informações da versão incorporada.

  • Exchange Server— Examina o Exsetup.exe arquivo para extrair as informações da versão incorporada.

  • Visual Studio— Analisa o state.json arquivo para recuperar a string da versão do catalogInfo.productDisplayVersion campo.

  • .NET Core Runtime— Pesquisa o Microsoft.NETCore.App.deps.json arquivo nos caminhos de instalação e extrai a string da versão do seguinte padrão de caminho de arquivo.

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • .NET Framework— Analisa o Registro do Windows e lê os metadados do arquivo para detectar as versões instaladas do.NET Framework. O scanner verifica a chave, o valor e os arquivos do registro a seguir.

    • Registry Key(<VERSION_SUB_KEY>representa a versão do.NET Frameworkv2.0.50727, comov3.5, ouv4\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 se a versão do.NET Framework está instalada.

      • Version— Versão instalada do.NET Framework (versão 4.0 ou inferior)

      • Release— Um REG_DWORD valor que mapeia para a versão instalada do.NET Framework (versão 4.5 ou posterior)

    • DLL Files

      O scanner extrai a versão do arquivo de mscorlib.dll e. System.dll Se esses arquivos existirem, eles serão adicionados ao SBOM como componentes de arquivo aninhados. Para o.NET Framework versão 4.5 ou posterior, a maior versão de arquivo entre os arquivos é relatada como a versão.

  • ASP.NET Core Runtime— Pesquisa o Microsoft.AspNetCore.App.deps.json arquivo nos caminhos de instalação e extrai a string da versão do seguinte padrão de caminho de arquivo.

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows— Analisa o Registro do Windows e extrai a versão da seguinte chave de registro.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams— Analisa o Registro do Windows e extrai a versão da seguinte chave de registro.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365— Analisa o Registro do Windows e extrai a versão da chave e valor do registro a seguir.

    • Chave de registro

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

      • VersionToReport— Versão Microsoft Office

      • ProductReleaseIds— Lista de produtos IDs. Isso é usado para identificar os produtos do Office instalados. Para obter mais informações sobre o produto IDs, consulte product IDsno Microsoft site.

  • Microsoft Office Suite— Coleta cada aplicativo do Office instalado examinando os seguintes arquivos executáveis:

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    O número da versão no Registro do Windows é usado como número de versão autoritativo para cada aplicativo instalado do Office.

Exemplo de arquivo state.json

A seguir está um exemplo de um state.json arquivo a ser usado para coletar a Visual Studio versão 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

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para cada umMicrosoft 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

Coleta de ecossistemas do MongoDB

Aplicações compatíveis
  • MongoDB Server(7,0+, 8,0+)

Recursos principais do
  • Examine binários mongod para extrair informações de versão incorporadas.

nota

O mongod binário pode exceder 200 MB de tamanho. Para verificarMongoDB, o limite de tamanho de arquivo do Amazon Inspector SBOM Generator deve ser configurado para permitir arquivos com mais de 200 MB.

O Amazon Inspector SBOM Generator procura MongoDB instalações em caminhos de instalação comuns em todas as 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

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do MongoDB Server.

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

Coleta de ecossistemas do Nginx

Aplicações compatíveis
  • Nginx

Plataformas compatíveis

As plataformas a seguir são compatíveis.

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 é uma versão arbitrária)

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

Recursos principais do

Essa coleção examina os binários para extrair informações da versão incorporada. Ele pesquisa strings de versões na seção .rodata do executável binário (para binários ELF em Linux), na seção .rdata (para binários PE em Windows) ou na seção __ctring (para binários MachO).

Exemplo de string de versão

Veja a seguir um exemplo de string de versão incorporada em um binário Nginx.

nginx version: nginx/1.27.5

A versão 1.27.5 é extraída para identificar a versão do Nginx.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do Nginx.

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

Coleta de runtime do Node.JS

Aplicações compatíveis
  • Binário de runtime do nó para Node.JS

Plataformas compatíveis

A seguir estão as plataformas suportadas. (* é uma versão arbitrária)

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\nversões de código\ *\ instalação\node.exe

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

Recursos principais do

Essa coleção examina os binários para extrair informações da versão incorporada. Ele pesquisa strings de versões na seção .rodata do executável binário (para binários ELF em Linux), na seção .rdata (para binários PE em Windows) ou na seção __ctring (para binários MachO).

Exemplo de string de versão

Veja a seguir um exemplo de uma string de versão incorporada em um binário Node.JS de tempo de execução.

node.js/v24.11.1

A versão 24.11.1 é extraída para identificar a versão em Node.JS tempo de execução.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do Node.JS.

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

Coleta de ecossistemas do OpenSSH

Aplicações compatíveis
  • OpenSSH (versão 9)

  • OpenSSH (versão 10)

Plataformas Linux/macOS compatíveis
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

Plataformas Windows compatíveis
  • C:/Windows/System32/OpenSSH/sshd.exe

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

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

  • C:/OpenSSH/sshd.exe

Recursos principais do
  • Examine binários sshd para extrair informações de versão incorporadas.

  • Pesquisa strings de versões na seção .rodata do executável binário (para binários ELF em Linux), na seção __cstring (para binários Mach-O em MacOs) ou na seção .rdata (para binários PE em Windows).

Exemplo de string de versão

Veja a seguir um exemplo de string de versão incorporada em um binário OpenSSH.

OpenSSH_9.9p2

A versão 9.9p2 é extraída para identificar a versão do OpenSSH.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do OpenSSH.

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

Coleta de ecossistema OpenSSL

Aplicações compatíveis

O suporte para bibliotecas e pacotes de desenvolvimento do OpenSSL é limitado ao software criado com o OpenSSL oficial para versões 3.0.0 e posterior. O software também deve seguir o versionamento semântico. Variantes personalizadas ou bifurcadas do OpenSSL e versões anteriores à 3.0.0 não são compatíveis.

O Amazon Inspector SBOM Generator extrai as principais informações do pacote para cada instância OpenSSL instalada.

Recursos principais do
  • Extrai a string base da versão SEMVER do arquivo de cabeçalho OpenSSL

  • Identifica o caminho do diretório que contém a instalação do OpenSSL

O Amazon Inspector SBOM Generator procura instalações do OpenSSL verificando o arquivo opensslv.h em caminhos de instalação comuns entre plataformas.

Exemplo de caminho de instalação para Linux/Unix

Veja a seguir um exemplo de caminho de instalação 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

O Amazon Inspector SBOM Generator extrai informações da versão analisando o arquivo opensslv.h e procurando as definições da versão.

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

Veja a seguir um exemplo de URL de pacote para a versão OpenSSL.

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

Coleta do Oracle Database Server

Aplicações compatíveis
  • Oracle Database

Plataformas Linux compatível
  • /opt/oracle

  • /u01/app/oracle

nota

A avaliação de vulnerabilidade aplica-se somente ao Oracle Database Server versão 19 e posterior.

Recursos principais do
  • Examine binários Oracle para extrair informações de versão incorporadas.

  • Procura strings de versões na seção .rodata de executáveis binários (para binários ELF no Linux).

  • As informações da versão seguem um formato específico que inclui a string de versão do RDBMS.

Exemplo de string de versão

Veja a seguir um exemplo de string de versão incorporada em um binário Oracle Database:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

A versão 23.7.0.25.01 é extraída para identificar a versão do Oracle Database.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do Oracle Database.

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

Coleta de ecossistemas do PHP

Aplicações compatíveis
  • PHP(versão 8.1 e superior)

Recursos principais do
  • Extrai informações de versão de executáveis PHP binários usando cadeias de caracteres de versão incorporadas.

  • Identifica o caminho do diretório que contém o PHP binário.

  • Detecta automaticamente PHP binários padrão e instalações com versão, comophp8.1, e. php8.2 php8.3

O Amazon Inspector SBOM Generator procura PHP instalações em caminhos de instalação comuns em todas as 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(binários 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(diretórios versionados)

Exemplo de extração de PHP versão

O Amazon Inspector SBOM Generator extrai informações de versão de PHP binários pesquisando cadeias de versões incorporadas usando o seguinte padrão.

X-Powered-By: PHP/8.4.12

8.4.12é extraído desse padrão para identificar a PHP versão.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para um PHP padrão.

pkg:generic/php/php@8.4.12

Coleta de ecossistemas do Redis

Aplicações compatíveis
  • Redis(versão 7.2 e superior)

Recursos principais do
  • Extrai informações de versão de executáveis Redis redis-server binários usando cadeias de caracteres de versão incorporadas.

  • Pesquisa cadeias de versões na .rodata seção executável binária (para binários ELF ativadosLinux) ou na __cstring seção (para binários Mach-O ativados). macOS

O Amazon Inspector SBOM Generator procura Redis instalações em caminhos de instalação comuns em todas as plataformas:

Linux
  • /usr/bin/redis-server

  • /usr/local/bin/redis-server

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

  • /usr/local/bin/redis-server

Exemplo de string de versão

Veja a seguir um exemplo de uma string de versão incorporada em um Redis binário.

redis-7.2.6

A versão 7.2.6 é extraída para identificar a versão do Redis.

Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do Redis.

pkg:generic/redis/redis@7.2.6

Coleta de ecossistemas do WordPress

Componentes compatíveis
  • WordPress Core

  • Plug-ins do WordPress

  • Temas do WordPress

Recursos principais do
  • Núcleo do WordPress: analisa o arquivo /wp-includes/version.php para extrair o valor da versão da variável $wp_version.

  • Plug-ins do WordPress: analisa o arquivo /wp-content/plugins/<WordPress Plugin>/readme.txt ou /wp-content/plugins/<WordPress Plugin>/readme.md para extrair a tag Stable como a string da versão.

  • Temas do WordPress: analisa o arquivo /wp-content/themes/<WordPress Theme>/style.css para extrair a versão dos metadados da versão.

Exemplo de arquivo version.php

Veja a seguir um exemplo de um arquivo version.php do núcleo do 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
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote do núcleo do WordPress.

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
Exemplo de arquivo readme.txt

Veja a seguir um exemplo de um arquivo readme.txt do plug-in do 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
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote para um plug-in do WordPress.

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

Veja a seguir um exemplo de um arquivo style.css do tema do 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 */
Exemplo de PURL

Veja a seguir um exemplo de URL de pacote de um tema do WordPress.

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