View a markdown version of this page

Amazon Inspector SBOM Generator の包括的なエコシステムコレクション - Amazon Inspector

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon Inspector SBOM Generator の包括的なエコシステムコレクション

Amazon Inspector SBOM Generator は、ソフトウェア部品表 (SBOM) を作成し、オペレーティングシステムやプログラミング言語からサポートされているパッケージの脆弱性スキャンを実行するためのツールです。コアオペレーティングシステム以外にもさまざまなエコシステムのスキャンをサポートし、インフラストラクチャコンポーネントの堅牢で詳細な分析を実現します。SBOM を生成することで、最新のテクノロジースタックの構成を理解し、エコシステムコンポーネントの脆弱性を特定し、サードパーティーソフトウェアを可視化できます。

サポートされているエコシステム

エコシステムコレクションにより、SBOM 生成は OS パッケージマネージャーを通じてインストールされたパッケージ以外にも拡張されます。これは、手動インストールなどの代替的な方法でデプロイされたアプリケーションを収集することで行われます。Amazon Inspector SBOM Generator は、次のエコシステムのスキャンをサポートしています。

エコシステム アプリケーション

7-Zip

7-Zip アーカイブ (バージョン 21.07 以降)

Apache

Apache httpd

Apache tomcat

Atlassian

Jira Core

Confluence

Jira Software

Jira Service Management

Curl

Curl

Libcurl

Elasticsearch Elasticsearch

Google

Chrome

HuggingFace

HuggingFace CLI Models Cache

Java

JDK

JRE

Amazon Corretto

Jenkins

Jenkins (バージョン 2.400.* 以降)

MariaDB および MySQL

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

Oracle MySQL Server Server (8.0、8.4、9.4 以降)

Microsoft applications

PowerShell

NuGet CLI

Visual Studio Code

Microsoft Edge

SharePoint Server

Microsoft Defender

Exchange Server

Visual Studio

.NET 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 (バージョン 9 および 10)

OpenSSL

OpenSSL

Oracle

Oracle Database Server

PHP

PHP (バージョン 8.1 以降)

Redis

Redis (バージョン 7.2 以降)

WordPress

core

plugin

theme

7-Zip エコシステムコレクション

サポートされているアプリケーション
  • 7 Zip アーカイブ (バージョン 21.07 以降)

主な特徴
  • 7-Zip バイナリを調べて、埋め込みバージョン情報を抽出します。

注記

具体的には、バイナリから製品バージョン値を検索します。

サポートされているプラットフォーム – Windows
  • C:/Program Files/7-Zip/7z.exe

  • C:/Program Files/7-Zip/7za.exe

  • C:/Program Files/7-Zip/7zz.exe

  • C:/Program Files/7-Zip/7zr.exe

  • C:/Program Files (x86)/7-Zip/7z.exe

  • C:/Program Files (x86)/7-Zip/7za.exe

  • C:/Program Files (x86)/7-Zip/7zz.exe

  • C:/Program Files (x86)/7-Zip/7zr.exe

PURL の例

以下は、 7-Zip のパッケージ URL の例です。

pkg:generic/7zip/7zip@25.01

Apache エコシステムコレクション

このセクションでは、httpd Apache および Apache tomcat アプリケーションについて詳しく説明します。

Apache httpd

サポートされているアプリケーション
  • Apache httpd

注記

脆弱性評価は Apache httpd バージョン 2.0 以降にのみ適用されます。

主な特徴
  • /include/ap_release.h ファイルを解析して、メジャー識別子文字列、マイナー識別子文字列、パッチ識別子文字列を含むインストールマクロを抽出します。

サポートされているプラットフォーム

Amazon Inspector SBOM Generator は、プラットフォーム間で共通のインストールパスにあるインストールをスキャンします。

Unix
  • /usr/local/apache2/include/

Windows
  • /Apache24/include/

  • /Program Files/Apache24/include/

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

ap_release.h ファイルの例

以下は、ap_release.h ファイルの内容の例です。

//truncated #define AP_SERVER_BASEVENDOR "Apache Software Foundation" #define AP_SERVER_BASEPROJECT "Apache HTTP Server" #define AP_SERVER_BASEPRODUCT "Apache" #define AP_SERVER_MAJORVERSION_NUMBER 2 #define AP_SERVER_MINORVERSION_NUMBER 4 #define AP_SERVER_PATCHLEVEL_NUMBER 1 #define AP_SERVER_DEVBUILD_BOOLEAN 0 //truncated
PURL の例

以下は、Apache httpd アプリケーションのパッケージ URL の例です。

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

Apache tomcat

サポートされているアプリケーション
  • Apache tomcat

注記

脆弱性評価は Apache tomcat バージョン 9.0 以降にのみ適用されます。

主な特徴
  • catalina.jar ファイルを解凍して、バージョン文字列を含む META-INF/MANIFEST.MF ファイル内のインストールマクロを抽出します。

サポートされているプラットフォーム

Amazon Inspector SBOM Generator は、プラットフォーム間で共通のインストールパスにあるインストールをスキャンします。

Linux
  • /opt/tomcat/lib/

  • /usr/share/tomcat/lib

  • /var/lib/tomcat/lib/

macOS
  • /Library/Tomcat/lib/

  • /usr/local/tomcat/lib

Windows
  • /Program Files/Apache Software Foundation

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

catalina.jar/META-INF/MANIFEST.MF ファイルの例

以下は catalina.jar/META-INF/MANIFEST.MF 設定ファイルの内容の例です。

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

以下は、Apache tomcat アプリケーションのパッケージ URL の例です。

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

Atlassian エコシステムコレクション

このセクションでは、Atlassianサーバー製品とアプリケーションの詳細について説明します。

Atlassian Server Products

サポートされているアプリケーション
  • Jira Core

  • Confluence

主な特徴
  • Jira Core – から Maven POM プロパティを解析atlassian-jira-webappしてバージョン情報を抽出します。

  • Confluence – から Maven POM プロパティを解析confluence-webappしてバージョン情報を抽出します。

サポートされているプラットフォーム

Amazon Inspector SBOM Generator は、一般的なインストールパスのインストールをスキャンします。

Linux
  • /opt/atlassian/jira/atlassian-jira/META-INF/maven/com.atlassian.jira/atlassian-jira-webapp/pom.properties

  • /opt/atlassian/confluence/confluence/META-INF/maven/com.atlassian.confluence/confluence-webapp/pom.properties

PURL の例

Atlassian サーバー製品のパッケージ URLsを次に示します。

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

Atlassian Applications

サポートされているアプリケーション
  • Jira Software

  • Jira Service Management

主な特徴
  • Jira Software – jira-software-application JAR 経由で検出し、Maven POM プロパティからバージョンを抽出します。

  • Jira Service Management – jira-servicedesk-application JAR 経由で検出し、Maven POM プロパティからバージョンを抽出します。

サポートされているプラットフォーム

Amazon Inspector SBOM Generator は、一般的なインストールパスのインストールをスキャンします。

Linux
  • /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/jira-software-application/jira-software-application-*.jar

  • /opt/atlassian/jira/atlassian-jira/WEB-INF/application-installation/jira-servicedesk-application/jira-servicedesk-application-*.jar

PURL の例

Atlassian アプリケーションのパッケージ URLs の例を次に示します。

// Jira Software pkg:generic/atlassian/jira-software@10.3.9?distro=linux // Jira Service Management pkg:generic/atlassian/jira-service-management@10.3.9?distro=linux

Curl エコシステムコレクション

このセクションでは、 Curl および Libcurlアプリケーションについて詳しく説明します。

Curl

サポートされているアプリケーション
  • Curl

サポートされているプラットフォーム
  • Unix – Linux および macOS

    • /usr/local/bin/curl

主な機能 – Curl
  • curl バイナリを調べて、埋め込みバージョン情報を抽出します。

注記

具体的には、バイナリ実行可能ファイル.rodataセクション (Linux の ELF バイナリの場合)、.rdataセクション (Windows の PE バイナリの場合)、または __cstring セクション (macOS の MachO バイナリの場合) でバージョン文字列を検索します。

Curl version string

以下は、Curlバイナリに埋め込まれたバージョン文字列の例です。

curl/8.14.1

バージョン8.14.1は文字列から抽出され、Curlバージョンを識別します。

PURL の例 (URL)

次は、Curl バージョンファイルのパッケージ URL の例です。

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

Libcurl

サポートされているアプリケーション
  • Libcurl

サポートされているプラットフォーム
  • Unix – Linux および macOS

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

主な機能 – Libcurl
  • を調べcurlver.hて、 の埋め込みバージョン情報を抽出しますLibcurl。

注記

具体的には、定義された LIBCURL_VERSION_MAJOR、、LIBCURL_VERSION_MINORおよび LIBCURL_VERSION_PATCH変数からバージョンを抽出します。

Libcurl version string

curlver.h ファイルのバージョン変数の例を次に示します。

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

バージョン8.14.1は、Libcurlバージョンを識別するためにこれらの行から抽出されます。

PURL の例 (Libcurl)

次は、Libcurl バージョンファイルのパッケージ URL の例です。

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

Elasticsearch エコシステムコレクション

サポートされているアプリケーション
  • Elasticsearch

注記

脆弱性評価はElasticsearchバージョン 7.17.0 にのみ適用されます。

主な特徴
  • Versionelasticsearch-<specific.version>.jarファイルを解凍して、Elasticsearchバージョン文字列を含むMETA-INF/MANIFEST.MFファイル内のインストールマクロを抽出します。

サポートされているプラットフォーム
  • Linux/etc/elasticsearch/lib/opt/elasticsearch/lib/、および /usr/share/elasticsearch/lib/

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

  • Windows/elasticsearch//Program Files (x86)/Elastic/elasticsearch/lib/、および /Program Files/Elastic/elasticsearch/lib/

elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF ファイルの例

elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF ファイルの例を次に示します。

//truncated Manifest-Version: 1.0 Module-Origin: git@github.com:elastic/elasticsearch.git X-Compile-Elasticsearch-Version: 8.19.0-SNAPSHOT X-Compile-Lucene-Version: 9.12.1 X-Compile-Elasticsearch-Snapshot: true //truncated
PURL の例

elasticsearch-<specific.version>.jar/META-INF/MANIFEST.MF ファイルのパッケージ URL の例を次に示します。

pkg:generic/elastic/elasticsearch@8.19.0-SNAPSHOT

Google エコシステムコレクション

サポートされているアプリケーション
  • Google Chrome

  • Puppeteer (puppeteer ライブラリをサポートします。puppeteer-core は含まれません)

注記

Puppeteer は puppeteer ライブラリをサポートします。 Puppeteer core は含まれません。

サポートされているアーティファクト

Amazon Inspector は、以下から Google Chrome 情報を収集します。

  • chrome/VERSION ファイル (ビルドソース)

  • chrome.exe ファイル (Windows Chrome インストール)

  • puppeteer ファイル (インストール)

サポートされているアーティファクトごとに、 Sbomgen は chrome ファイルまたは puppeteer ファイルを解析して収集します。puppeteer インストールの場合、対応する Chromium バージョンは puppeteer バージョンに基づいて収集されます。詳細については、Puppeteer ウェブサイトの「サポートされているブラウザ」を参照してください。

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 環境変数が true に設定されている場合、評価はスキップされ、skip_chromium_download=true 修飾子が Puppeteer パッケージ URL に追加されます。

chrome/VERSION バージョンファイルの例

次は、chrome/VERSION バージョンファイルの例です。

MAJOR=130 MINOR=0 BUILD=6723 PATCH=58
PURL の例

次は、chrome/VERSION バージョンファイルのパッケージ URL の例です。

Sample PURL: pkg:generic/google/chrome@131.0.6778.87
puppeteer バージョンファイルの例

次は、puppeteer バージョンファイルの例です。

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

次は、puppeteer バージョンファイルのパッケージ URL の例です。

Sample PURL: pkg:generic/google/puppeteer@23.9.0
PURL の例

次は、puppeteer バージョンファイルのスキップ修飾子を含むパッケージ URL の例です。

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

HuggingFace エコシステムコレクション

サポートされているアプリケーション
  • HuggingFace hf CLI

主な特徴
  • によってインストールされたローカルにキャッシュされた AI/ML モデルを抽出します HuggingFace

  • HuggingFace パッケージ URLsを生成します

  • を使用してダウンロードされたモデルはhf download --local-dir、現在サポートされていません

パスの例

キャッシュされたHuggingFaceモデルパスの例を次に示します。

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

以下は、HuggingFaceモデルのパッケージ URL の例です。コンポーネントタイプは ですmachine-learning-model

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

Java エコシステムコレクション

サポートされているアプリケーション
  • Oracle JDK

  • Oracle JRE

  • Amazon Corretto

主な特徴
  • Java インストールの文字列を抽出します。

  • Java ランタイムを含むディレクトリパスを識別します。

  • ベンダーを Oracle JDK、Oracle JRE、および Amazon Corretto として識別します。

Amazon Inspector SBOM Generator は、次のインストールパスとプラットフォーム全体の Java インストールをスキャンします。

  • macOS: /Library/Java/JavaVirtualMachines

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

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

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

Java バージョン情報の例

次は、Oracle Java リリースの例です。

// Amazon Corretto IMPLEMENTOR="Amazon.com Inc." IMPLEMENTOR_VERSION="Corretto-17.0.11.9.1" JAVA_RUNTIME_VERSION="17.0.11+9-LTS" JAVA_VERSION="17.0.11" JAVA_VERSION_DATE="2024-04-16" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.foreign jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom jdk.zipfs" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:7917f11551e8+" // JDK IMPLEMENTOR="Oracle Corporation" JAVA_VERSION="19" JAVA_VERSION_DATE="2022-09-20" LIBC="default" MODULES="java.base java.compiler java.datatransfer java.xml java.prefs java.desktop java.instrument java.logging java.management java.security.sasl java.naming java.rmi java.management.rmi java.net.http java.scripting java.security.jgss java.transaction.xa java.sql java.sql.rowset java.xml.crypto java.se java.smartcardio jdk.accessibility jdk.internal.jvmstat jdk.attach jdk.charsets jdk.zipfs jdk.compiler jdk.crypto.ec jdk.crypto.cryptoki jdk.dynalink jdk.internal.ed jdk.editpad jdk.hotspot.agent jdk.httpserver jdk.incubator.concurrent jdk.incubator.vector jdk.internal.le jdk.internal.opt jdk.internal.vm.ci jdk.internal.vm.compiler jdk.internal.vm.compiler.management jdk.jartool jdk.javadoc jdk.jcmd jdk.management jdk.management.agent jdk.jconsole jdk.jdeps jdk.jdwp.agent jdk.jdi jdk.jfr jdk.jlink jdk.jpackage jdk.jshell jdk.jsobject jdk.jstatd jdk.localedata jdk.management.jfr jdk.naming.dns jdk.naming.rmi jdk.net jdk.nio.mapmode jdk.random jdk.sctp jdk.security.auth jdk.security.jgss jdk.unsupported jdk.unsupported.desktop jdk.xml.dom" OS_ARCH="x86_64" OS_NAME="Darwin" SOURCE=".:git:53b4a11304b0 open:git:967a28c3d85f"
PURL の例

以下は、 Oracle Javaリリースのパッケージ URL の例です。

Sample PURL: # Amazon Corretto pkg:generic/amazon/amazon-corretto@21.0.3 # Oracle JDK pkg:generic/oracle/jdk@11.0.16 # Oracle JRE pkg:generic/oracle/jre@20

Jenkins エコシステムコレクション

サポートされているアプリケーション
  • Jenkins Core

注記

脆弱性評価はJenkinsバージョン 2.400.* 以降に適用されます。

主な特徴
  • バージョン文字列を含む META-INF/MANIFEST.M ファイルを読み取ることで、jenkins.warファイルからJenkinsバージョン情報を抽出します。

Amazon Inspector SBOM Generator は、プラットフォーム間の一般的なインストールパスで Jenkins のインストールを検索します。

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

  • /usr/share/java/jenkins.war

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

Windows
  • /Program Files/Jenkins/Jenkins.war

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

ファイルの例

以下は、さまざまなリリースのjenkins.war/META-INF/MANIFEST.MFファイルの例です。

Manifest-Version: 1.0 Created-By: Maven WAR Plugin 3.4.0 Build-Jdk-Spec: 21 Implementation-Title: Jenkins war Main-Class: executable.Main Implementation-Version: 2.516.2 Jenkins-Version: 2.516.2
Manifest-Version: 1.0 Jenkins-Version: 2.414.1 Implementation-Title: Jenkins Implementation-Version: 2.414.1 Built-By: kohsuke Created-By: Apache Maven 3.8.6
サンプル PURLs

以下は、JenkinsLTS リリースのバージョン 2.516.2 とJenkinsオートメーションサーバーリリースのバージョン 2.414 のパッケージ URLs です。

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

MariaDB およびMySQLエコシステムコレクション

MariaDB

サポートされているアプリケーション
  • MariaDB Server (10.6+、11.x、12.x)

主な特徴
  • データベース固有のパターンを使用して、データベースサーバーバイナリとヘッダーファイルからバージョン情報を抽出します。

  • データベースサーバーのインストールを含むディレクトリパスを識別します。

  • データ駆動型ファイルタイプ検出を使用して、 MariaDBと MySQLのインストールを自動的に区別します。

SBOM Generator は、プラットフォーム間の一般的なMariaDBインストールパスでインストールを検索します。

Linux
  • /usr/bin/mariadbd

  • /usr/sbin/mariadbd

  • /usr/local/bin/mariadbd

macOS
  • C:/Program Files (x86)/MariaDB/include/mysql/mariadb_version.h (MariaDB)

  • C:/Program Files/MariaDB/include/mysql/mariadb_version.h (MariaDB)

Windows
  • C:/Program Files (x86)/MariaDB/include/mysql/mariadb_version.h (MariaDB)

  • C:/Program Files/MariaDB/include/mysql/mariadb_version.h (MariaDB)

PURL の例

MariaDB サーバーのパッケージ URL の例を次に示します。

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

MySQL エコシステムコレクション

サポートされているアプリケーション
  • Oracle MySQL Server Server (8.0、8.4、9.4 以降)

主な特徴
  • データベース固有のパターンを使用して、データベースサーバーバイナリとヘッダーファイルからバージョン情報を抽出します。

  • データベースサーバーのインストールを含むディレクトリパスを識別します。

  • データ駆動型ファイルタイプ検出を使用して、 MySQLと MariaDBのインストールを自動的に区別します。

SBOM Generator は、プラットフォーム間の一般的なMySQLインストールパスでインストールを検索します。

Linux
  • /usr/local/bin/mysqld

  • /usr/bin/mysqld

  • /usr/sbin/mysqld

macOS
  • /usr/local/mysql/include/mysql_version.h (MySQL)

Windows
  • C:/Program Files/MySQL/MySQL Server/include/mysql_version.h (MySQL)

  • C:/Program Files (x86)/MySQL/MySQL Server/include/mysql_version.h (MySQL)

PURL の例

MySQL サーバーのパッケージ URL の例を次に示します。

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

Microsoft applications エコシステムコレクション

次の Microsoft アプリケーションは、Amazon Inspector SBOM ジェネレーターによってインベントリ化されています。Microsoft CVRF API の制限により、InspectorScan API の検出は、2021 年 (またはそれ以降) にリリースされたこれらのアプリケーションのバージョンでのみサポートされます。結果は Microsoft KBsまたは CVEs (該当する場合) にマッピングされます。

サポートされている Microsoft アプリケーション (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

主な特徴
  • PowerShell – pwsh.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • NuGet CLI – nuget.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • Visual Studio Code – Code.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • Microsoft Edge – msedge.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • SharePoint Server – Microsoft.SharePoint.dll ファイルを調べて、埋め込みバージョン情報を抽出します。

  • Microsoft Defender – MsMpEng.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • Exchange Server – Exsetup.exe ファイルを調べて、埋め込みバージョン情報を抽出します。

  • Visual Studio – state.jsonファイルを解析して、 catalogInfo.productDisplayVersionフィールドからバージョン文字列を取得します。

  • .NET Core Runtime – インストールパスでMicrosoft.NETCore.App.deps.jsonファイルを検索し、次のファイルパスパターンからバージョン文字列を抽出します。

    Microsoft.NETCore.App/<VERSION>/Microsoft.NETCore.App.deps.json
  • .NET Framework – Windows レジストリを解析し、ファイルメタデータを読み取り、インストールされている .NET Framework バージョンを検出します。スキャナーは、次のレジストリキーと値、および ファイルをチェックします。

    • Registry Key (<VERSION_SUB_KEY> は、、、 v3.5などの .NET Framework v2.0.50727バージョンを表しますv4\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 – .NET Framework バージョンがインストールされているかどうかを示します。

      • Version – インストールされた .NET Framework バージョン (バージョン 4.0 以前)

      • Release – インストールされている .NET Framework バージョン (バージョン 4.5 以降) にマッピングされるREG_DWORD値

    • DLL Files

      スキャナーは、 mscorlib.dllおよび からファイルバージョンを抽出しますSystem.dll。これらのファイルが存在する場合、ネストされたファイルコンポーネントとして SBOM に追加されます。.NET Framework バージョン 4.5 以降では、ファイルの中で最大のファイルバージョンがバージョンとして報告されます。

  • ASP.NET Core Runtime – インストールパスでMicrosoft.AspNetCore.App.deps.jsonファイルを検索し、次のファイルパスパターンからバージョン文字列を抽出します。

    Microsoft.AspNetCore.App/<VERSION>/Microsoft.AspNetCore.App.deps.json
  • Outlook for Windows – Windows レジストリを解析し、次のレジストリキーからバージョンを抽出します。

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\Microsoft.OutlookForWindows_<VERSION>_<ARCH>__8wekyb3d8bbwe
  • Microsoft Teams – Windows レジストリを解析し、次のレジストリキーからバージョンを抽出します。

    HKLM\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\PackageRepository\Packages\MSTeams_<VERSION>_<ARCH>__8wekyb3d8bbwee
  • Microsoft Office 365 / Microsoft 365 – Windows レジストリを解析し、次のレジストリキーと値からバージョンを抽出します。

    • レジストリキー

      HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
    • レジストリ値

      • VersionToReport – Microsoft Office バージョン

      • ProductReleaseIds – 製品 IDsのリスト。これは、インストールされている Office 製品を識別するために使用されます。製品 IDs「」を参照してください。 product IDs Microsoft

  • Microsoft Office Suite – 以下の実行可能ファイルを調べて、インストールされている各 Office アプリケーションを収集します。

    • EXCEL.EXE – Microsoft Excel

    • WINWORD.EXE – Microsoft Word

    • POWERPNT.EXE – Microsoft PowerPoint

    • OUTLOOK.EXE – Microsoft Outlook

    Windows レジストリのバージョン番号は、インストールされた各 Office アプリケーションの信頼できるバージョン番号として使用されます。

state.json ファイルの例

以下は、インストールされたVisual Studioバージョンの収集に使用するstate.jsonファイルの例です。

{ "icon": { "mimeType": "image/svg+xml", "fileName": "product.svg" }, "updateDate": "2025-11-06T05:05:35.6517471Z", "installDate": "2025-11-06T05:05:35.6527436Z", "enginePath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\Installer\\resources\\app\\ServiceHub\\Services\\Microsoft.VisualStudio.Setup.Service", "installationName": "VisualStudio/17.14.19+36623.8", "catalogInfo": { "id": "VisualStudio/17.14.19+36623.8", "buildBranch": "d17.14", "buildVersion": "17.14.36623.8", "localBuild": "build-lab", "manifestName": "VisualStudio", "manifestType": "installer", "productDisplayVersion": "17.14.19", // truncated

PURL の例

各 のパッケージ URL の例を次に示しますMicrosoft Applications。

// PowerShell Sample PURL: pkg:generic/microsoft/powershell@7.5.3 // NuGet CLI Sample PURL: pkg:generic/microsoft/nuget@6.14.0 // Visual Studio Code Sample PURL: pkg:generic/microsoft/visualstudiocode@1.104.2 // Microsoft Edge Sample PURL: pkg:generic/microsoft/edge@140.0.3485.94 // SharePoint Server Sample PURL: pkg:generic/microsoft/sharepoint@23.38.219.1 // Microsoft Defender Sample PURL: pkg:generic/microsoft/defender@4.18.23110.3 // Exchange Server Sample PURL: pkg:generic/microsoft/exchangeserver@15.2.2562.17 // Visual Studio Sample PURL: pkg:generic/microsoft/visualstudio@17.14.19 // .NET 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

MongoDB エコシステムコレクション

サポートされているアプリケーション
  • MongoDB Server (7.0+、8.0+)

主な特徴
  • mongod バイナリを調べて、埋め込まれたバージョン情報を抽出します。

注記

mongod バイナリのサイズは 200 MB を超える可能性があります。をスキャンするにはMongoDB、200 MB を超えるファイルを許可するように Amazon Inspector SBOM Generator ファイルサイズ制限を設定する必要があります。

Amazon Inspector SBOM Generator は、プラットフォーム間の一般的なMongoDBインストールパスでインストールを検索します。

Linux
  • /usr/bin/mongod

  • /usr/local/bin/mongod

macOS
  • /usr/local/bin/mongod

  • /opt/homebrew/bin/mongod

Windows
  • C:\Program Files\MongoDB\Server\bin\mongod.exe

PURL の例

以下は、 MongoDB Server のパッケージ URL の例です。

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

Nginx エコシステムコレクション

サポートされているアプリケーション
  • Nginx

サポートされているプラットフォーム

以下のプラットフォームがサポートされています。

Linux
  • /usr/sbin/nginx

  • /usr/local/nginx

  • /usr/local/etc/nginx

  • /usr/local/nginx/nginx

  • /usr/local/nginx/sbin/nginx

  • /etc/nginx/nginx

Server
  • C:\nginx\nginx.exe

  • C:\nginx-x.y.z\nginx.exe (x.y.z は任意のバージョン)

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

主な特徴

このコレクションでは、バイナリを調べて埋め込まれたバージョン情報を抽出します。バイナリ実行可能ファイルの .rodata セクション (Linux の ELF バイナリの場合)、.rdata セクション (Windows の PE バイナリの場合)、または __ctring セクション (MachO バイナリの場合) でバージョン文字列を検索します。

バージョン文字列の例

以下は、 Nginx バイナリに埋め込まれたバージョン文字列の例です。

nginx version: nginx/1.27.5

バージョン 1.27.5 が抽出され、Nginx バージョンが識別されます。

PURL の例

次は、Nginx のパッケージ URL の例です。

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

Node.JS ランタイムコレクション

サポートされているアプリケーション
  • Node.JS のノードランタイムバイナリ

サポートされているプラットフォーム

サポートされているプラットフォームは次のとおりです (* は任意のバージョンです)。

Linux
  • /usr/local/bin/node

  • /usr/bin/node

  • /nodejs/bin/node

  • ~/.nvm/versions/node/*/bin/node

  • ~/.local/share/fnm/node-versions/*/installation/bin/node

  • ~/.asdf/installs/nodejs/*/bin/node

  • ~/.local/share/mise/installs/node/*/bin/node

  • ~/.volta/tools/image/node/*/bin/node

Server
  • C:\Program Files\nodejs\node.exe

  • C:\Program Files (x86)\nodejs\node.exe

  • ~\AppData\Roaming\fnm\node-versions\*\installation\node.exe

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

主な特徴

このコレクションでは、バイナリを調べて埋め込まれたバージョン情報を抽出します。バイナリ実行可能ファイルの .rodata セクション (Linux の ELF バイナリの場合)、.rdata セクション (Windows の PE バイナリの場合)、または __ctring セクション (MachO バイナリの場合) でバージョン文字列を検索します。

バージョン文字列の例

以下は、Node.JSランタイムバイナリに埋め込まれたバージョン文字列の例です。

node.js/v24.11.1

バージョン24.11.1が抽出され、Node.JSランタイムバージョンが識別されます。

PURL の例

以下は、 Node.JS のパッケージ URL の例です。

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

OpenSSH エコシステムコレクション

サポートされているアプリケーション
  • OpenSSH (バージョン 9)

  • OpenSSH (バージョン 10)

サポートされているプラットフォーム: Linux/macOS
  • /usr/sbin/sshd

  • /usr/local/sbin/sshd

サポートされているプラットフォーム: Windows
  • C:/Windows/System32/OpenSSH/sshd.exe

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

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

  • C:/OpenSSH/sshd.exe

主な特徴
  • sshd バイナリを調べて埋め込まれたバージョン情報を抽出します。

  • バイナリ実行可能ファイルの .rodata セクション (Linux の ELF バイナリの場合)、__cstring セクション (MacOs の Mach-O バイナリの場合)、または .rdata セクション (Windows の PE バイナリの場合) でバージョン文字列を検索します。

バージョン文字列の例

以下は、 OpenSSH バイナリに埋め込まれたバージョン文字列の例です。

OpenSSH_9.9p2

バージョン 9.9p2 が抽出され、OpenSSH バージョンが識別されます。

PURL の例

以下は、 OpenSSH のパッケージ URL の例です。

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

OpenSSL エコシステムコレクション

サポートされているアプリケーション

OpenSSL ライブラリと開発パッケージのサポートは、公式 OpenSSL の 3.0.0 以降のリリースで構築されたソフトウェアに限定されます。また、ソフトウェアはセマンティックバージョニングに従う必要があります。カスタムまたはフォークされた OpenSSL バリアントと 3.0.0 より前のバージョンはサポートされていません。

Amazon Inspector SBOM Generator は、インストールされた各 OpenSSL インスタンスのキーパッケージ情報を抽出します。

主な特徴
  • OpenSSL ヘッダーファイルから基本 SEMVER バージョン文字列を抽出します

  • OpenSSL インストールを含むディレクトリパスを識別します

Amazon Inspector SBOM Generator は、プラットフォーム間で共通のインストールパスにある opensslv.h ファイルをスキャンして、OpenSSL のインストールを検索します。

Linux/Unix のインストールパスの例

次は、Linux/Unix のインストールパスの例です。

/usr/local/include/openssl/opensslv.h /usr/local/ssl/include/openssl/opensslv.h /usr/local/openssl/include/openssl/opensslv.h /usr/local/opt/openssl/include/openssl/opensslv.h /usr/include/openssl/opensslv.h

Amazon Inspector SBOM Generator は、opensslv.hファイルを解析してバージョン定義を見つけることで、バージョン情報を抽出します。

# define OPENSSL_VERSION_MAJOR 3 # define OPENSSL_VERSION_MINOR 4 # define OPENSSL_VERSION_PATCH 0
PURL の例

次は、OpenSSL バージョンのパッケージ URL の例です。

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

Oracle データベースサーバーコレクション

サポートされているアプリケーション
  • Oracle Database

サポートされているプラットフォーム: Linux
  • /opt/oracle

  • /u01/app/oracle

注記

脆弱性評価は Oracle データベースサーバーのバージョン 19 以降にのみ適用されます。

主な特徴
  • Oracle バイナリを調べて、埋め込まれたバージョン情報を抽出します。

  • バイナリ実行可能ファイルの .rodata セクション (Linux の ELF バイナリの場合) でバージョン文字列を検索します。

  • バージョン情報は、RDBMS バージョン文字列を含む特定の形式に従います。

バージョン文字列の例

以下は、 Oracle Database バイナリに埋め込まれたバージョン文字列の例です。

RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304

バージョン 23.7.0.25.01 が抽出され、Oracle Database バージョンが識別されます。

PURL の例

以下は、 Oracle Database のパッケージ URL の例です。

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

PHP エコシステムコレクション

サポートされているアプリケーション
  • PHP (バージョン 8.1 以降)

主な特徴
  • 埋め込みバージョン文字列を使用して、PHPバイナリ実行可能ファイルからバージョン情報を抽出します。

  • PHP バイナリを含むディレクトリパスを識別します。

  • 標準PHPバイナリとphp8.1、、、 などのバージョン管理されたインストールの両方を自動的に検出しますphp8.2php8.3

Amazon Inspector SBOM Generator は、プラットフォーム間の一般的なPHPインストールパスでインストールを検索します。

Linux
  • usr/bin/php8.1 through /usr/bin/php8.9

  • /usr/sbin/php8.1 through /usr/sbin/php8.9

  • /usr/local/bin/php, /usr/bin/php, /usr/sbin/php

  • /usr/local/bin/php8.1 through /usr/local/bin/php8.9 (バージョン管理されたバイナリ)

macOS
  • /opt/homebrew/bin/php

  • /usr/bin/php

  • /usr/local/bin/php

Windows
  • C:/php/php.exe

  • C:/php8.1/php.exe through C:/php8.9/php.exe (バージョニングされたディレクトリ)

PHP バージョン抽出の例

Amazon Inspector SBOM Generator は、次のパターンを使用して埋め込みバージョン文字列を検索することでPHP、バイナリからバージョン情報を抽出します。

X-Powered-By: PHP/8.4.12

8.4.12 は、このパターンから抽出され、PHPバージョンを識別します。

PURL の例

PHP パターンのパッケージ URL の例を次に示します。

pkg:generic/php/php@8.4.12

Redis エコシステムコレクション

サポートされているアプリケーション
  • Redis (バージョン 7.2 以降)

主な特徴
  • 埋め込みバージョン文字列を使用して、Redisredis-serverバイナリ実行可能ファイルからバージョン情報を抽出します。

  • バイナリ実行可能ファイル.rodataセクション ( の ELF バイナリの場合Linux) または__cstringセクション ( の Mach-O バイナリの場合) でバージョン文字列を検索しますmacOS。

Amazon Inspector SBOM Generator は、プラットフォーム間の一般的なRedisインストールパスでインストールを検索します。

Linux
  • /usr/bin/redis-server

  • /usr/local/bin/redis-server

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

  • /usr/local/bin/redis-server

バージョン文字列の例

以下は、Redisバイナリに埋め込まれたバージョン文字列の例です。

redis-7.2.6

バージョン 7.2.6 が抽出され、Redis バージョンが識別されます。

PURL の例

以下は、 Redis のパッケージ URL の例です。

pkg:generic/redis/redis@7.2.6

WordPress エコシステムコレクション

サポートされているコンポーネント
  • WordPress コア

  • WordPress プラグイン

  • WordPress テーマ

主な特徴
  • WordPress コア – /wp-includes/version.php ファイルを解析して $wp_version 変数からバージョン値を抽出します。

  • WordPress プラグイン – /wp-content/plugins/<WordPress Plugin>/readme.txt ファイルまたは /wp-content/plugins/<WordPress Plugin>/readme.md ファイルを解析して、バージョン文字列として Stable タグを抽出します。

  • WordPress テーマ – /wp-content/themes/<WordPress Theme>/style.css ファイルを解析して、バージョンメタデータからバージョンを抽出します。

version.php ファイルの例

次は、 WordPress コア version.php ファイルの例です。

// truncated /** * The WordPress version string. * * Holds the current version number for WordPress core. Used to bust caches * and to enable development mode for scripts when running from the /src directory. * * @global string $wp_version */ $wp_version = '6.5.5'; // truncated
PURL の例

次は、WordPress コアのパッケージ URL の例です。

Sample PURL: pkg:generic/wordpress/core/wordpress@6.5.5
readme.txt ファイルの例

次は、 WordPress プラグイン readme.txt ファイルの例です。

=== Plugin Name === Contributors: (this should be a list of wordpress.org userid's) Donate link: https://example.com/ Tags: tag1, tag2 Requires at least: 4.7 Tested up to: 5.4 Stable tag: 4.3 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html // truncated
PURL の例

次は、WordPress プラグインのパッケージ URL の例です。

Sample PURL: pkg:generic/wordpress/plugin/exclusive-addons-for-elementor@1.0.0
style.css ファイルの例

次は、 WordPress テーマ style.css ファイルの例です。

/* Author: the WordPress team Author URI: https://wordpress.org Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography. Twenty Twenty-Four comes with style variations and full page designs to help speed up the site building process, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4. Requires at least: 6.4 Tested up to: 6.5 Requires PHP: 7.0 Version: 1.2 License: GNU General Public License v2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html Text Domain: twentytwentyfour Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news */
PURL の例

次は、WordPress テーマのパッケージ URL の例です。

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