Umfassende Ökosystemsammlung von Amazon Inspector SBOM Generator - Amazon Inspector

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Umfassende Ökosystemsammlung von Amazon Inspector SBOM Generator

Der Amazon Inspector SBOM Generator ist ein Tool zum Erstellen einer Software-Stückliste (SBOM) und zum Durchführen von Sicherheitslücken nach unterstützten Paketen aus Betriebssystemen und Programmiersprachen. Er unterstützt das Scannen verschiedener Ökosysteme, die über die Kernbetriebssysteme hinausgehen, und gewährleistet so eine robuste und detaillierte Analyse der Infrastrukturkomponenten. Durch die Generierung einer SBOM können Sie die Zusammensetzung moderner Technologie-Stacks verstehen, Schwachstellen in Ökosystemkomponenten identifizieren und Einblicke in Software von Drittanbietern gewinnen.

Unterstützte Ökosysteme

Die Ökosystemsammlung erweitert die SBOM-Generierung über Pakete hinaus, die über Betriebssystem-Paketmanager installiert wurden. Dies erfolgt durch die Sammlung von Anwendungen, die mit alternativen Methoden, wie z. B. manueller Installation, bereitgestellt werden. Der Amazon Inspector SBOM Generator unterstützt das Scannen für die folgenden Ökosysteme:

Ökosysteme Anwendungen

7-Zip

7-ZipArchiver (Version 21.07 und höher)

Apache

Apache httpd

Apache tomcat

Atlassian

Jira Core

Confluence

Jira Software

Jira Service Management

Curl

Curl

Libcurl

Elasticsearch Elasticsearch

Google

Chrome

Java

JDK

JRE

Amazon Corretto

Jenkins

Jenkins(Version 2.400.* und höher)

MariaDB und MySQL

MariaDB Server(10.6+, 11.x, 12.x)

Oracle MySQL Server Server(8,0, 8,4, 9,4+)

Microsoft applications

PowerShell

NuGet CLI

Visual Studio Code

Microsoft Edge

SharePoint Server

Microsoft Defender

Exchange Server

Visual Studio

.NET Runtime

ASP.NET Core Runtime

Microsoft Teams

Outlook for Windows

Microsoft Office

Microsoft 365

Nginx

Nginx

Node

Node

Node.JS

node

OpenSSH

OpenSSH(Versionen 9 und 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP(Version 8.1 und höher)

WordPress

core

plugin

theme

7-ZipSammlung von Ökosystemen

Unterstützte Anwendungen
  • 7 Zip-Archiver (Version 21.07 oder höher)

Schlüssel-Features
  • Untersucht 7-Zip Binärdateien, um die eingebetteten Versionsinformationen zu extrahieren.

Anmerkung

Insbesondere sucht es nach dem Wert der Produktversion aus der Binärdatei.

Unterstützte Plattformen — 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

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für7-Zip.

pkg:generic/7zip/7zip@25.01

ApacheSammlung von Ökosystemen

Dieser Abschnitt enthält Einzelheiten zu den Anwendungen Apache httpd und Apache Tomcat.

Apache httpd

Unterstützte Anwendungen
  • Apache httpd

Anmerkung

Die Bewertung der Sicherheitslücke bezieht sich nur auf Apache httpd Version 2.0 und höher.

Schlüssel-Features
  • Analysiert die /include/ap_release.h Datei, um Installationsmakros zu extrahieren, die Hauptkennungen, Nebenkennungen und Patchkennungen enthalten.

Unterstützte Plattformen

Der Amazon Inspector SBOM Generator sucht plattformübergreifend nach Installationen in gemeinsamen Installationspfaden:

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

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

ap_release.h-Beispieldatei

Im Folgenden finden Sie ein Beispiel für den Inhalt einer ap_release.h Datei.

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

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine Apache httpd Anwendung.

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

Apache tomcat

Unterstützte Anwendungen
  • Apache tomcat

Anmerkung

Die Bewertung der Sicherheitslücke gilt nur für Apache tomcat Version 9.0 und höher.

Schlüssel-Features
  • Entpackt die catalina.jar Datei, um die Installationsmakros in der META-INF/MANIFEST.MF Datei zu extrahieren, die die Versionszeichenfolge enthält.

Unterstützte Plattformen

Der Amazon Inspector SBOM Generator sucht plattformübergreifend nach Installationen in gemeinsamen Installationspfaden:

Linux
  • /opt/tomcat/lib/

  • /usr/share/tomcat/lib

  • /var/lib/tomcat/lib/

macOS
  • /Library/Tomcat/lib/

  • /usr/local/tomcat/lib

Windows
  • /Program Files/Apache Software Foundation

  • /Program Files (x86)/Apache Software Foundation/

catalina.jar/META-INF/MANIFEST.MF-Beispieldatei

Im Folgenden finden Sie ein Beispiel für Inhalte in einer catalina.jar/META-INF/MANIFEST.MF Datei.

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

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine Apache tomcat Anwendung.

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

AtlassianSammlung von Ökosystemen

Dieser Abschnitt enthält Einzelheiten zu Atlassian Serverprodukten und -anwendungen.

Atlassian Server Products

Unterstützte Anwendungen
  • Jira Core

  • Confluence

Schlüssel-Features
  • Jira Core— Analysiert die Maven-POM-Eigenschaften vonatlassian-jira-webapp, um Versionsinformationen zu extrahieren.

  • Confluence— Analysiert die Maven-POM-Eigenschaften von, um Versionsinformationen confluence-webapp zu extrahieren.

Unterstützte Plattformen

Der Amazon Inspector SBOM Generator sucht nach Installationen in gängigen Installationspfaden:

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

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispielpaket URLs für Atlassian Serverprodukte.

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

Atlassian Applications

Unterstützte Anwendungen
  • Jira Software

  • Jira Service Management

Schlüssel-Features
  • Jira Software— Erkennt die Version über jira-software-application JAR und extrahiert die Version aus den Maven-POM-Eigenschaften.

  • Jira Service Management— Erkennt die Version über jira-servicedesk-application JAR und extrahiert die Version aus den Maven-POM-Eigenschaften.

Unterstützte Plattformen

Der Amazon Inspector SBOM Generator sucht nach Installationen in gängigen Installationspfaden:

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

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispielpaket URLs für Atlassian Anwendungen.

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

CurlSammlung von Ökosystemen

Dieser Abschnitt enthält Einzelheiten zu Curl und Libcurl Anwendungen.

Curl

Unterstützte Anwendungen
  • Curl

Unterstützte Plattformen
  • Unix – Linux und macOS

    • /usr/local/bin/curl

Hauptmerkmale — Curl
  • Untersucht curl Binärdateien, um die eingebetteten Versionsinformationen zu extrahieren.

Anmerkung

Insbesondere sucht es nach Versionszeichenfolgen im .rodata Abschnitt mit ausführbaren Binärdateien (für ELF-Binärdateien unter Linux), im .rdata Abschnitt (für PE-Binärdateien unter Windows) oder im Abschnitt __cstring (für MachO-Binärdateien unter macOS).

Curl version string

Im Folgenden finden Sie ein Beispiel für eine Versionszeichenfolge, die in eine Binärdatei eingebettet ist: Curl

curl/8.14.1

Version 8.14.1 wird aus der Zeichenfolge extrahiert, um die Curl Version zu identifizieren.

Beispiel PURL (Curl)

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine Curl Versionsdatei.

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

Libcurl

Unterstützte Anwendungen
  • Libcurl

Unterstützte Plattformen
  • Unix – Linux und macOS

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

Hauptmerkmale — Libcurl
  • Überprüftcurlver.h, ob eingebettete Versionsinformationen für extrahiert Libcurl werden sollen.

Anmerkung

Insbesondere extrahiert es die Version aus den definierten LIBCURL_VERSION_PATCH Variablen LIBCURL_VERSION_MAJORLIBCURL_VERSION_MINOR, und.

Libcurl version string

Im Folgenden finden Sie ein Beispiel für die Versionsvariablen in einer curlver.h Datei:

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

8.14.1Die Version wird aus diesen Zeilen extrahiert, um die Libcurl Version zu identifizieren.

Beispiel PURL (Libcurl)

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine Libcurl Versionsdatei.

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

ElasticsearchSammlung von Ökosystemen

Unterstützte Anwendungen
  • Elasticsearch

Anmerkung

Die Bewertung der Sicherheitslücke bezieht sich nur auf Elasticsearch Version 7.17.0.

Schlüssel-Features
  • Version— Entpackt die elasticsearch-<specific.version>.jar Datei, um Installationsmakros in META-INF/MANIFEST.MF Dateien zu extrahieren, die die Versionszeichenfolge enthalten. Elasticsearch

Unterstützte Plattformen
  • Linux/etc/elasticsearch/lib, und /opt/elasticsearch/lib/ /usr/share/elasticsearch/lib/

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

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

elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF-Beispieldatei

Das Folgende ist ein Beispiel für eine elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF Datei.

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

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF Datei.

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

GoogleSammlung von Ökosystemen

Unterstützte Anwendungen
  • Google Chrome

  • Puppeteer(unterstützt die Puppeteer-Bibliothek; Puppeteer-Core ist nicht enthalten)

Anmerkung

Puppeteerunterstützt die Puppenspieler-Bibliothek. PuppeteerDer Kern ist nicht enthalten.

Unterstützte Artefakte

Amazon Inspector sammelt Google Chrome Informationen aus den folgenden Quellen:

  • Die chrome/VERSION Datei (Build-Quelle)

  • Die chrome.exe Datei (Windows ChromeInstallation)

  • Die puppeteer Datei (Installation)

Für jedes der unterstützten Artefakte Sbomgen analysiert und sammelt er entweder die chrome Datei oder die puppeteer Datei. Bei puppeteer Installationen wird die entsprechende Chromium Version auf der Grundlage der puppeteer Version gesammelt. Weitere Informationen finden Sie auf der Puppeteer-Website unter Unterstützte Browser.

Wenn die PUPPETEER_SKIP_CHROMIUM_DOWNLOAD Umgebungsvariable auf gesetzt isttrue, wird die Auswertung übersprungen und der skip_chromium_download=true Qualifier wird der Paket-URL hinzugefügt. Puppeteer

Beispiel für chrome/VERSION eine Versionsdatei

Im Folgenden finden Sie ein Beispiel für die chrome/VERSION Versionsdatei.

MAJOR=130 MINOR=0 BUILD=6723 PATCH=58
Beispiel PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine chrome/VERSION Versionsdatei.

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
Beispiel für puppeteer eine Versionsdatei

Im Folgenden finden Sie ein Beispiel für die puppeteer Versionsdatei.

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

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine puppeteer Versionsdatei.

Sample PURL: pkg:generic/google/puppeteer@23.9.0
Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL mit Skip-Qualifier für eine puppeteer Versionsdatei.

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

JavaSammlung von Ökosystemen

Unterstützte Anwendungen
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

Schlüssel-Features
  • Extrahiert die Zeichenfolge der Java Installation.

  • Identifiziert den Verzeichnispfad, der die Java Laufzeit enthält.

  • Identifiziert den Anbieter als Oracle JDKOracle JRE, undAmazon Corretto.

Der Amazon Inspector SBOM Generator sucht auf den folgenden Installationspfaden und Plattformen nach Java Installationen:

  • macOS: /Library/Java/JavaVirtualMachines

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

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

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

Beispiel für Versionsinformationen Java

Im Folgenden finden Sie ein Beispiel für eine 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"
Beispiel PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine 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

JenkinsSammlung von Ökosystemen

Unterstützte Anwendungen
  • Jenkins-Core

Anmerkung

Die Bewertung der Sicherheitslücke bezieht sich auf Jenkins Version 2.400.* und höher.

Schlüssel-Features
  • Extrahiert Versionsinformationen aus der jenkins.war Datei, indem die META-INF/MANIFEST.M Datei gelesen wird, die die Versionszeichenfolge enthält. Jenkins

Der Amazon Inspector SBOM Generator sucht plattformübergreifend nach Jenkins-Installationen in gemeinsamen Installationspfaden:

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

Beispieldateien

Im Folgenden finden Sie Beispiele für jenkins.war/META-INF/MANIFEST.MF Dateien für verschiedene Versionen.

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

Im Folgenden finden Sie Pakete URLs für Version 2.516.2 der Jenkins LTS-Version und Version 2.414 der Jenkins Automation-Server-Version.

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

MariaDBund Sammlung von Ökosystemen MySQL

MariaDB

Unterstützte Anwendungen
  • MariaDB Server(10.6+, 11.x, 12.x)

Schlüssel-Features
  • Extrahiert Versionsinformationen aus Datenbankserver-Binärdateien und Header-Dateien mithilfe datenbankspezifischer Muster.

  • Identifiziert den Verzeichnispfad, der die Datenbankserver-Installation enthält.

  • Unterscheidet mithilfe der datengesteuerten Dateityperkennung automatisch zwischen MySQL Installationen MariaDB und Installationen.

Der SBOM-Generator sucht plattformübergreifend in gemeinsamen MariaDB Installationspfaden nach der Installation:

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)

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für einen MariaDB Server.

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

MySQLSammlung von Ökosystemen

Unterstützte Anwendungen
  • Oracle MySQL Server Server(8.0, 8.4, 9.4+)

Schlüssel-Features
  • Extrahiert Versionsinformationen aus Datenbankserver-Binärdateien und Header-Dateien mithilfe datenbankspezifischer Muster.

  • Identifiziert den Verzeichnispfad, der die Datenbankserver-Installation enthält.

  • Unterscheidet mithilfe der datengesteuerten Dateityperkennung automatisch zwischen MariaDB Installationen MySQL und Installationen.

Der SBOM-Generator sucht plattformübergreifend in gemeinsamen MySQL Installationspfaden nach der Installation:

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)

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für einen MySQL Server.

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

Microsoft applicationsSammlung von Ökosystemen

Unterstützte Microsoft-Anwendungen
  • PowerShell

  • NuGet CLI

  • Visual Studio Code

  • Microsoft Edge

  • SharePoint Server

  • Microsoft Defender

  • Exchange Server

  • Visual Studio

  • .NET Runtime

  • ASP.NET Core Runtime

  • Microsoft Teams

  • Outlook for Windows

  • Microsoft Office

  • Microsoft 365

Schlüssel-Features
  • PowerShell— Untersucht die pwsh.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • NuGet CLI— Untersucht die nuget.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • Visual Studio Code— Untersucht die Code.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • Microsoft Edge— Untersucht die msedge.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • SharePoint Server— Untersucht die Microsoft.SharePoint.dll Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • Microsoft Defender— Untersucht die MsMpEng.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • Exhange Server— Untersucht die Exsetup.exe Datei, um die eingebetteten Versionsinformationen zu extrahieren.

  • Visual Studio— Analysiert die state.json Datei, um die Versionszeichenfolge aus dem catalogInfo.productDisplayVersion Feld abzurufen.

  • .NET Runtime— Sucht Microsoft.NETCore.App.deps.json in Installationspfaden nach Dateien und extrahiert die Versionszeichenfolge aus dem folgenden Dateipfadmuster.

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • ASP.NET Runtime— Sucht Microsoft.AspNetCore.App.deps.json in Installationspfaden nach Dateien und extrahiert die Versionszeichenfolge aus dem folgenden Dateipfadmuster.

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows— Analysiert die Windows-Registrierung und extrahiert die Version aus dem folgenden Registrierungsschlüssel.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams— Analysiert die Windows-Registrierung und extrahiert die Version aus dem folgenden Registrierungsschlüssel.

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365— Analysiert die Windows-Registrierung und extrahiert die Version aus dem folgenden Registrierungsschlüssel und Wert.

    • Registrierungsschlüssel

      KEY_LOCAL_MACHINES\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • Registrierungswert

      • VersionToReport— Microsoft Office-Version

      • ProductReleaseIds— Liste der Produkte IDs. Dies wird verwendet, um installierte Office-Produkte zu identifizieren. Weitere Informationen zum Produkt IDs finden Sie product IDsauf der Microsoft Website.

  • Microsoft Office Suite— Sammelt die installierten Office-Anwendungen, indem die folgenden ausführbaren Dateien untersucht werden:

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    Die Versionsnummer in der Windows-Registrierung wird als verbindliche Versionsnummer für jede installierte Office-Anwendung verwendet.

state.json-Beispieldatei

Im Folgenden finden Sie ein Beispiel für eine state.json Datei, die zum Sammeln der installierten Visual Studio Version verwendet werden kann.

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

Beispiel für eine PURL

Im Folgenden finden Sie jeweils Microsoft Applications ein Beispiel für eine Paket-URL.

// PowerShell Sample PURL: pkg:generic/microsoft/powershell@7.5.3 // NuGet CLI Sample PURL: pkg:generic/microsoft/nuget@6.14.0 // Visual Studio Code Sample PURL: pkg:generic/microsoft/visualstudiocode@1.104.2 // Microsoft Edge Sample PURL: pkg:generic/microsoft/edge@140.0.3485.94 // SharePoint Server Sample PURL: pkg:generic/microsoft/sharepoint@23.38.219.1 // Microsoft Defender Sample PURL: pkg:generic/microsoft/defender@4.18.23110.3 // Exchange Server Sample PURL: pkg:generic/microsoft/exchangeserver@15.2.2562.17 // Visual Studio Sample PURL: pkg:generic/microsoft/visualstudio@17.14.19 // .NET Runtime Sample PURL: pkg:generic/microsoft/dotnet@8.0.18 // ASP.NET Core Runtime Sample PURL: pkg:generic/microsoft/aspdotnet@8.0.18 // Microsoft Teams Sample PURL: pkg:generic/microsoft/teams@25241.203.3947.4411 // Outlook for Windows Sample PURL: pkg:generic/microsoft/outlookforwindows@1.2025.916.400 // Microsoft 365 / Office 365 Sample PURL: pkg:generic/microsoft/office@16.0.19127.20264?product_ids=O365HomePremRetail // Microsoft Word Sample PURL: pkg:generic/microsoft/word@16.0.19127.20264 // Microsoft Excel Sample PURL: pkg:generic/microsoft/excel@16.0.19127.20264 // Microsoft PowerPoint Sample PURL: pkg:generic/microsoft/powerpoint@16.0.19127.20264 // Microsoft Outlook Sample PURL: pkg:generic/microsoft/outlook@16.0.19127.20264

NginxSammlung von Ökosystemen

Unterstützte Anwendungen
  • Nginx

Unterstützte Plattformen

Die folgenden Plattformen werden unterstützt.

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 ist eine beliebige Version)

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

Schlüssel-Features

In dieser Sammlung werden Binärdateien untersucht, um eingebettete Versionsinformationen zu extrahieren. Sie sucht nach Versionszeichenfolgen im .rodata Abschnitt der ausführbaren Binärdatei (für ELF-Binärdateien aktiviertLinux), .rdata Abschnitt (für PE-Binärdateien aktiviertWindows) oder __ctring Abschnitt (für MachO Binärdateien).

Beispiel für eine Versionszeichenfolge

Das Folgende ist ein Beispiel für eine Versionszeichenfolge, die in eine Nginx Binärdatei eingebettet ist.

nginx version: nginx/1.27.5

Die Version 1.27.5 wird extrahiert, um die Nginx Version zu identifizieren.

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für Nginx.

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

Node.JSRuntime-Sammlung

Unterstützte Anwendungen
  • Knotenlaufzeit-Binärdatei für Node.JS

Unterstützte Plattformen

Die folgenden Plattformen werden unterstützt. (* ist eine beliebige Version)

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 Dateien\nnodejs\node.exe

  • C:\Program Dateien (x86)\nnodejs\node.exe

  • ~\\ RoamingAppData\ fnm\nOde-Versionen\ *\ Installation\node.exe

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

Schlüssel-Features

In dieser Sammlung werden Binärdateien untersucht, um eingebettete Versionsinformationen zu extrahieren. Sie sucht nach Versionszeichenfolgen im .rodata Abschnitt der ausführbaren Binärdatei (für ELF-Binärdateien aktiviertLinux), .rdata Abschnitt (für PE-Binärdateien aktiviertWindows) oder __ctring Abschnitt (für MachO Binärdateien).

Beispiel für eine Versionszeichenfolge

Im Folgenden finden Sie ein Beispiel für eine Versionszeichenfolge, die in eine Node.JS Runtime-Binärdatei eingebettet ist.

node.js/v24.11.1

Die Version 24.11.1 wird extrahiert, um die Node.JS Laufzeitversion zu identifizieren.

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL fürNode.JS.

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

Sammlung des OpenSSH-Ökosystems

Unterstützte Anwendungen
  • OpenSSH(Version 9)

  • OpenSSH(Ausführung 10)

Unterstützte Plattformen Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

Unterstützte Plattformen Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

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

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

  • C:/OpenSSH/sshd.exe

Schlüssel-Features
  • Untersucht sshd Binärdateien, um eingebettete Versionsinformationen zu extrahieren.

  • Sucht nach Versionszeichenfolgen im .rodata Abschnitt mit ausführbaren Binärdateien (für ELF-Binärdateien aktiviert)Linux, __cstring Abschnitt (für Mach-O-Binärdateien aktiviertMacOs) oder .rdata Abschnitt (für PE-Binärdateien aktiviert). Windows

Beispiel für eine Versionszeichenfolge

Das Folgende ist ein Beispiel für eine Versionszeichenfolge, die in eine OpenSSH Binärdatei eingebettet ist.

OpenSSH_9.9p2

Die Version 9.9p2 wird extrahiert, um die OpenSSH Version zu identifizieren.

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL fürOpenSSH.

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

Sammlung des OpenSSL-Ökosystems

Unterstützte Anwendungen

Die Support für OpenSSL-Bibliotheken und Entwicklungspakete ist auf Software beschränkt, die mit offiziellem OpenSSL für 3.0.0-Versionen und höher erstellt wurde. Die Software muss außerdem der semantischen Versionierung folgen. Benutzerdefinierte oder geforkte OpenSSL-Varianten und Versionen unter 3.0.0 werden nicht unterstützt.

Der Amazon Inspector SBOM Generator extrahiert wichtige Paketinformationen für jede installierte OpenSSL-Instance.

Schlüssel-Features
  • Extrahiert die Basiszeichenfolge der SEMVER-Version aus der OpenSSL-Header-Datei

  • Identifiziert den Verzeichnispfad, der die OpenSSL-Installation enthält

Der Amazon Inspector SBOM Generator sucht nach OpenSSL-Installationen, indem er plattformübergreifend in gängigen Installationspfaden nach der opensslv.h Datei sucht.

Beispiel für einen Installationspfad für Linux/Unix

Im Folgenden finden Sie ein Beispiel für einen Installationspfad für 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

Der Amazon Inspector SBOM Generator extrahiert Versionsinformationen, indem er die opensslv.h Datei analysiert und nach den Versionsdefinitionen sucht.

# define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 4 # define OPENSSL_VERSION_PATCH 0
Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für die OpenSSL-Version.

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

Oracle Database Server-Sammlung

Unterstützte Anwendungen
  • Oracle Database

Unterstützte Plattformen Linux
  • /opt/oracle

  • /u01/app/oracle

Anmerkung

Die Bewertung der Sicherheitslücke gilt nur für Oracle Datenbankserver Version 19 und höher.

Schlüssel-Features
  • Untersucht Oracle Binärdateien, um eingebettete Versionsinformationen zu extrahieren.

  • Sucht im .rodata Abschnitt der ausführbaren Binärdatei nach Versionszeichenfolgen (für ELF-Binärdateien aktiviertLinux).

  • Versionsinformationen folgen einem bestimmten Format, das die RDBMS-Versionszeichenfolge enthält.

Beispiel für eine Versionszeichenfolge

Das Folgende ist ein Beispiel für eine Versionszeichenfolge, die in eine Oracle Database Binärdatei eingebettet ist:

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

Die Version 23.7.0.25.01 wird extrahiert, um die Oracle Database Version zu identifizieren.

Beispiel für eine PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL fürOracle Database.

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

PHPSammlung von Ökosystemen

Unterstützte Anwendungen
  • PHP(Version 8.1 und höher)

Schlüssel-Features
  • Extrahiert Versionsinformationen aus ausführbaren PHP Binärdateien mithilfe eingebetteter Versionszeichenfolgen.

  • Identifiziert den Verzeichnispfad, der die PHP Binärdatei enthält.

  • Erkennt automatisch sowohl PHP Standardbinärdateien als auch versionierte Installationen wie php8.1php8.2, und. php8.3

Der Amazon Inspector SBOM Generator sucht plattformübergreifend nach PHP Installationen in gemeinsamen Installationspfaden:

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(versionierte Binärdateien)

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(versionierte Verzeichnisse)

Beispiel für eine PHP Versionsextraktion

Der Amazon Inspector SBOM Generator extrahiert Versionsinformationen aus PHP Binärdateien, indem er nach eingebetteten Versionszeichenfolgen nach dem folgenden Muster sucht.

X-Powered-By: PHP/8.4.12

8.4.12wird aus diesem Muster extrahiert, um die Version zu identifizieren. PHP

Beispiel PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für ein PHP Muster.

pkg:generic/php/php@8.4.12

WordPressSammlung von Ökosystemen

Unterstützte Komponenten
  • WordPress-Core

  • WordPressPlugins

  • WordPressThemen

Schlüssel-Features
  • WordPresscore — analysiert die /wp-includes/version.php Datei, um den Versionswert aus der Variablen $wp_version zu extrahieren.

  • WordPressplugins — analysiert die /wp-content/plugins/<WordPress Plugin>/readme.txt Datei oder /wp-content/plugins/<WordPress Plugin>/readme.md Datei, um das Stable Tag als Versionsstring zu extrahieren.

  • WordPressthemes — analysiert die /wp-content/themes/<WordPress Theme>/style.css Datei, um die Version aus den Versionsmetadaten zu extrahieren.

version.php-Beispieldatei

Das Folgende ist ein Beispiel für eine WordPress version.php Core-Datei.

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

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für WordPress Core.

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
readme.txt-Beispieldatei

Das Folgende ist ein Beispiel für eine WordPress readme.txt Plugin-Datei.

=== 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
Beispiel PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für ein WordPress Plugin.

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

Das Folgende ist ein Beispiel für eine WordPress style.css Theme-Datei.

/* 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 */
Beispiel PURL

Im Folgenden finden Sie ein Beispiel für eine Paket-URL für ein WordPress Thema.

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