View a markdown version of this page

Collection complète de l'écosystème Amazon Inspector SBOM Generator - Amazon Inspector

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Collection complète de l'écosystème Amazon Inspector SBOM Generator

Le générateur Amazon Inspector SBOM est un outil permettant de créer une nomenclature logicielle (SBOM) et d'effectuer une analyse des vulnérabilités pour les packages pris en charge par les systèmes d'exploitation et les langages de programmation. Il prend en charge l'analyse de divers écosystèmes au-delà des systèmes d'exploitation principaux, garantissant ainsi une analyse robuste et détaillée des composants de l'infrastructure. En générant une SBOM, vous pouvez comprendre la composition des technologies modernes, identifier les vulnérabilités des composants de l'écosystème et gagner en visibilité sur les logiciels tiers.

Écosystèmes soutenus

La collection de l'écosystème étend la génération de SBOM au-delà des packages installés via les gestionnaires de packages du système d'exploitation. Cela se fait par le biais de la collecte d'applications déployées selon des méthodes alternatives, telles que l'installation manuelle. Le générateur Amazon Inspector SBOM prend en charge l'analyse des écosystèmes suivants :

Écosystèmes Applications

7-Zip

7-Ziparchiveur (version 21.07 et supérieure)

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(version 2.400.* et supérieure)

MariaDB et MySQL

MariaDB Server(10,6 et versions ultérieures, 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(versions 9 et 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP(version 8.1 et supérieure)

Redis

Redis(version 7.2 et supérieure)

WordPress

core

plugin

theme

7-Zipcollection de l'écosystème

Applications prises en charge
  • Archiveur 7 Zip (version 21.07 ou supérieure)

Fonctions principales
  • Examine 7-Zip les fichiers binaires pour extraire les informations de version intégrées.

Note

Plus précisément, il recherche la valeur de la version du produit à partir du binaire.

Plateformes prises en charge : 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

Exemple de PURL

Voici un exemple d'URL de package pour7-Zip.

pkg:generic/7zip/7zip@25.01

Apachecollection de l'écosystème

Cette section fournit des informations sur les Apache applications httpd et Apache tomcat.

Apache httpd

Applications prises en charge
  • Apache httpd

Note

L'évaluation des vulnérabilités s'applique uniquement aux versions 2.0 et supérieures de Apache httpd.

Fonctions principales
  • Analyse le /include/ap_release.h fichier pour extraire les macros d'installation, qui contiennent les chaînes d'identification principales, les chaînes d'identification secondaires et les chaînes d'identification des correctifs.

Plateformes prises en charge

Le générateur Amazon Inspector SBOM analyse les installations dans les chemins d'installation courants sur toutes les plateformes :

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

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

Exemple de fichier ap_release.h

Voici un exemple de contenu contenu dans un ap_release.h fichier.

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

Voici un exemple d'URL de package pour une Apache httpd application.

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

Apache tomcat

Applications prises en charge
  • Apache tomcat

Note

L'évaluation des vulnérabilités ne s'applique qu'à Apache tomcat la version 9.0 et aux versions supérieures.

Fonctions principales
  • Décompresse le catalina.jar fichier pour extraire les macros d'installation contenues dans le META-INF/MANIFEST.MF fichier, qui contient la chaîne de version.

Plateformes prises en charge

Le générateur Amazon Inspector SBOM analyse les installations dans les chemins d'installation courants sur toutes les plateformes :

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/

Exemple de fichier catalina.jar/META-INF/MANIFEST.MF

Voici un exemple de contenu contenu dans un catalina.jar/META-INF/MANIFEST.MF fichier.

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

Voici un exemple d'URL de package pour une Apache tomcat application.

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

Atlassiancollection de l'écosystème

Cette section fournit des informations détaillées sur les produits et applications pour Atlassian serveurs.

Atlassian Server Products

Applications prises en charge
  • Jira Core

  • Confluence

Fonctions principales
  • Jira Core— Analyse les propriétés du POM Maven atlassian-jira-webapp pour extraire les informations de version.

  • Confluence— Analyse les propriétés du POM Maven confluence-webapp pour extraire les informations de version.

Plateformes prises en charge

Le générateur Amazon Inspector SBOM recherche les installations dans les chemins d'installation courants :

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

Exemple de PURL

Voici un exemple de package URLs pour les produits de Atlassian serveur.

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

Atlassian Applications

Applications prises en charge
  • Jira Software

  • Jira Service Management

Fonctions principales
  • Jira Software— Détecte via jira-software-application JAR et extrait la version des propriétés Maven POM.

  • Jira Service Management— Détecte via jira-servicedesk-application JAR et extrait la version des propriétés Maven POM.

Plateformes prises en charge

Le générateur Amazon Inspector SBOM recherche les installations dans les chemins d'installation courants :

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

Exemple de PURL

Voici un exemple de package URLs pour les Atlassian applications.

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

Curlcollection de l'écosystème

Cette section fournit des informations détaillées sur les Libcurl applications Curl et applications.

Curl

Applications prises en charge
  • Curl

Plateformes prises en charge
  • Unix – Linux et macOS

    • /usr/local/bin/curl

Principales fonctionnalités — Curl
  • Examine curl les fichiers binaires pour extraire les informations de version intégrées.

Note

Plus précisément, il recherche les chaînes de version dans la .rodata section exécutable binaire (pour les binaires ELF sous Linux), dans la .rdata section (pour les binaires PE sous Windows) ou dans la section __cstring (pour les binaires MacHo sous macOS).

Curl version string

Voici un exemple de chaîne de version incorporée dans un Curl fichier binaire :

curl/8.14.1

La version 8.14.1 est extraite de la chaîne pour identifier la Curl version.

Exemple PURL (Curl)

Voici un exemple d'URL de package pour un fichier de Curl version.

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

Libcurl

Applications prises en charge
  • Libcurl

Plateformes prises en charge
  • Unix – Linux et macOS

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

Principales fonctionnalités — Libcurl
  • Examine curlver.h pour extraire les informations de version intégrées pourLibcurl.

Note

Plus précisément, il extrait la version des LIBCURL_VERSION_PATCH variables définies LIBCURL_VERSION_MAJORLIBCURL_VERSION_MINOR, et.

Libcurl version string

Voici un exemple des variables de version d'un curlver.h fichier :

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

La version 8.14.1 est extraite de ces lignes pour identifier la Libcurl version.

Exemple de PURL (Libcurl)

Voici un exemple d'URL de package pour un fichier de Libcurl version.

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

Elasticsearchcollection de l'écosystème

Applications prises en charge
  • Elasticsearch

Note

L'évaluation des vulnérabilités s'applique uniquement à la Elasticsearch version 7.17.0.

Fonctions principales
  • Version— Décompresse le elasticsearch-<specific.version>.jar fichier pour extraire les macros d'installation contenues dans META-INF/MANIFEST.MF les fichiers contenant la chaîne de Elasticsearch version.

Plateformes prises en charge
  • Linux/etc/elasticsearch/lib/opt/elasticsearch/lib/, et /usr/share/elasticsearch/lib/

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

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

Exemple de fichier elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF

Voici un exemple de elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF fichier.

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

Voici un exemple d'URL de package pour un elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF fichier.

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

Googlecollection de l'écosystème

Applications prises en charge
  • Google Chrome

  • Puppeteer(supporte la bibliothèque de marionnettistes ; le noyau de marionnettiste n'est pas inclus)

Note

Puppeteersoutient la bibliothèque de marionnettistes. Puppeteerle noyau n'est pas inclus.

Artefacts supportés

Amazon Inspector collecte des Google Chrome informations auprès des sources suivantes :

  • Le chrome/VERSION fichier (source de construction)

  • Le chrome.exe fichier (Windows Chromeinstallation)

  • Le puppeteer fichier (installation)

Pour chacun des artefacts pris en charge, il Sbomgen analyse et collecte chrome le fichier ou le puppeteer fichier. Pour les puppeteer installations, la Chromium version correspondante est collectée en fonction de la puppeteer version. Pour plus d'informations, consultez la section Navigateurs pris en charge sur le site Web de Puppeteer.

Lorsque la variable d'PUPPETEER_SKIP_CHROMIUM_DOWNLOADenvironnement est définie surtrue, l'évaluation est ignorée et le skip_chromium_download=true qualificatif est ajouté à l'URL du Puppeteer package.

Exemple de fichier de chrome/VERSION version

Voici un exemple de fichier de chrome/VERSION version.

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

Voici un exemple d'URL de package pour un fichier de chrome/VERSION version.

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
Exemple de fichier de puppeteer version

Voici un exemple de fichier de puppeteer version.

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

Voici un exemple d'URL de package pour un fichier de puppeteer version.

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

Voici un exemple d'URL de package avec le qualificatif skip pour un fichier de puppeteer version.

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

HuggingFacecollection de l'écosystème

Applications prises en charge
  • HuggingFacehfCLI

Fonctions principales
  • Extrait les AI/ML modèles mis en cache localement installés par HuggingFace

  • Génère HuggingFace un package URLs

  • Les modèles téléchargés à l'aide de ce hf download --local-dir logiciel ne sont pas pris en charge

Exemple de chemin

Voici un exemple de chemin de HuggingFace modèle mis en cache.

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

Voici un exemple d'URL de package pour un HuggingFace modèle. Le type de composant estmachine-learning-model.

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

Javacollection de l'écosystème

Applications prises en charge
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

Fonctions principales
  • Extrait la chaîne de caractères de l'Javainstallation.

  • Identifie le chemin du répertoire qui contient le Java runtime.

  • Identifie le fournisseur en tant que Oracle JDKOracle JRE, etAmazon Corretto.

Le générateur Amazon Inspector SBOM analyse les Java installations sur les chemins d'installation et plateformes suivants :

  • macOS: /Library/Java/JavaVirtualMachines

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

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

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

Exemple d'informations sur Java la version

Voici un exemple de Oracle Java version.

// 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"
Exemple de PURL

Voici un exemple d'URL de package pour une Oracle Java version.

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

Jenkinscollection de l'écosystème

Applications prises en charge
  • Jenkins Core

Note

L'évaluation des vulnérabilités s'applique à la Jenkins version 2.400.* et aux versions supérieures.

Fonctions principales
  • Extrait les informations de version du jenkins.war fichier en lisant le META-INF/MANIFEST.M fichier, qui contient la chaîne de Jenkins version.

Le générateur Amazon Inspector SBOM recherche les installations de Jenkins dans les chemins d'installation courants sur toutes les plateformes :

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

  • /usr/share/java/jenkins.guerre

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

Windows
  • /Program Files/Jenkins/Jenkins.war

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

Exemples de fichier

Vous trouverez ci-dessous des exemples de jenkins.war/META-INF/MANIFEST.MF fichiers pour différentes versions.

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

Les packages URLs suivants concernent la version 2.516.2 de la version Jenkins LTS et la version 2.414 de la version du serveur d'Jenkinsautomatisation.

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

MariaDBet collecte de MySQL l'écosystème

MariaDB

Applications prises en charge
  • MariaDB Server(10,6 et versions ultérieures, 11 x, 12 x)

Fonctions principales
  • Extrait les informations de version des fichiers binaires et des fichiers d'en-tête du serveur de base de données à l'aide de modèles spécifiques à la base de données.

  • Identifie le chemin du répertoire contenant l'installation du serveur de base de données.

  • Distingue automatiquement les MariaDB MySQL installations à l'aide de la détection des types de fichiers basée sur les données.

Le générateur SBOM recherche l'MariaDBinstallation dans des chemins d'installation courants sur toutes les plateformes :

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)

Exemple de PURL

Voici un exemple d'URL de package pour un MariaDB serveur.

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

MySQLcollection de l'écosystème

Applications prises en charge
  • Oracle MySQL Server Server(8,0, 8,4, 9,4+)

Fonctions principales
  • Extrait les informations de version des fichiers binaires et des fichiers d'en-tête du serveur de base de données à l'aide de modèles spécifiques à la base de données.

  • Identifie le chemin du répertoire contenant l'installation du serveur de base de données.

  • Distingue automatiquement les MySQL MariaDB installations à l'aide de la détection des types de fichiers basée sur les données.

Le générateur SBOM recherche l'MySQLinstallation dans des chemins d'installation courants sur toutes les plateformes :

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)

Exemple de PURL

Voici un exemple d'URL de package pour un MySQL serveur.

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

Microsoft applicationscollection de l'écosystème

Les applications Microsoft suivantes sont inventoriées par le générateur Amazon Inspector SBOM. En raison des limites de l'API Microsoft CVRF, les détections dans l' InspectorScan API ne sont prises en charge que pour les versions de ces applications publiées en 2021 (ou ultérieurement). Les résultats seront mappés à Microsoft KBs ou CVEs (le cas échéant).

Applications Microsoft prises en charge (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

Fonctions principales
  • PowerShell— Examine le pwsh.exe fichier pour extraire les informations de version intégrées.

  • NuGet CLI— Examine le nuget.exe fichier pour extraire les informations de version intégrées.

  • Visual Studio Code— Examine le Code.exe fichier pour extraire les informations de version intégrées.

  • Microsoft Edge— Examine le msedge.exe fichier pour extraire les informations de version intégrées.

  • SharePoint Server— Examine le Microsoft.SharePoint.dll fichier pour extraire les informations de version intégrées.

  • Microsoft Defender— Examine le MsMpEng.exe fichier pour extraire les informations de version intégrées.

  • Exchange Server— Examine le Exsetup.exe fichier pour extraire les informations de version intégrées.

  • Visual Studio— Analyse le state.json fichier pour récupérer la chaîne de version catalogInfo.productDisplayVersion dans le champ.

  • .NET Core Runtime— Recherche un Microsoft.NETCore.App.deps.json fichier dans les chemins d'installation et extrait la chaîne de version à partir du modèle de chemin de fichier suivant.

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • .NET Framework— Analyse le registre Windows et lit les métadonnées des fichiers pour détecter les versions de .NET Framework installées. Le scanner vérifie la clé et la valeur de registre, ainsi que les fichiers suivants.

    • Registry Key(<VERSION_SUB_KEY>représente la version du .NET Frameworkv2.0.50727, telle quev3.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— Indique si la version .NET Framework est installée.

      • Version— Version .NET Framework installée (version 4.0 ou inférieure)

      • Release— Une REG_DWORD valeur correspondant à la version de .NET Framework installée (version 4.5 ou ultérieure)

    • DLL Files

      Le scanner extrait la version du fichier depuis mscorlib.dll etSystem.dll. Si ces fichiers existent, ils sont ajoutés au SBOM en tant que composants de fichiers imbriqués. Pour .NET Framework version 4.5 ou ultérieure, la version de fichier la plus importante parmi les fichiers est indiquée comme étant la version.

  • ASP.NET Core Runtime— Recherche un Microsoft.AspNetCore.App.deps.json fichier dans les chemins d'installation et extrait la chaîne de version à partir du modèle de chemin de fichier suivant.

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows— Analyse le registre Windows et extrait la version de la clé de registre suivante.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams— Analyse le registre Windows et extrait la version de la clé de registre suivante.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365— Analyse le registre Windows et extrait la version de la clé de registre et de la valeur suivantes.

    • Clé de registre

      HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • Valeur du registre

      • VersionToReport— Version de Microsoft Office

      • ProductReleaseIds— Liste des produits IDs Ceci est utilisé pour identifier les produits Office installés. Pour plus d'informations sur le produit IDs, consultez product IDsle Microsoft site Web.

  • Microsoft Office Suite— Collecte toutes les applications Office installées en examinant les fichiers exécutables suivants :

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    Le numéro de version dans le registre Windows est utilisé comme numéro de version officiel pour chaque application Office installée.

Exemple de fichier state.json

Voici un exemple de state.json fichier à utiliser pour collecter la Visual Studio version installée.

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

Exemple de PURL

Voici un exemple d'URL de package pour chacun d'entre euxMicrosoft 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

MongoDBcollection de l'écosystème

Applications prises en charge
  • MongoDB Server(7,0+, 8,0+)

Fonctions principales
  • Examine les mongod fichiers binaires pour extraire les informations de version intégrées.

Note

La taille du mongod binaire peut dépasser 200 Mo. Pour effectuer une rechercheMongoDB, la limite de taille de fichier Amazon Inspector SBOM Generator doit être configurée pour autoriser les fichiers de plus de 200 Mo.

Le générateur Amazon Inspector SBOM recherche les MongoDB installations dans des chemins d'installation courants sur toutes les plateformes :

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

Exemple de PURL

Voici un exemple d'URL de package pourMongoDB Server.

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

Nginxcollection de l'écosystème

Applications prises en charge
  • Nginx

Plateformes prises en charge

Les plateformes suivantes sont prises en charge.

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 est une version arbitraire)

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

Fonctions principales

Cette collection examine les fichiers binaires pour extraire les informations de version intégrées. Il recherche les chaînes de version dans la .rodata section exécutable binaire (pour les binaires ELF activésLinux), la .rdata section (pour les binaires PE activésWindows) ou la __ctring section (pour les MachO binaires).

Exemple de chaîne de version

Voici un exemple de chaîne de version incorporée dans un Nginx fichier binaire.

nginx version: nginx/1.27.5

La version 1.27.5 est extraite pour identifier la Nginx version.

Exemple de PURL

Voici un exemple d'URL de package pour Nginx.

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

Node.JScollection d'exécution

Applications prises en charge
  • binaire d'exécution de nœuds pour Node.JS

Plateformes prises en charge

Les plateformes suivantes sont prises en charge. (* est une version arbitraire)

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\nversions de code \ * \ installation\node.exe

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

Fonctions principales

Cette collection examine les fichiers binaires pour extraire les informations de version intégrées. Il recherche les chaînes de version dans la .rodata section exécutable binaire (pour les binaires ELF activésLinux), la .rdata section (pour les binaires PE activésWindows) ou la __ctring section (pour les MachO binaires).

Exemple de chaîne de version

Voici un exemple de chaîne de version intégrée dans un binaire Node.JS d'exécution.

node.js/v24.11.1

La version 24.11.1 est extraite pour identifier la version Node.JS d'exécution.

Exemple de PURL

Voici un exemple d'URL de package pourNode.JS.

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

Collection de l'écosystème OpenSSH

Applications prises en charge
  • OpenSSH(Version 9)

  • OpenSSH(Version 10)

Plateformes prises en charge Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

Plateformes prises en charge Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

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

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

  • C:/OpenSSH/sshd.exe

Fonctions principales
  • Examine les sshd fichiers binaires pour extraire les informations de version intégrées.

  • Recherche les chaînes de version dans la .rodata section exécutable binaire (pour les binaires ELF activés)Linux, la __cstring section (pour les binaires Mach-O activésMacOs) ou la .rdata section (pour les binaires PE activés). Windows

Exemple de chaîne de version

Voici un exemple de chaîne de version incorporée dans un OpenSSH fichier binaire.

OpenSSH_9.9p2

La version 9.9p2 est extraite pour identifier la OpenSSH version.

Exemple de PURL

Voici un exemple d'URL de package pourOpenSSH.

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

Collection de l'écosystème OpenSSL

Applications prises en charge

Support pour les bibliothèques OpenSSL et les packages de développement uniquement pour les logiciels créés avec OpenSSL officiel pour les versions 3.0.0 et supérieures. Le logiciel doit également suivre le versionnement sémantique. Les variantes OpenSSL personnalisées ou bifurquées et les versions inférieures à 3.0.0 ne sont pas prises en charge.

Le générateur Amazon Inspector SBOM extrait les informations clés du package pour chaque instance OpenSSL installée.

Fonctions principales
  • Extrait la chaîne de version de base de SEMVER du fichier d'en-tête OpenSSL

  • Identifie le chemin du répertoire contenant l'installation d'OpenSSL

Le générateur Amazon Inspector SBOM recherche les installations OpenSSL en recherchant le opensslv.h fichier dans les chemins d'installation courants sur toutes les plateformes.

Exemple de chemin d'installation pour Linux/Unix

Voici un exemple de chemin d'installation pour 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

Le générateur Amazon Inspector SBOM extrait les informations de version en analysant le opensslv.h fichier et en recherchant les définitions de version.

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

Voici un exemple d'URL de package pour la version OpenSSL.

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

Collection de serveurs de base de données Oracle

Applications prises en charge
  • Oracle Database

Plateformes prises en charge Linux
  • /opt/oracle

  • /u01/app/oracle

Note

L'évaluation des vulnérabilités s'applique uniquement aux versions 19 et supérieures du serveur de Oracle base de données.

Fonctions principales
  • Examine les Oracle fichiers binaires pour extraire les informations de version intégrées.

  • Recherche les chaînes de version dans la .rodata section des exécutables binaires (pour les fichiers binaires ELF activésLinux).

  • Les informations de version suivent un format spécifique qui inclut la chaîne de version du SGBDR.

Exemple de chaîne de version

Voici un exemple de chaîne de version incorporée dans un Oracle Database fichier binaire :

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

La version 23.7.0.25.01 est extraite pour identifier la Oracle Database version.

Exemple de PURL

Voici un exemple d'URL de package pourOracle Database.

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

PHPcollection de l'écosystème

Applications prises en charge
  • PHP(version 8.1 et supérieure)

Fonctions principales
  • Extrait les informations de version des exécutables PHP binaires à l'aide de chaînes de version intégrées.

  • Identifie le chemin du répertoire contenant le PHP binaire.

  • Détecte automatiquement les PHP fichiers binaires standard et les installations versionnées, tels que php8.1php8.2, et. php8.3

Le générateur Amazon Inspector SBOM recherche les PHP installations dans des chemins d'installation courants sur toutes les plateformes :

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(fichiers binaires versionnés)

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(répertoires versionnés)

Exemple d'extraction de PHP version

Le générateur Amazon Inspector SBOM extrait les informations de version PHP des fichiers binaires en recherchant les chaînes de version intégrées selon le modèle suivant.

X-Powered-By: PHP/8.4.12

8.4.12est extrait de ce modèle pour identifier la PHP version.

Exemple de PURL

Voici un exemple d'URL de package pour un PHP modèle.

pkg:generic/php/php@8.4.12

Rediscollection de l'écosystème

Applications prises en charge
  • Redis(version 7.2 et supérieure)

Fonctions principales
  • Extrait les informations de version des exécutables Redis redis-server binaires à l'aide de chaînes de version intégrées.

  • Recherche les chaînes de version dans la .rodata section exécutable binaire (pour les binaires ELF activésLinux) ou dans la __cstring section (pour les binaires Mach-O activés). macOS

Le générateur Amazon Inspector SBOM recherche les Redis installations dans des chemins d'installation courants sur toutes les plateformes :

Linux
  • /usr/bin/redis-server

  • /usr/local/bin/redis-server

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

  • /usr/local/bin/redis-server

Exemple de chaîne de version

Voici un exemple de chaîne de version incorporée dans un Redis fichier binaire.

redis-7.2.6

La version 7.2.6 est extraite pour identifier la Redis version.

Exemple de PURL

Voici un exemple d'URL de package pourRedis.

pkg:generic/redis/redis@7.2.6

WordPresscollection de l'écosystème

Composants pris en charge
  • WordPress core

  • WordPressplugins

  • WordPressthèmes

Fonctions principales
  • WordPresscore — analyse le /wp-includes/version.php fichier pour extraire la valeur de version de la variable $wp_version.

  • WordPressplugins — analyse le /wp-content/plugins/<WordPress Plugin>/readme.txt fichier ou le /wp-content/plugins/<WordPress Plugin>/readme.md fichier pour extraire le Stable tag sous forme de chaîne de version.

  • WordPressthèmes — analyse le /wp-content/themes/<WordPress Theme>/style.css fichier pour extraire la version à partir des métadonnées de version.

Exemple de fichier version.php

Voici un exemple de version.php fichier de WordPress base.

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

Voici un exemple d'URL de package pour le WordPress noyau.

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
Exemple de fichier readme.txt

Voici un exemple de readme.txt fichier de WordPress plugin.

=== 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
Exemple de PURL

Voici un exemple d'URL de package pour un WordPress plugin.

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

Voici un exemple de style.css fichier de WordPress thème.

/* 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 */
Exemple de PURL

Voici un exemple d'URL de package pour un WordPress thème.

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