

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Inspector SBOM 產生器
<a name="sbom-generator"></a>

 軟體物料清單 (SBOM) 是[建置軟體所需的元件、程式庫和模組的正式結構清單](https://docs.aws.amazon.com/whitepapers/latest/practicing-continuous-integration-continuous-delivery/software-bill-of-materials-sbom.html)。Amazon Inspector SBOM 產生器 (Sbomgen) 是一種產生 SBOM 的工具，用於封存、容器映像、目錄、本機系統，以及編譯Go和二進位檔。 Rust 會Sbomgen掃描包含已安裝套件相關資訊的檔案。當 Sbomgen找到相關檔案時，它會擷取套件名稱、版本和其他中繼資料。 Sbomgen 然後將套件中繼資料轉換為 CycloneDX SBOM。您可以使用 Sbomgen將 CycloneDX SBOM 產生為檔案或在 STDOUT 中產生，並將 SBOMs傳送至 Amazon Inspector 進行漏洞偵測。您也可以使用 Sbomgen做為 CI/CD 整合的一部分，以自動掃描容器映像做為部署管道的一部分。 [https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html](https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html)

## 支援的套件類型
<a name="sbomgen-supported"></a>

 Sbomgen 收集下列套件類型的庫存：
+  Alpine APK 
+  Debian/Ubuntu DPKG 
+  Red Hat RPM 
+  C\$1 
+  Go 
+  Java 
+  Node.js 
+  PHP 
+  Python 
+  Ruby 
+  Rust 

## 支援的容器映像組態檢查
<a name="sbomgen-supported-configuration"></a>

 Sbomgen 可以掃描獨立 Dockerfile，並從現有映像中建置歷史記錄，以解決安全問題。如需詳細資訊，請參閱 [Amazon Inspector Dockerfile 檢查](https://docs.aws.amazon.com/inspector/latest/user/dockerfile-checks.html)。

## 安裝 Sbomgen
<a name="install-sbomgen"></a>

 Sbomgen 僅適用於 Linux 作業系統。

 如果您想要Sbomgen分析本機快取映像，您必須Docker安裝 。 Docker 不需要分析匯出為遠端容器登錄檔中託管`.tar`檔案或映像的映像。

 Amazon Inspector 建議您Sbomgen從至少具有下列硬體規格的系統執行 ：
+ 4 倍核心 CPU
+ 8 GB RAM

**安裝 Sbomgen**

1.  從架構的正確 URL 下載最新的 Sbomgen zip 檔案：

    Linux AMD64：https：//[https://amazon-inspector-sbomgen.s3.amazonaws.com/latest/linux/amd64/inspector-sbomgen.zip](https://amazon-inspector-sbomgen.s3.amazonaws.com/latest/linux/amd64/inspector-sbomgen.zip) 

    Linux ARM64：https：//[https://amazon-inspector-sbomgen.s3.amazonaws.com/latest/linux/arm64/inspector-sbomgen.zip](https://amazon-inspector-sbomgen.s3.amazonaws.com/latest/linux/arm64/inspector-sbomgen.zip) 

    或者，您可以下載[舊版的 Amazon Inspector SBOM 產生器 zip 檔案](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator-versions.html)。

1.  使用下列命令解壓縮下載：

    `unzip inspector-sbomgen.zip` 

1.  檢查擷取目錄中是否有下列檔案：
   +  `inspector-sbomgen` – 這是您將執行以產生 SBOMs的工具。
   +  `README.txt` – 這是使用 的文件Sbomgen。
   +  `LICENSE.txt` – 此檔案包含 的軟體授權Sbomgen。
   +  `licenses` – 此資料夾包含 使用的第三方套件的授權資訊Sbomgen。
   +  `checksums.txt` – 此檔案提供Sbomgen工具的雜湊。
   +  `sbom.json` – 這是Sbomgen工具的 CycloneDX SBOM。
   +  `WhatsNew.txt` – 此檔案包含摘要的變更日誌，因此您可以快速檢視Sbomgen版本之間的主要變更和改進。

1.  （選用） 使用以下命令驗證工具的真實性和完整性：

    `sha256sum < inspector-sbomgen` 

   1.  比較結果與`checksums.txt`檔案的內容。

1.  使用下列命令將可執行檔許可授予工具：

    `chmod +x inspector-sbomgen` 

1.  使用以下命令確認 Sbomgen 已成功安裝：

    `./inspector-sbomgen --version` 

    您應該會看到類似以下的輸出：

    `Version: 1.X.X ` 

## 使用 Sbomgen
<a name="using-sbomgen"></a>

 本節說明使用 的不同方式Sbomgen。您可以透過Sbomgen內建範例進一步了解如何使用 。若要檢視這些範例，請執行 `list-examples`命令：

```
./inspector-sbomgen list-examples
```

### 產生容器映像的 SBOM 並輸出結果
<a name="w2aac37c11b7"></a>

 您可以使用 Sbomgen 為容器映像產生 SBOMs，並將結果輸出至檔案。您可以使用 `container`子命令啟用此功能。

**範例 命令**  
 在下列程式碼片段中，您可以將 *`image:tag`*取代為映像的 ID，並將 取代*`output_path.json`*為您要儲存的輸出路徑。

```
# generate SBOM for container image
./inspector-sbomgen container --image image:tag -o output_path.json
```

**注意**  
 掃描時間和效能取決於影像大小，以及層的數量。較小的影像不僅可以改善Sbomgen效能，還可以減少潛在的攻擊面。較小的映像也會改善映像建置、下載和上傳時間。

 Sbomgen 搭配 使用 時[https://docs.aws.amazon.com/inspector/v2/APIReference/API_scan_ScanSbom.html](https://docs.aws.amazon.com/inspector/v2/APIReference/API_scan_ScanSbom.html)，Amazon Inspector Scan API 不會處理包含超過 5，000 個套件SBOMs。在此案例中，Amazon Inspector Scan API 會傳回 HTTP 400 回應。

 如果映像包含大量媒體檔案或目錄，請考慮不使用 Sbomgen `--skip-files`引數。

**範例：常見錯誤案例**  
 由於下列錯誤，容器映像掃描可能會失敗：
+  `InvalidImageFormat` – 使用損毀的 TAR 標頭、資訊清單檔案或組態檔案掃描格式不正確的容器映像時發生。
+  `ImageValidationFailure` – 當容器映像元件的檢查總和或內容長度驗證失敗，例如不相符的內容長度標頭、不正確的資訊清單摘要或失敗的 SHA256 檢查總和驗證時，便會發生。
+  `ErrUnsupportedMediaType` – 當映像元件包含不支援的媒體類型時發生。如需有關支援的媒體類型的資訊，請參閱[支援的作業系統和媒體類型](https://docs.aws.amazon.com/inspector/latest/user/scanning-ecr.html#ecr-supported-media)。

 Amazon Inspector 不支援`application/vnd.docker.distribution.manifest.list.v2+json`媒體類型。不過，Amazon Inspector 支援資訊清單清單。掃描使用資訊清單清單的映像時，您可以明確指定要搭配 `--platform` 引數使用的平台。如果未指定引`--platform`數，Amazon Inspector SBOM Generator 會根據其執行所在的平台自動選取資訊清單。

### 從目錄和封存產生 SBOM
<a name="w2aac37c11b9"></a>

 您可以使用 從目錄和封存Sbomgen產生 SBOMs。您可以使用 `directory`或 `archive`子命令來啟用此功能。當您想要從專案資料夾產生 SBOM，例如下載的 git 儲存庫時，Amazon Inspector 建議使用此功能。

**範例命令 1**  
 下列程式碼片段顯示從目錄檔案產生 SBOM 的子命令。

```
# generate SBOM from directory
./inspector-sbomgen directory --path /path/to/dir -o /tmp/sbom.json
```

**範例命令 2**  
 下列程式碼片段顯示從封存檔案產生 SBOM 的子命令。唯一支援的封存格式為 `.zip`、 `.tar`和 `.tar.gz`。

```
# generate SBOM from archive file (tar, tar.gz, and zip formats only)
./inspector-sbomgen archive --path testData.zip -o /tmp/sbom.json
```

### 從 Go或Rust編譯的二進位檔產生 SBOM
<a name="w2aac37c11c11"></a>

 您可以使用 從編譯的 Rust Go和二進位檔Sbomgen產生 SBOMs。您可以透過 `binary`子命令啟用此靈活性：

```
./inspector-sbomgen binary --path /path/to/your/binary
```

### 從掛載磁碟區產生 SBOM
<a name="w2aac37c11c13"></a>

 您可以使用 Amazon Inspector SBOM 產生器從掛載磁碟區產生 SBOMs。您可以使用 `volume`子命令啟用此功能。當您想要分析儲存磁碟區時，建議您使用此功能，例如已掛載至系統的 Amazon EBS 磁碟區。與目錄子命令不同，掛載的磁碟區掃描會偵測作業系統套件和作業系統資訊。

 您可以掃描 Amazon EBS 磁碟區，方法是將其連接至已安裝 Amazon Inspector SBOM 產生器的 Amazon EC2 執行個體，並將其掛載在該執行個體上。對於其他 Amazon EC2 執行個體目前正在使用的 Amazon EBS 磁碟區，您可以建立磁碟區的 Amazon EBS 快照，然後從該快照建立新的 Amazon EBS 磁碟區以供掃描之用。如需 Amazon EBS 的詳細資訊，請參閱[《Amazon Elastic Block Store 使用者指南》中的什麼是 Amazon EBS？](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html)。 **

**範例 命令**  
 下列程式碼片段顯示從掛載磁碟區產生 SBOM 的子命令。`--path` 引數應指定掛載磁碟區的根目錄。

```
# generate SBOM from mounted volume
./inspector-sbomgen volume --path /mount/point/of/volume/root
```

**範例 命令**  
 下列程式碼片段顯示從掛載磁碟區產生 SBOM 的子命令，同時排除具有 `--exclude-suffix`引數的特定檔案路徑。當磁碟區包含大量檔案 （例如日誌檔案或媒體檔案） 時， `--exclude-suffix`引數特別有用。路徑以指定尾碼結尾的檔案和目錄將被排除在掃描之外，這可以減少掃描時間和記憶體使用量。

```
# generate SBOM from mounted volume with exclusions
./inspector-sbomgen volume --path /mount/point/of/volume/root \
--exclude-suffix .log \
--exclude-suffix cache
```

 目標磁碟區中的所有檔案路徑都會標準化為其原始路徑。例如，掃描掛載在 的磁碟區`/mnt/volume`，其中包含在 的檔案時`/mnt/volume/var/lib/rpm/rpmdb.sqlite`，路徑會在產生的 SBOM `/var/lib/rpm/rpmdb.sqlite`中標準化為 。

### 將 SBOM 傳送至 Amazon Inspector 以識別漏洞
<a name="w2aac37c11c15"></a>

 除了產生 SBOM 之外，您還可以使用來自 Amazon Inspector Scan API 的單一命令傳送 SBOM 以進行掃描。Amazon Inspector 會先評估 SBOM 的內容是否有漏洞，再將問題清單傳回 Sbomgen。根據您的輸入，問題清單可以顯示或寫入檔案。

**注意**  
 您必須具有具備 讀取許可 AWS 帳戶 的作用中 `InspectorScan-ScanSbom`，才能使用此功能。

 若要啟用此功能，請將 `--scan-sbom`引數傳遞給 Sbomgen CLI。您也可以將`--scan-sbom`引數傳遞至下列任何Sbomgen子命令：`archive`、`binary`、`container`、`directory`、`localhost`。

**注意**  
 Amazon Inspector Scan API 不會處理超過 5，000 個套件SBOMs。在此案例中，Amazon Inspector Scan API 會傳回 HTTP 400 回應。

 您可以使用下列 AWS CLI 引數，透過 AWS 設定檔或 IAM 角色向 Amazon Inspector 進行身分驗證：

```
--aws-profile profile
--aws-region region
--aws-iam-role-arn role_arn
```

 您也可以向 提供下列環境變數，向 Amazon Inspector 進行身分驗證Sbomgen。

```
AWS_ACCESS_KEY_ID=$access_key \
AWS_SECRET_ACCESS_KEY=$secret_key \
AWS_DEFAULT_REGION=$region \
./inspector-sbomgen arguments
```

 若要指定回應格式，請使用 `--scan-sbom-output-format cyclonedx`引數或 `--scan-sbom-output-format inspector`引數。

**範例命令 1**  
 此命令會為AlpineLinux最新版本建立 SBOM、掃描 SBOM，並將漏洞結果寫入 JSON 檔案。

```
./inspector-sbomgen container --image alpine:latest \
                          --scan-sbom \
                          --aws-profile your_profile \
                          --aws-region your_region \
                          --scan-sbom-output-format cyclonedx \
                          --outfile /tmp/inspector_scan.json
```

**範例命令 2**  
 此命令會使用 AWS 登入資料做為環境變數，向 Amazon Inspector 進行身分驗證。

```
AWS_ACCESS_KEY_ID=$your_access_key \
AWS_SECRET_ACCESS_KEY=$your_secret_key \
AWS_DEFAULT_REGION=$your_region \
./inspector-sbomgen container --image alpine:latest \
                          -o /tmp/sbom.json \
                          --scan-sbom \
                          --scan-sbom-output-format inspector
```

**範例命令 3**  
 此命令會使用 IAM 角色的 ARN 向 Amazon Inspector 進行身分驗證。

```
./inspector-sbomgen container --image alpine:latest \
                          --scan-sbom \
                          --aws-profile your_profile \
                          --aws-region your_region \
                          --outfile /tmp/inspector_scan.json
                          --aws-iam-role-arn arn:aws:iam::123456789012:role/your_role
```

### 使用其他掃描器來增強偵測功能
<a name="w2aac37c11c17"></a>

 Amazon Inspector SBOM 產生器會根據使用的命令套用預先定義的掃描器。

**預設掃描器群組**  
 每個 Amazon Inspector SBOM 產生器子命令會自動套用下列預設掃描器群組。
+  對於 `directory`子命令：二進位、programming-language-packages、Dockerfile 掃描器群組 
+  對於 `localhost`子命令：os、programming-language-packages、extra-ecosystems 掃描器群組 
+  對於 `container`子命令：os、programming-language-packages、extra-ecosystems、Dockerfile、二進位掃描器群組 

**特殊掃描器**  
 若要包含預設掃描器群組以外的掃描器，請使用 `--additional-scanners`選項，後面接著要新增的掃描器名稱。以下是示範如何執行此操作的範例命令。

```
# Add WordPress installation scanner to directory scan
./inspector-sbomgen directory --path /path/to/directory/ --additional-scanners wordpress-installation -o output.json
```

 以下是示範如何使用逗號分隔清單新增多個掃描器的範例命令。

```
./inspector-sbomgen container --image image:tag --additional-scanners scanner1,scanner2 -o output.json
```

### 透過調整要掃描的檔案大小上限來最佳化容器掃描
<a name="w2aac37c11c19"></a>

 當您分析和處理容器映像時， 預設會Sbomgen掃描 200 MB 或更少的檔案。大於 200 MB 的檔案很少包含套件中繼資料。當您清查超過 Rust 200MB 的 Go或二進位時，可能會遇到遺漏。若要調整大小限制，請使用 `--max-file-size`引數。這可讓您透過排除大型檔案，提高包含大型檔案的限制，並減少減少資源使用量的限制。

**範例**  
 下列範例示範如何使用 `--max-file-size`引數來增加檔案大小。

```
# Increase the file size limit to scan files up to 300 MB
./inspector-sbomgen container --image alpine:latest \
--outfile /tmp/sbom.json \
--max-file-size 300000000
```

 調整此設定有助於控制磁碟用量、記憶體使用量和整體掃描持續時間。

### 停用進度指示器
<a name="w2aac37c11c21"></a>

 Sbomgen 會顯示旋轉進度指示器，可能導致 CI/CD 環境中的斜線字元過多。

```
INFO[2024-02-01 14:58:46]coreV1.go:53: analyzing artifact
|
\
/
|
\
/
INFO[2024-02-01 14:58:46]coreV1.go:62: executing post-processors
```

 您可以使用 `--disable-progress-bar`引數停用進度指標：

```
./inspector-sbomgen container --image alpine:latest \
--outfile /tmp/sbom.json \
--disable-progress-bar
```

## 使用 驗證至私有登錄檔 Sbomgen
<a name="authenticating-private-registry"></a>

 透過提供私有登錄檔身分驗證憑證，您可以從私有登錄檔中託管的容器產生 SBOMs。您可以透過下列方法提供這些登入資料：

### 使用快取的登入資料進行驗證 （建議）
<a name="w2aac37c13b5"></a>

 對於此方法，您會向容器登錄檔進行身分驗證。例如，如果使用 Docker，您可以使用 Docker記錄命令向容器登錄檔進行身分驗證：`docker login`。

1.  驗證至您的容器登錄檔。例如，如果使用 Docker，您可以使用 Docker`login`命令向登錄檔進行身分驗證：

1.  驗證容器登錄檔之後，請在登錄檔中的容器映像Sbomgen上使用 。若要使用下列範例，請將 *`image:tag`*取代為要掃描的映像名稱：

```
./inspector-sbomgen container --image image:tag
```

### 使用互動式方法進行驗證
<a name="w2aac37c13b7"></a>

 對於此方法，請提供使用者名稱做為參數，並在需要時Sbomgen提示您輸入安全的密碼。

 若要使用下列範例，請將 *`image:tag`*取代為您要掃描的映像名稱，並將 取代*`your_username`*為可存取映像的使用者名稱：

```
./inspector-sbomgen container --image image:tag --username your_username
```

### 使用非互動式方法進行驗證
<a name="w2aac37c13b9"></a>

 對於此方法，請將您的密碼或登錄檔字符存放在 `.txt` 檔案中。

**注意**  
 目前的使用者應該只能讀取此檔案。檔案也應該包含單行密碼或字符。

 若要使用下列範例，請將 *`your_username`*取代為您的使用者名稱，*`password.txt`*將 取代為包含單行密碼或字符`.txt`的檔案，並將 *`image:tag`*取代為要掃描的影像名稱：

```
INSPECTOR_SBOMGEN_USERNAME=your_username \
INSPECTOR_SBOMGEN_PASSWORD=`cat password.txt` \
./inspector-sbomgen container --image image:tag
```

## 來自 的範例輸出 Sbomgen
<a name="sbom-examples"></a>

以下是使用 庫存之容器映像的 SBOM 範例Sbomgen。

### 容器映像 SBOM
<a name="container-sbom-example"></a>

```
{
  "bomFormat": "CycloneDX",
  "specVersion": "1.5",
  "serialNumber": "urn:uuid:828875ef-8c32-4777-b688-0af96f3cf619",
  "version": 1,
  "metadata": {
    "timestamp": "2023-11-17T21:36:38Z",
    "tools": [
      {
        "vendor": "Amazon Web Services, Inc. (AWS)",
        "name": "Amazon Inspector SBOM Generator",
        "version": "1.0.0",
        "hashes": [
          {
            "alg": "SHA-256",
            "content": "10ab669cfc99774786301a745165b5957c92ed9562d19972fbf344d4393b5eb1"
          }
        ]
      }
    ],
    "component": {
      "bom-ref": "comp-1",
      "type": "container",
      "name": "fedora:latest",
      "properties": [
        {
          "name": "amazon:inspector:sbom_generator:image_id",
          "value": "sha256:c81c8ae4dda7dedc0711daefe4076d33a88a69a28c398688090c1141eff17e50"
        },
        {
          "name": "amazon:inspector:sbom_generator:layer_diff_id",
          "value": "sha256:eddd0d48c295dc168d0710f70364581bd84b1dda6bb386c4a4de0b61de2f2119"
        }
      ]
    }
  },
  "components": [
    {
      "bom-ref": "comp-2",
      "type": "library",
      "name": "dnf",
      "version": "4.18.0",
      "purl": "pkg:pypi/dnf@4.18.0",
      "properties": [
        {
          "name": "amazon:inspector:sbom_generator:source_file_scanner",
          "value": "python-pkg"
        },
        {
          "name": "amazon:inspector:sbom_generator:source_package_collector",
          "value": "python-pkg"
        },
        {
          "name": "amazon:inspector:sbom_generator:source_path",
          "value": "/usr/lib/python3.12/site-packages/dnf-4.18.0.dist-info/METADATA"
        },
        {
          "name": "amazon:inspector:sbom_generator:is_duplicate_package",
          "value": "true"
        },
        {
          "name": "amazon:inspector:sbom_generator:duplicate_purl",
          "value": "pkg:rpm/fedora/python3-dnf@4.18.0-2.fc39?arch=noarch&distro=39&epoch=0"
        }
      ]
    },
    {
      "bom-ref": "comp-3",
      "type": "library",
      "name": "libcomps",
      "version": "0.1.20",
      "purl": "pkg:pypi/libcomps@0.1.20",
      "properties": [
        {
          "name": "amazon:inspector:sbom_generator:source_file_scanner",
          "value": "python-pkg"
        },
        {
          "name": "amazon:inspector:sbom_generator:source_package_collector",
          "value": "python-pkg"
        },
        {
          "name": "amazon:inspector:sbom_generator:source_path",
          "value": "/usr/lib64/python3.12/site-packages/libcomps-0.1.20-py3.12.egg-info/PKG-INFO"
        },
        {
          "name": "amazon:inspector:sbom_generator:is_duplicate_package",
          "value": "true"
        },
        {
          "name": "amazon:inspector:sbom_generator:duplicate_purl",
          "value": "pkg:rpm/fedora/python3-libcomps@0.1.20-1.fc39?arch=x86_64&distro=39&epoch=0"
        }
      ]
    }
  ]
}
```

# Amazon Inspector SBOM 產生器的先前版本
<a name="sbom-generator-versions"></a>

 本主題包含 Amazon Inspector SBOM 產生器最新版本和舊版的連結。如需安裝 Sbomgen 的相關資訊，請參閱[安裝 Sbomgen](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen)。


| 平台 | 版本 | SHA-256 檢查總和 | 
| --- | --- | --- | 
|   Linux AMD64   Linux ARM64   |   [1.12.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.12.1/linux/amd64/inspector-sbomgen.zip)   [1.12.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.12.1/linux/arm64/inspector-sbomgen.zip)   |   2d698b47d2a6ba0b431c1161bc1fba7bef4d9041546e624086d4b0dfff122a3f   c76fe1bd84ffe9270921df1d708fc0e49c53aa7717d29a90d5cec3cee772f0c2   | 
|   Linux AMD64   Linux ARM64   |   [1.12.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.12.0/linux/amd64/inspector-sbomgen.zip)   [1.12.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.12.0/linux/arm64/inspector-sbomgen.zip)   |   1112b395281ea5d67e20062429bf1603ba6456746d6941f2edfa0ee0812b34b6   25e618000ffc4aceaf002c2fa3e97d0564d376acc34e9e442cdd769f6c805248   | 
|   Linux AMD64   Linux ARM64   |   [1.11.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.2/linux/amd64/inspector-sbomgen.zip)   [1.11.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.2/linux/arm64/inspector-sbomgen.zip)   |   bef68671bc532e4fb529500b62d7af8360123cd967308d41ad0ce8f43f7762fb   4f11d7037efa443f442c4edf7ba28774c4fa706fb7622e4fba645bb3ad3958c9   | 
|   Linux AMD64   Linux ARM64   |   [1.11.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.1/linux/amd64/inspector-sbomgen.zip)   [1.11.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.1/linux/arm64/inspector-sbomgen.zip)   |   809eb7cb80d24fbf6ffdd124438d53a907632c222e924913ebd61044ca949490   057f9e4c9970aeda4bda0685e7e02436fd5223fbe81cec65138551c63ed77ba0   | 
|   Linux AMD64   Linux ARM64   |   [1.11.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.0/linux/amd64/inspector-sbomgen.zip)   [1.11.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.11.0/linux/arm64/inspector-sbomgen.zip)   |   5172a5556cf46f9fbc5cf1d35bd382919fb6b41aca1ec938db3a75530060b0cf   c9e2da7b076dc89dc39a962a7dd9c7d1fd29230a4eec7eb95f951d6a179093d0   | 
|   Linux AMD64   Linux ARM64   |   [1.10.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.10.1/linux/amd64/inspector-sbomgen.zip)   [1.10.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.10.1/linux/arm64/inspector-sbomgen.zip)   |   9e33622a7874adfe719ab7db75a1e44f4b5fae3573374068b501c89f0accfcfe   78d5a7f800fc26ba86adab5b634431a91c007075e06d6ce46e50687d5156184e   | 
|   Linux AMD64   Linux ARM64   |   [1.10.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.10.0/linux/amd64/inspector-sbomgen.zip)   [1.10.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.10.0/linux/arm64/inspector-sbomgen.zip)   |   0b7a553d7d2d17c40a62f1a11013bc46fa2c3814f407c11130e15af3fe313769   5ce9e315a4f8f90ff5eed7ab058efc8dbff6593d66d3fc455f1c37e882ec6466   | 
|   Linux AMD64   Linux ARM64   |   [1.9.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.9.1/linux/amd64/inspector-sbomgen.zip)   [1.9.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.9.1/linux/arm64/inspector-sbomgen.zip)   |   d0ef4c14fec6c42e70ae55b3e44d17d027132947596e8ef861c0efc3c0e5a871   2d8145011c13f5611fc30f4510785d53e98b911717f6dbe69616af4d4b0df61f   | 
|   Linux AMD64   Linux ARM64   |   [1.9.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.9.0/linux/amd64/inspector-sbomgen.zip)   [1.9.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.9.0/linux/arm64/inspector-sbomgen.zip)   |   78b377b2730eb15476173e40885454ae191e953663af3e0928dddfb8608f4655   985bdc06d25eccb87c4a81995c8a2d3c78e1c02beea309a620b2de4954767591   | 
|   Linux AMD64   Linux ARM64   |   [1.8.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.3/linux/amd64/inspector-sbomgen.zip)   [1.8.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.3/linux/arm64/inspector-sbomgen.zip)   |   54eed5a772f68320f3906bec5920e3a19da904abdace10f985b87859015eef89   febd74a397fb0cdd3356072503f08465ab872d1620d59a2ab7d83bdb076c929d   | 
|   Linux AMD64   Linux ARM64   |   [1.8.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.2/linux/amd64/inspector-sbomgen.zip)   [1.8.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.2/linux/arm64/inspector-sbomgen.zip)   |   2e4e3c754e230046349dd975feb48fa953ea5a2de190cbbc17c1c85043936b5a   449a49e222a2bdffe0353435d7b04b0556b35a391c7b9714ce46d1a5382bc3e2   | 
|   Linux AMD64   Linux ARM64   |   [1.8.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.1/linux/amd64/inspector-sbomgen.zip)   [1.8.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.1/linux/arm64/inspector-sbomgen.zip)   |   9ff7958e298d2b228b0c7617f0a9a873254587fc26aee9826c37273650b389e9   6737584fd2c7d24b56777d02846d1737f47d0121344baea217a3e5368fd98fcc   | 
|   Linux AMD64   Linux ARM64   |   [1.8.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.0/linux/amd64/inspector-sbomgen.zip)   [1.8.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.8.0/linux/arm64/inspector-sbomgen.zip)   |   ef32e7fb4ee0af1e47d6b528b47293fc7127c7a7539f7354e84452626a4c204d   0b82ddc691a517bb8fc6ccd67b80ca566b117a1bb410c05764c9b7e3ba76c510   | 
|   Linux AMD64   Linux ARM64   |   [1.7.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.3/linux/amd64/inspector-sbomgen.zip)   [1.7.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.3/linux/arm64/inspector-sbomgen.zip)   |   3fba95d44aaea55ad06d3c7635a671662c483474578376d3f11e84474f8de25f   1f4b52e3d80de87b92b563a78bac4a2d898e7af82db5b6791d899d516e97cfbb   | 
|   Linux AMD64   Linux ARM64   |   [1.7.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.2/linux/amd64/inspector-sbomgen.zip)   [1.7.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.2/linux/arm64/inspector-sbomgen.zip)   |   c44ba9bf1cfeb3ea2d6d0b15d25816800a5045a438474f2f77c390bac41ae4cb   d37c5b1605bf82260da0b0f36311c83b1646a4327c3fd8169ba4b3a978470c9c   | 
|   Linux AMD64   Linux ARM64   |   [1.7.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.1/linux/amd64/inspector-sbomgen.zip)   [1.7.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.1/linux/arm64/inspector-sbomgen.zip)   |   b0beb602a6ae439d4e307bd99682bc8a419fd7d5e78a278bfc718eb18e00b05e   95ff2d9df2fcd1982dd705df1e763f57a0b499b6fe06801e9a80869e2e464831   | 
|   Linux AMD64   Linux ARM64   |   [1.7.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.0/linux/amd64/inspector-sbomgen.zip)   [1.7.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.7.0/linux/arm64/inspector-sbomgen.zip)   |   a6316c2ecd5fde7091d1099335f45f0e2400b3977c92ee4d72bd1eb359320e61   9751ba5e5c6c6c0aef7d29b1c4adbd4088da3a07bb77eaa7de3f04aa33ad8562   | 
|   Linux AMD64   Linux ARM64   |   [1.6.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.3/linux/amd64/inspector-sbomgen.zip)   [1.6.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.3/linux/arm64/inspector-sbomgen.zip)   |   b6a309e879aaa78d7d8e224eb5214df5fd415244d370885e6c8876db5a4181d2   59ed0b7eb7d1eadadb691f058d32634a03a856ba03ac2ddb8cd3599ceb55cb9a   | 
|   Linux AMD64   Linux ARM64   |   [1.6.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.2/linux/amd64/inspector-sbomgen.zip)   [1.6.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.2/linux/arm64/inspector-sbomgen.zip)   |   8d8ba06535be614a4d44b1bd74c66d1fd4874ff9ab788ad5e23aa5229db9c687   2bd7b4a88b9c6b041a6ff82f7f9bc116b76cf410bf6eb896fc8d68e717b55f2a   | 
|   Linux AMD64   Linux ARM64   |   [1.6.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.1/linux/amd64/inspector-sbomgen.zip)   [1.6.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.1/linux/arm64/inspector-sbomgen.zip)   |   3e3d62dc794b31d9d2de1904592cf42f25e9f42c30eb90cc53385a60b42f1a63   ad89f670908fb0b48bca0242f3ac58e7179f6fabfcc9a2b3fd0e5c3d79e27539   | 
|   Linux AMD64   Linux ARM64   |   [1.6.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.0/linux/amd64/inspector-sbomgen.zip)   [1.6.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.6.0/linux/arm64/inspector-sbomgen.zip)   |   ffe671c2c1d1c2142a4af056d1c179eaffbc3925f5afaa6f3d655bd495ce5e1c   a733c0b00c7225369c68ad47c57846b4546e2c9f47580ab98394baefc765c134   | 
|   Linux AMD64   Linux ARM64   |   [1.5.5](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.5/linux/amd64/inspector-sbomgen.zip)   [1.5.5](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.5/linux/arm64/inspector-sbomgen.zip)   |   ebcfbe565631de5bc61b1d55d70a2d15b965f628678a2b60cffd01cd0c3443f1   a8e018ceee3a76dd4271f966015c216438b11ee807fcd970753e786baa335b56   | 
|   Linux AMD64   Linux ARM64   |   [1.5.4](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.4/linux/amd64/inspector-sbomgen.zip)   [1.5.4](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.4/linux/arm64/inspector-sbomgen.zip)   |   aa8c1ffacc563b87975497f53eddec0b29397a898fac19f4902b8acb7eeb347b   c6ba98d441aa88d3d3150449c098cd13ce3baeccee45ad4c9a1326f8bb8f87fc   | 
|   Linux AMD64   Linux ARM64   |   [1.5.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.3/linux/amd64/inspector-sbomgen.zip)   [1.5.3](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.3/linux/arm64/inspector-sbomgen.zip)   |   d493c23121101c9c3df888e717bf81d7f7b81809754f3492e1ae52f02b089b68   8dfa5c97b3bd45da487706e95d1894290f53b113247bbb89b9fac16dab8184b6   | 
|   Linux AMD64   Linux ARM64   |   [1.5.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.2/linux/amd64/inspector-sbomgen.zip)   [1.5.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.2/linux/arm64/inspector-sbomgen.zip)   |   ff6233d7da9f7e963589a0eb8f07bee2ca375360365cb6b6e354585cf1371910   fd31efb6031754b2bc8414d7fe9dd14a067767704145af0559b3500cc437c7ee   | 
|   Linux AMD64   Linux ARM64   |   [1.5.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.1/linux/amd64/inspector-sbomgen.zip)   [1.5.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.1/linux/arm64/inspector-sbomgen.zip)   |   391fcc52117fed79cae6e92a9e225732166a6df2582aa7f6b5230149761f6732   f9bc90d18724f93db0f5ca3b79136adb7b49fa33fa179a5e87b4d512f256b56b   | 
|   Linux AMD64   Linux ARM64   |   [1.5.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.0/linux/amd64/inspector-sbomgen.zip)   [1.5.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.5.0/linux/arm64/inspector-sbomgen.zip)   |   d7b6cb84053358e462d76488d019140ecd05ad405217a60a96b727fb062880fe   067dcf5c302160a5270f89aed3f941bb0571dcb8a59f75dddb1b7747c2a82ec7   | 
|   Linux AMD64   Linux ARM64   |   [1.4.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.4.0/linux/amd64/inspector-sbomgen.zip)   [1.4.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.4.0/linux/arm64/inspector-sbomgen.zip)   |   c8ca73761afd742e1deb98b04eb5714c9c2a574b652a763b18e23560e66aea24   188d9757782278653e65605aaf186feda104345ba2f9de438873e568f1ff6204   | 
|   Linux AMD64   Linux ARM64   |   [1.3.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.2/linux/amd64/inspector-sbomgen.zip)   [1.3.2](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.2/linux/arm64/inspector-sbomgen.zip)   |   57dd5d135600e84690706cfe95860e78149988d37cf81429ce97b9256d179fb4   91526ecdafc6cc3718fabe75b2693ace5effb9c0af3327b484b7f5a154929997   | 
|   Linux AMD64   Linux ARM64   |   [1.3.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.1/linux/amd64/inspector-sbomgen.zip)   [1.3.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.1/linux/arm64/inspector-sbomgen.zip)   |   097ec83907c459a36de11c92d016fffd64f1c33fd4bcbf2af465e0979b0d9237   aa93a3d402abc4a986a9ad9d3de8fcca81ee25a55596ac6dc4502ed1d6819502   | 
|   Linux AMD64   Linux ARM64   |   [1.3.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.0/linux/amd64/inspector-sbomgen.zip)   [1.3.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.3.0/linux/arm64/inspector-sbomgen.zip)   |   21439f92c314daf136832ca6676a65d288768aa69fc6dcd2014a3038b2701eeb   4a41779b0c3b32242eedef288de6c1bf40fda0d4246b32fd0cd8d4e51e58f94b   | 
|   Linux AMD64   Linux ARM64   |   [1.2.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.2.1/linux/amd64/inspector-sbomgen.zip)   [1.2.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.2.1/linux/arm64/inspector-sbomgen.zip)   |   e022e95e59f1790949bca8dbbb6478a5d3fb677ccd45aa4ba30ebd91ae86ad65   824acc5bb5b0210954fe9ab089d9461453a4975d34292cc0c676837c3a7279b4   | 
|   Linux AMD64   Linux ARM64   |   [1.2.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.2.0/linux/amd64/inspector-sbomgen.zip)   [1.2.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.2.0/linux/arm64/inspector-sbomgen.zip)   |   9625b1a8ae1937ca2179c2535a0ffceca934138e0b66feac9ba3e34ffaa22ec5   7f387e560b41571fb52efd9e620bf2b9e3a067ca781e88aaa977b2b8acdebf35   | 
|   Linux AMD64   Linux ARM64   |   [1.1.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.1.1/linux/amd64/inspector-sbomgen.zip)   [1.1.1](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.1.1/linux/arm64/inspector-sbomgen.zip)   |   6809b7e46675c66e3af354c53433dc46c4d1ddaf258e05ba15e38e784ea0285e   6361e59fb2448c66c4698ea33979ecaaefc2af4420034aabbbe741242f60dbdd   | 
|   Linux AMD64   Linux ARM64   |   [1.1.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.1.0/linux/amd64/inspector-sbomgen.zip)   [1.1.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.1.0/linux/arm64/inspector-sbomgen.zip)   |   f84c8815413d451490b38509950235f88713c0c61c7259a4831934995664bd8f   aaffefb5e44195dc55d5fd3289e511720f64c130644cbd58103cf7f36e96f058   | 
|   Linux AMD64   Linux ARM64   |   [1.0.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.0.0/linux/amd64/inspector-sbomgen.zip)   [1.0.0](https://amazon-inspector-sbomgen.s3.amazonaws.com/1.0.0/linux/arm64/inspector-sbomgen.zip)   |   cc126e24962f1a6497cf17679b3e3b73be68963c47e3968a56e73caacf045b5c   5d5bf97a4acfeaaa73ad6c918738188e0c822e475ef37a334e49d77ba907b08a   | 

# Amazon Inspector SBOM 產生器完整作業系統集合
<a name="sbom-generator-operating-system-collection"></a>

 Amazon Inspector SBOM Generator 會掃描不同的作業系統，以確保對系統元件進行強大且詳細的分析。產生 SBOM 可協助您了解作業系統的組成，因此您可以識別系統受管套件中的漏洞。本主題說明 Amazon Inspector SBOM 產生器支援的不同作業系統套件集合的主要功能。如需 Amazon Inspector 支援的作業系統相關資訊，請參閱 [Amazon Inspector 支援的作業系統和程式設計語言](https://docs.aws.amazon.com/inspector/latest/user/supported.html)。

## 支援的作業系統成品
<a name="w2aac37c21b7"></a>

 Amazon Inspector SBOM 產生器支援下列作業系統成品：


| 平台 | 二進位 | 來源 | 串流 | 
| --- | --- | --- | --- | 
|  Alma Linux  |  N/A  |  是  |  是  | 
|  Alpine Linux  |  是  |  是  |  N/A  | 
|  Amazon Linux  |  N/A  |  是  |  N/A  | 
|  CentOS  |  N/A  |  是  |  N/A  | 
|  Chainguard  |  是  |  是  |  N/A  | 
|  Debian  |  是  |  是  |  N/A  | 
|  Distroless  |  是  |  是  |  N/A  | 
|  Fedora  |  N/A  |  是  |  N/A  | 
|  MinimOS  |  是  |  是  |  N/A  | 
|  OpenSUSE  |  N/A  |  是  |  N/A  | 
|  Oracle Linux  |  N/A  |  是  |  N/A  | 
|  Photon OS  |  N/A  |  是  |  N/A  | 
|  RHEL  |  N/A  |  是  |  是  | 
|  Rocky Linux  |  N/A  |  是  |  是  | 
|  SLES  |  N/A  |  是  |  N/A  | 
|  Ubuntu  |  是  |  是  |  N/A  | 
|  Windows  |  N/A  |  N/A  |  N/A  | 

## 以 APK 為基礎的作業系統套件集合
<a name="w2aac37c21b9"></a>

 本節包含 APK型作業系統套件集合支援的平台和主要功能。如需詳細資訊，請參閱 Alpine Linux 網站上的 [Alpine Package Keeper](https://wiki.alpinelinux.org/wiki/Alpine_Package_Keeper)。

### 支援平台
<a name="w2aac37c21b9b5"></a>

 以下是支援的平台。
+  Alpine Linux 

**注意**  
 對於 APK型系統，Amazon Inspector SBOM 產生器會從 [https://wiki.alpinelinux.org/wiki/Apk_spec](https://wiki.alpinelinux.org/wiki/Apk_spec) 檔案收集套件中繼資料。

### 主要功能
<a name="w2aac37c21b9b7"></a>
+  **套件名稱集合** – 擷取每個已安裝套件的名稱 
+  **版本集合** – 擷取每個已安裝套件的版本 
+  **來源套件識別** – 識別每個已安裝套件的來源套件 

### 範例
<a name="w2aac37c21b9b9"></a>

 下列程式碼片段是 APK 資料庫檔案的範例。

```
C:Q1JlboSJkrN4qkDcokr4zenpcWEXQ=
P:zlib
V:1.2.13-r1
A:x86_64
S:54253
I:110592
T:A compression/decompression Library
U:https://zlib.net/
L:Zlib
o:zlib
```

## 以 DPKG 為基礎的作業系統套件集合
<a name="w2aac37c21c11"></a>

 本節包含 DPKG型作業系統套件集合支援的平台和主要功能。如需詳細資訊，請參閱 Debian 網站上的 [Debian 套件](https://wiki.debian.org/dpkg)。

### 支援平台
<a name="w2aac37c21c11b5"></a>

 支援下列平台。
+  Debian 
+  Ubuntu 

**注意**  
 對於 DPKG型系統，Amazon Inspector SBOM 產生器會從 [https://www.debian.org/doc/manuals/debian-reference/ch02.en.html](https://www.debian.org/doc/manuals/debian-reference/ch02.en.html) 檔案收集套件中繼資料。

### 主要功能
<a name="w2aac37c21c11b7"></a>

 以下是 DPKG型作業系統套件的主要功能。
+  **套件名稱集合** – 擷取每個已安裝套件的名稱 
+  **版本集合** – 擷取每個已安裝套件的版本 
+  **[來源套件識別](https://www.debian.org/doc/debian-policy/ch-source.html)** – 識別每個已安裝套件的來源套件 

### 範例
<a name="w2aac37c21c11b9"></a>

 下列程式碼片段是 `/var/lib/dpkg/` 檔案的範例。

```
Package: zlib1g
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 168
Maintainer: Mark Brown <broonie@debian.org>
Architecture: amd64
Multi-Arch: same
Source: zlib
Version: 1:1.2.13.dfsg-1
Provides: libz1
Depends: libc6 (>= 2.14)
Breaks: libxml2 (<< 2.7.6.dfsg-2), texlive-binaries (<< 2009-12)
Conflicts: zlib1 (<= 1:1.0.4-7)
Description: compression library - runtime
 zlib is a library implementing the deflate compression method found
 in gzip and PKZIP.  This package includes the shared library.
Homepage: http://zlib.net/
```

## 以 RPM 為基礎的作業系統套件集合
<a name="w2aac37c21c13"></a>

 本節包含 RPM型作業系統套件集合支援的平台和主要功能。如需詳細資訊，請參閱 RPM 網站上的 [RPM Package Manager](https://rpm.org/)。

### 支援平台
<a name="w2aac37c21c13b5"></a>

 支援下列平台。
+  Alma Linux 
+  Amazon Linux 
+  CentOS 
+  Fedora 
+  OpenSUSE 
+  Oracle Linux 
+  PhotonOS 
+  RedHat Enterprise Linux 
+  Rocky Linux 
+  SUSE Linux Enterprise Server 

**注意**  
 對於 RPM型系統，Amazon Inspector SBOM 產生器會從 [https://access.redhat.com/solutions/439953](https://access.redhat.com/solutions/439953) 檔案收集套件中繼資料。

### 主要功能
<a name="w2aac37c21c13b7"></a>

 以下是 RPM型作業系統套件集合的主要功能。
+  **套件名稱集合** – 擷取每個已安裝套件的名稱 
+  **版本集合** – 擷取每個已安裝套件的版本 
+  **[來源套件識別](https://www.debian.org/doc/debian-policy/ch-source.html)** – 識別每個已安裝套件的來源套件 
+  **[串流支援](https://www.redhat.com/en/blog/introduction-appstreams-and-modules-red-hat-enterprise-linux)** – 擷取每個已安裝套件的串流中繼資料 

### 範例
<a name="w2aac37c21c13b9"></a>

 以下是RPM資料庫檔案程式碼片段的範例。

```
/usr/lib/sysimage/rpm/rpmdb.sqlite
/usr/lib/sysimage/rpm/Packages
/usr/lib/sysimage/rpm/Packages.db
/var/lib/rpm/rpmdb.sqlite
/var/lib/rpm/Packages
/var/lib/rpm/Packages.db
```

## Windows 作業系統版本集合
<a name="w2aac37c21c15"></a>

 與 Linux 作業系統不同，Windows 不會針對作業系統本身使用套件管理系統。Amazon Inspector SBOM 產生器只會收集 Windows 作業系統版本資訊。對於 Windows 應用程式掃描，請改用windows-apps掃描器。windows-apps 掃描器會收集 Windows 系統上已安裝應用程式的相關資訊。如需詳細資訊，請參閱 [Microsoft applications 生態系統集合](sbom-generator-ecosystem-collection.md#microsoft-app-ecosystem-collection)。

### 主要功能
<a name="w2aac37c21c15b5"></a>
+  **作業系統版本集合** – 從 Windows 登錄檔擷取 Windows 作業系統版本。擷取的作業系統版本用於 Windows 作業系統的漏洞偵測。

### 登錄機碼和值
<a name="w2aac37c21c15b7"></a>

 下列 Windows 登錄機碼和值用於收集作業系統名稱和版本資訊。
+ **登錄機碼** 

  ```
  HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion
  ```
+  **登錄值** 
  +  ProductName – 作業系統名稱和版本 （例如 "Windows Server 2025 Datacenter") 
  +  CurrentMajorVersionNumber – 作業系統的主要版本 
  +  CurrentMinorVersionNumber – 作業系統的次要版本 
  +  CurrentBuild – 作業系統的建置數量 
  +  UBR – 作業系統的修訂編號 

## Chainguard 映像套件集合
<a name="w2aac37c21c17"></a>

 本節包含Chainguard影像套件集合支援的平台和主要功能。如需詳細資訊，請參閱 Chainguard 網站上的[映像](https://edu.chainguard.dev/chainguard/chainguard-images/)。

### 支援平台
<a name="w2aac37c21c17b5"></a>

 支援下列平台 
+  Wolfi Linux 

**注意**  
 對於Chainguard映像，Amazon Inspector SBOM Generator 會從 `/lib/apk/db/installed` 檔案收集套件中繼資料。

### 主要功能
<a name="w2aac37c21c17b7"></a>

 以下是主要功能。
+  **套件名稱集合** – 擷取每個已安裝套件的名稱 
+  **版本集合** – 擷取每個已安裝套件的版本 
+  **來源套件識別** – 識別每個已安裝套件的來源套件 

### 範例
<a name="w2aac37c21c17b9"></a>

 下列程式碼片段是Chainguard影像檔案的範例。

```
P:wolfi-keys
V:1-r8
A:x86_64
L:MIT
T:Wolfi signing keyring
o:wolfi-keys
```

## Distroless 映像套件集合
<a name="w2aac37c21c19"></a>

 Distroless 容器是容器映像，會排除 Linux分佈中的套件管理員、殼層和其他公用程式。 Distroless容器僅包含執行應用程式和改善效能和安全性所需的基本相依性。

**注意**  
 對於[Distroless映像](https://edu.chainguard.dev/chainguard/chainguard-images/about/getting-started-distroless/)，Amazon Inspector SBOM Generator 會從 `/var/lib/dpkg/status.d` 檔案收集套件中繼資料。僅支援 Debian和 Ubuntu型分佈。這些可由`/etc/os-release`檔案系統中`NAME`的欄位識別，顯示「Debian」或「」Ubuntu。

### 主要功能
<a name="w2aac37c21c19b7"></a>
+  **套件名稱集合** – 擷取每個已安裝套件的名稱 
+  **版本集合** – 擷取每個已安裝套件的版本 

### 範例
<a name="w2aac37c21c19b9"></a>

 以下是Distroless影像檔案的範例。

```
Package: tzdata
Version: 2021a-1+deb11u10
Architecture: all
Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Installed-Size: 3413
Depends: debconf (>= 0.5) | debconf-2.0
Provides: tzdata-bullseye
Section: localization
Priority: required
Multi-Arch: foreign
Homepage: https://www.iana.org/time-zones
Description: time zone and daylight-saving time data
 This package contains data required for the implementation of
 standard local time for many representative locations around the
 globe. It is updated periodically to reflect changes made by
 political bodies to time zone boundaries, UTC offsets, and
 daylight-saving rules.
```

## MinimOS 套件集合
<a name="w2aac37c21c21"></a>

 本節包含Minimus影像套件集合支援的平台和主要功能。如需詳細資訊，請參閱 [Minimus](https://www.minimus.io/) 網站。

**支援平台**  
 支援下列平台。
+  MinimOS 

**注意**  
 對於Minimus映像，Amazon Inspector SBOM Generator 會從 `/lib/apk/db/installed` 檔案收集套件中繼資料。

**主要功能**  
 以下是主要功能。
+  套件名稱集合 – 擷取每個已安裝套件的名稱 
+  版本集合 – 擷取每個已安裝套件的名稱 
+  來源套件識別 – 識別每個已安裝套件的來源套件 

 以下是Minimus影像檔案的程式碼片段。

```
P:ca-certificates-bundle
V:20241121-r1
A:aarch64
L:MPL-2.0 AND MIT
T:
o:ca-certificates
```

# 程式設計語言相依性集合
<a name="sbom-generator-dependency-collection"></a>

 Amazon Inspector SBOM 產生器支援不同的程式設計語言和架構，這些語言和架構構成了強大且詳細的相依性集合。產生 SBOM 可協助您了解軟體的組成，以便識別漏洞並保持符合安全標準。Amazon Inspector SBOM 產生器支援下列程式設計語言和檔案格式。

## Go 相依性掃描
<a name="w2aac37c23b5"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Go | Go |  `go.mod` `go.sum` `Go Binaries` `GOMODCACHE`  |  N/A N/A 是 N/A  |  N/A N/A N/A N/A  |  N/A N/A N/A N/A  |  N/A N/A N/A N/A  |  是 是 是 否  | 

### go.mod/go.sum
<a name="w2aac37c23b5b5"></a>

 使用 `go.mod` 和 `go.sum` 檔案來定義和鎖定Go專案中的相依性。Amazon Inspector SBOM 產生器會根據Go工具鏈版本以不同的方式管理這些檔案。

**主要功能**
+  從 收集相依性 `go.mod`（如果Go工具鏈版本為 1.17 或更新版本） 
+  從 收集相依性 `go.sum`（如果Go工具鏈版本為 1.17 或更低） 
+  `go.mod` 用於識別所有宣告相依性和相依性的剖析 

**範例 `go.mod` 檔案**  
 以下是 `go.mod` 檔案的範例。

```
module example.com/project

go 1.17

require (
github.com/gin-gonic/gin v1.7.2
golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123
)
```

**範例 `go.sum` 檔案**  
 以下是 `go.sum` 檔案的範例。

```
github.com/gin-gonic/gin v1.7.2 h1:VZ7DdRl0sghbA6lVGSkX+UXO2+J0aH7RbsNugG+FA8Q=
github.com/gin-gonic/gin v1.7.2/go.mod h1:ILZ1Ngh2f1pL1ASUj7gGk8lGFeNC8cRTaN2ZhsBNbXU=
golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123 h1:b6rCu+qHze+BUsmC3CZzH8aNu8LzPZTVsNTo64OypSc=
golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123/go.mod h1:K5Dkpb0Q4ewZW/EzWlQphgJcUMBCzoWrLfDOVzpTGVQ=
```

**注意**  
 這些檔案都會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### Go 二進位檔
<a name="w2aac37c23b5b7"></a>

 Amazon Inspector SBOM 產生器會從編譯的Go二進位檔中擷取相依性，以提供使用中程式碼的保證。

**注意**  
 Amazon Inspector SBOM 產生器支援從使用官方Go編譯器建置的Go二進位檔擷取和評估工具鏈版本。如需詳細資訊，請參閱 Go 網站上的[下載並安裝](https://go.dev/doc/install) 。如果您使用來自其他廠商Go的工具鏈，例如 Red Hat，則由於分佈和中繼資料可用性的潛在差異，評估可能不準確。

**主要功能**
+  直接從Go二進位檔擷取相依性資訊 
+  收集內嵌在二進位中的相依性 
+  偵測並擷取用於編譯二進位檔Go的工具鏈版本。

### GOMODCACHE
<a name="w2aac37c23b5b9"></a>

 Amazon Inspector SBOM 產生器會掃描Go模組快取，以收集已安裝相依性的相關資訊。此快取會存放下載的模組，以確保不同的組建使用相同的版本。

**主要功能**
+  掃描`GOMODCACHE`目錄以識別快取的模組 
+  擷取詳細的中繼資料，包括模組名稱、版本和來源 URLs 

**範例結構**  
 以下是 `GOMODCACHE`結構的範例。

```
~/go/pkg/mod/
├── github.com/gin-gonic/gin@v1.7.2
├── golang.org/x/crypto@v0.0.0-20210616213533-5cf6c0f8e123
```

**注意**  
 此結構會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## Java 相依性掃描
<a name="w2aac37c23b7"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Java | Maven |  編譯Java的應用程式 (.jar/.war/.ear) `pom.xml`  |  N/A N/A  |  N/A N/A  |  是 是  |  N/A N/A  |  是 是  | 

**注意**  
 我們的漏洞評估功能僅支援 Maven Central 儲存庫。JBoss Enterprise Maven Repository目前不支援第三方儲存庫，例如 。

 Amazon Inspector SBOM Generator 透過分析編譯Java的應用程式和`pom.xml`檔案來執行Java相依性掃描。掃描編譯的應用程式時，掃描器會產生 SHA–1 雜湊以進行完整性驗證、擷取內嵌`pom.properties`檔案，以及剖析巢狀`pom.xml`檔案。

### SHA–1 雜湊集合 （適用於編譯的 .jar、.war、.ear 檔案）
<a name="w2aac37c23b7b9"></a>

 Amazon Inspector SBOM 產生器會嘗試收集專案中所有 `.ear`、 和 `.war` 檔案的 SHA–1 雜湊`.jar`，以確保編譯Java成品的完整性和可追蹤性。

**主要功能**
+  為所有編譯的Java成品產生 SHA–1 雜湊 

**成品範例**  
 以下是 SHA–1 成品的範例。

```
{
  "bom-ref": "comp-52",
  "type": "library",
  "name": "jul-to-slf4j",
  "version": "2.0.6",
  "hashes": [
    {
      "alg": "SHA-1",
      "content": ""
    }
  ],
  "purl": "pkg:maven/jul-to-slf4j@2.0.6",
  "properties": [
    {
      "name": "amazon:inspector:sbom_generator:source_path",
      "value": "test-0.0.1-SNAPSHOT.jar/BOOT-INF/lib/jul-to-slf4j-2.0.6.jar"
    }
  ]
}
```

**注意**  
 此成品會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### pom.properties
<a name="w2aac37c23b7c11"></a>

 `pom.properties` 檔案用於 Maven 專案，以存放專案中繼資料，包括套件名稱和套件版本。Amazon Inspector SBOM 產生器會剖析此檔案以收集專案資訊。

**主要功能**
+  剖析和擷取套件成品、套件群組和套件版本 

**範例 `pom.properties` 檔案**  
 以下是 `pom.properties` 檔案的範例。

```
#Generated by Maven
#Tue Mar 16 15:44:02 UTC 2021

version=1.6.0
groupId=net.datafaker
artifactId=datafaker
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

**排除巢狀`pom.xml`剖析**  
 如果您想要在掃描編譯Java的應用程式時排除剖析，請使用 `pom.xml` `--skip-nested-pomxml`引數。

### pom.xml
<a name="w2aac37c23b7c13"></a>

 `pom.xml` 檔案是Maven專案的核心組態檔案。它包含專案和專案相依性的相關資訊。Amazon Inspector SBOM Generator 會剖析pom.xml檔案以收集相依性，在編譯的檔案內掃描儲存庫中的獨立檔案和.jar檔案。

**主要功能**
+  從 `pom.xml` 檔案剖析和擷取套件成品、套件群組和套件版本。

**支援Maven的範圍和標籤**  
 依下列Maven範圍收集相依性：
+  compile 
+  提供者 
+  執行時期 
+  test 
+  system 
+  匯入 

 相依性會以下列Maven標籤收集：`<optional>true</optional>`。

**具有範圍的範例`pom.xml`檔案**  
 以下是`pom.xml`具有範圍的檔案範例。

```
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</version>6.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>runtime</scope>
</dependency>
```

**沒有範圍的範例`pom.xml`檔案**  
 以下是`pom.xml`沒有範圍的檔案範例。

```
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.17.1</version>
</dependency>

<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plain-credentials</artifactId>
<version>183.va_de8f1dd5a_2b_</version>
</dependency>

<dependency>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>jackson2-api</artifactId>
<version>2.15.2-350.v0c2f3f8fc595</version>
</dependency>
```

**注意**  
 這些檔案都會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## JavaScript 相依性掃描
<a name="w2aac37c23b9"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Javascript |  `Node Modules` `NPM` `PNPM` `YARN`  |  `node_modules/*/package.json` `package-lock.json (v1, v2, and v3) / npm-shrinkwrap.json` `pnpm-lock.yaml` `yarn.lock`  |  N/A N/A N/A N/A  |  N/A 是 是 是  |  是 N/A N/A N/A  |  是 N/A N/A N/A  |  是 否 否 否  | 

### package.json
<a name="w2aac37c23b9b5"></a>

 `package.json` 檔案是Node.js專案的核心元件。它包含有關已安裝套件的中繼資料。Amazon Inspector SBOM 產生器會掃描此檔案，以識別套件名稱和套件版本。

**主要功能**
+  剖析 JSON 檔案結構以擷取套件名稱和版本 
+  識別具有私有值的私有套件 

**範例 `package.json` 檔案**  
 以下是 `package.json` 檔案的範例。

```
{
"name": "arrify",
"private": true,
"version": "2.0.1",
"description": "Convert a value to an array",
"license": "MIT",
"repository": "sindresorhus/arrify"
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### package-lock.json
<a name="w2aac37c23b9b7"></a>

 `package-lock.json` 檔案由 npm 自動產生，以鎖定為專案安裝的相依性確切版本。它透過儲存所有相依性的確切版本及其子相依性來確保環境中的一致性。此檔案可以區分一般相依性和開發相依性。

**主要功能**
+  剖析 JSON 檔案結構以擷取套件名稱和套件版本 
+  支援開發相依性偵測 

**範例 `package-lock.json` 檔案**  
 以下是 `package-lock.json` 檔案的範例。

```
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
    "assert-plus": "^1.0.0",
    "core-util-is": "1.0.2",
    "extsprintf": "^1.2.0"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"yallist": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
"integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### npm-shrinkwrap.json
<a name="w2aac37c23b9b9"></a>

 npm 會自動產生 `package-lock.json`和 `npm-shrinkwrap.json` 檔案，以鎖定為專案安裝的確切相依性版本。這可透過儲存所有相依性和子相依性的確切版本來保證環境中的一致性。檔案會區分一般相依性和開發相依性。

**主要功能**
+  剖析JSON檔案結構的第 `package-lock`1、2 和 3 版，以擷取套件名稱和版本 
+  支援開發人員相依性偵測 (`package-lock.json` 擷取生產和開發相依性，允許工具識別在開發環境中使用哪些套件） 
+  `npm-shrinkwrap.json` 檔案的優先順序高於`package-lock.json`檔案 

**範例**  
 以下是 `package-lock.json` 檔案的範例。

```
"verror": {
            "version": "1.10.0",
            "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
            "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
            "requires": {
                "assert-plus": "^1.0.0",
                "core-util-is": "1.0.2",
                "extsprintf": "^1.2.0"
            }
        },
        "wrappy": {
            "version": "1.0.2",
            "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
            "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
            "dev": true
        },
        "yallist": {
            "version": "3.0.2",
            "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz",
            "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k="
}
```

### pnpm-yaml.lock
<a name="w2aac37c23b9c11"></a>

 `pnpm-lock.yaml` 檔案由 pnpm 產生，以維護已安裝相依性版本的記錄。它也會個別追蹤開發相依性。

**主要功能**
+  剖析 YAML 檔案結構以擷取套件名稱和版本 
+  支援開發相依性偵測 

**範例**  
 以下是 `pnpm-lock.yaml` 檔案的範例。

```
lockfileVersion: 5.3
importers:
my-project:
dependencies:
  lodash: 4.17.21
devDependencies:
  jest: 26.6.3
specifiers:
  lodash: ^4.17.21
  jest: ^26.6.3
packages:
/lodash/4.17.21:
resolution:
  integrity: sha512-xyz
engines:
  node: '>=6'
dev: false
/jest/26.6.3:
resolution:
  integrity: sha512-xyz
dev: true
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### yarn.lock
<a name="w2aac37c23b9c13"></a>

 Amazon Inspector SBOM 產生器會嘗試收集專案中 `.ear`、 `.jar`和 `.war` 檔案的 SHA–1 雜湊，以確保編譯Java成品的完整性和可追蹤性。

**主要功能**
+  為所有編譯的Java成品產生 SHA–1 雜湊 

**範例 SHA–1 成品**  
 以下是 SHA–1 成品的範例。

```
"@ampproject/remapping@npm:^2.2.0":
version: 2.2.0
resolution: "@ampproject/remapping@npm:2.2.0"
dependencies:
"@jridgewell/gen-mapping": ^0.1.0
"@jridgewell/trace-mapping": ^0.3.9
checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292
languageName: node
linkType: hard

"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4":
version: 7.21.4
resolution: "@babel/code-frame@npm:7.21.4"
dependencies:
"@babel/highlight": ^7.18.6
checksum: e5390e6ec1ac58dcef01d4f18eaf1fd2f1325528661ff6d4a5de8979588b9f5a8e852a54a91b923846f7a5c681b217f0a45c2524eb9560553160cd963b7d592c
languageName: node
linkType: hard
```

**注意**  
 此成品會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## .NET 相依性掃描
<a name="w2aac37c23c11"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| .NET |  `.NET Core` `Nuget` `Nuget` `.NET`  |  `*.deps.json` `Packages.config` `packages.lock.json` `.csproj`  |  N/A N/A N/A N/A  |  N/A N/A N/A N/A  |  N/A N/A 是 N/A  |  N/A N/A N/A N/A  |  是 是 是 是  | 

### Packages.config
<a name="w2aac37c23c11b5"></a>

 `Packages.config` 檔案是舊版 用來Nuget管理專案相依性的 XML 檔案。它列出專案參考的所有套件，包括特定版本。

**主要功能**
+  剖析 XML 結構以擷取套件 IDs和版本 

**範例**  
 以下是 `Packages.config` 檔案的範例。

```
<?xml version="1.0" encoding="utf-8"? >
<packages>
<package id="FluentAssertions" version="5.4.1" targetFramework="net461" />
<package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" />
<package id="SpecFlow" version="2.4.0" targetFramework="net461" />
<package id="SpecRun.Runner" version="1.8.0" targetFramework="net461" />
<package id="SpecRun.SpecFlow" version="1.8.0" targetFramework="net461" />
<package id="SpecRun.SpecFlow.2-4-0" version="1.8.0" targetFramework="net461" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net461" />
</packages>
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### \$1.deps.json
<a name="w2aac37c23c11b7"></a>

 `*.deps.json` 檔案是由.NET Core專案產生，並包含所有相依性的詳細資訊，包括路徑、版本和執行時間相依性。此檔案可確保執行時間具有載入正確版本相依性的必要資訊。

**主要功能**
+ 剖析 JSON 結構以取得完整的相依性詳細資訊
+  擷取`libraries`清單中的套件名稱和版本。

**範例 `.deps.json` 檔案**  
 以下是 `.deps.json` 檔案的範例。

```
{
"runtimeTarget": {
    "name": ".NETCoreApp,Version=v7.0",
    "signature": ""
},
"libraries": {
    "sample-Nuget/1.0.0": {
        "type": "project",
        "serviceable": false,
        "sha512": ""
    },
    "Microsoft.EntityFrameworkCore/7.0.5": {
        "type": "package",
        "serviceable": true,
        "sha512": "sha512-RXbRLHHWP2Z3pq8qcL5nQ6LPeoOyp8hasM5bd0Te8PiQi3RjWQR4tcbdY5XMqQ+oTO9wA8/RLhZRn/hnxlTDnQ==",
        "path": "microsoft.entityframeworkcore/7.0.5",
        "hashPath": "microsoft.entityframeworkcore.7.0.5.nupkg.sha512"
    },
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### package.lock.json
<a name="w2aac37c23c11b9"></a>

 較新版本的 會使用 `packages.lock.json` 檔案Nuget來鎖定.NET專案的確切相依性版本，以確保在不同環境中一致地使用相同的版本。

**主要功能**
+ 剖析 JSON 結構以列出鎖定的相依性
+ 支援直接和傳輸相依性
+ 擷取套件名稱和已解析的版本

**範例 `packages.lock.json` 檔案**  
 以下是 `packages.lock.json` 檔案的範例。

```
{
"version": 1,
"dependencies": {
"net7.0": {
  "Microsoft.EntityFrameworkCore": {
    "type": "Direct",
    "requested": "[7.0.5, )",
    "resolved": "7.0.5",
    "contentHash": "RXbRLHHWP2Z3pq8qcL5nQ6LPeoOyp8hasM5bd0Te8PiQi3RjWQR4tcbdY5XMqQ+oTO9wA8/RLhZRn/hnxlTDnQ==",
    "dependencies": {
      "Microsoft.EntityFrameworkCore.Abstractions": "7.0.5",
      "Microsoft.EntityFrameworkCore.Analyzers": "7.0.5",
      "Microsoft.Extensions.Caching.Memory": "7.0.0",
      "Microsoft.Extensions.DependencyInjection": "7.0.0",
      "Microsoft.Extensions.Logging": "7.0.0"
    }
  },
  "Newtonsoft.Json": {
    "type": "Direct",
    "requested": "[13.0.3, )",
    "resolved": "13.0.3",
    "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
  },
  "Microsoft.Extensions.Primitives": {
    "type": "Transitive",
    "resolved": "7.0.0",
    "contentHash": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q=="
  }
}
}
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### .csproj
<a name="w2aac37c23c11c11"></a>

 `.csproj` 檔案是以 XML 和專案的.NET專案檔案撰寫。它包含對Nuget套件、專案屬性和建置組態的參考。

**主要功能**
+  剖析 XML 擷取套件參考的結構 

**範例 `.csproj` 檔案**  
 以下是 `.csproj` 檔案的範例。

```
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<RootNamespace>sample_Nuget</RootNamespace>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
</PropertyGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
</ItemGroup>
</Project>
```

**範例 `.csproj` 檔案**  
 以下是 `.csproj` 檔案的範例。

```
<PackageReference Include="ExamplePackage" Version="6.*" />
<PackageReferencePackageReference Include="ExamplePackage" Version="(4.1.3,)" />
<PackageReference Include="ExamplePackage" Version="(,5.0)" />
<PackageReference Include="ExamplePackage" Version="[1,3)" />
<PackageReference Include="ExamplePackage" Version="[1.3.2,1.5)" />
```

**注意**  
 這些檔案都會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## PHP 相依性掃描
<a name="w2aac37c23c13"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| PHP | Composer |  `composer.lock` `/vendor/composer/installed.json`  |  N/A N/A  |  N/A N/A  |  是 是  |  N/A N/A  |  是 是  | 

### composer.lock
<a name="w2aac37c23c13b5"></a>

 檔案`composer.lock`會在執行 composer 安裝或 composer 更新命令時自動產生。此檔案保證在每個環境中安裝相同版本的相依性。這可提供一致且可靠的建置程序。

**主要功能**
+  剖析結構化資料的 JSON 格式 
+  擷取相依性名稱和版本 

**範例 `composer.lock` 檔案**  
 以下是 `composer.lock` 檔案的範例。

```
{
"packages": [
    {
        "name": "nesbot/carbon",
        "version": "2.53.1",
        // TRUNCATED
    },
    {
        "name": "symfony/deprecation-contracts",
        "version": "v3.2.1",
        // TRUNCATED
    },
    {
        "name": "symfony/polyfill-mbstring",
        "version": "v1.27.0",
        // TRUNCATED
    }
]
// TRUNCATED
}
```

**注意**  
 這會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### /vendor/composer/installed.json
<a name="w2aac37c23c13b7"></a>

 `/vendor/composer/installed.json` 檔案位於 `vendor/composer`目錄中，並提供所有已安裝套件和套件版本的完整清單。

**主要功能**
+  剖析結構化資料的 JSON 格式 
+  擷取相依性名稱和版本 

**範例 `/vendor/composer/installed.json` 檔案**  
 以下是 `/vendor/composer/installed.json` 檔案的範例。

```
 
{
"packages": [
    {
        "name": "nesbot/carbon",
        "version": "2.53.1",
        // TRUNCATED
    },
    {
        "name": "symfony/deprecation-contracts",
        "version": "v3.2.1",
        // TRUNCATED
    },
    {
        "name": "symfony/polyfill-mbstring",
        "version": "v1.27.0",
        // TRUNCATED
    }
]
// TRUNCATED
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## Python 相依性掃描
<a name="w2aac37c23c15"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Python |  `pip` `Poetry` `Pipenv` `uv` `Egg/Wheel`  |  `requirements.txt` `Poetry.lock` `Pipfile.lock` `uv.lock` `.egg-info/PKG-INFO` `.dist-info/METADATA`  |  N/A N/A N/A N/A N/A N/A  |  N/A N/A N/A 是 N/A N/A  |  N/A N/A N/A N/A N/A N/A  |  N/A N/A N/A N/A N/A N/A  |  是 是 是 是 是 是  | 

### requirements.txt
<a name="w2aac37c23c15b5"></a>

 `requirements.txt` 檔案是Python專案中廣泛使用的格式，用於指定專案相依性。此檔案中的每一行都包含具有版本限制的套件。Amazon Inspector SBOM 產生器會剖析此檔案，以準確識別和編目相依性。

**主要功能**
+  支援版本指標 (== 和 ̃=) 
+  支援評論和複雜的相依性行 

**注意**  
 不支援版本指標 <= 和 =>。

**範例 `requirements.txt` 檔案**  
 以下是 `requirements.txt` 檔案的範例。

```
flask==1.1.2
requests==2.24.0
numpy==1.18.5
foo~=1.2.0
# Comment about a dependency
scipy. # invalid
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### Pipfile.lock
<a name="w2aac37c23c15b9"></a>

 Pipenv 是一種工具，可充分發揮所有封裝世界 （綁定、固定和取消固定）。會`Pipfile.lock`鎖定相依性的確切版本，以促進決定性建置。Amazon Inspector SBOM 產生器會讀取此檔案，以列出相依性及其解析版本。

**主要功能**
+  剖析 JSON 格式以進行相依性解析 
+  支援預設和開發相依性 

**範例 `Pipfile.lock` 檔案**  
 以下是 `Pipfile.lock` 檔案的範例。

```
{
"default": {
    "requests": {
        "version": "==2.24.0",
        "hashes": [
            "sha256:cc718bb187e53b8d"
        ]
    }
},
"develop": {
    "blinker": {
        "hashes": [
            "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01",
            "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83"
        ],
        "markers": "python_version >= '3.8'",
        "version": "==1.8.2"
    }
}
}
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### Poetry.lock
<a name="w2aac37c23c15c11"></a>

 Poetry 是 Python 的相依性管理和封裝工具。`Poetry.lock` 檔案會鎖定確切版本的相依性，以促進一致的環境。Amazon Inspector SBOM 產生器會從此檔案擷取詳細的相依性資訊。

**主要功能**
+  剖析結構化資料的 TOML 格式 
+  擷取相依性名稱和版本 

**範例 `Poetry.lock` 檔案**  
 以下是 `Poetry.lock` 檔案的範例。

```
[[package]]
name = "flask"
version = "1.1.2"
description = "A simple framework for building complex web applications."
category = "main"
optional = false
python-versions = ">=3.5"
[[package]]
name = "requests"
version = "2.24.0"
description = "Python HTTP for Humans."
category = "main"
optional = false
python-versions = ">=3.5"
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### uv.lock
<a name="w2aac37c23c15c13"></a>

 uv 是以 撰寫的快速Python套件管理員Rust。`uv.lock` 檔案會鎖定確切版本的相依性，以促進一致的環境。Amazon Inspector SBOM 產生器會從此檔案擷取詳細的相依性資訊。

**主要功能**
+  剖析`uv.lock`結構化資料的 TOML 格式 
+  擷取相依性名稱和版本 
+  支援開發相依性 
+  僅收集來源為登錄檔的套件 

**範例 `uv.lock` 檔案**  
 以下是 `uv.lock` 檔案的範例。

```
version = 1
requires-python = ">=3.12"

[[package]]
name = "flask"
version = "3.1.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
    { name = "blinker" },
    { name = "click" },
    { name = "itsdangerous" },
    { name = "jinja2" },
    { name = "markupsafe" },
    { name = "werkzeug" },
]

[[package]]
name = "pytest"
version = "8.3.4"
source = { registry = "https://pypi.org/simple" }
dependencies = [
    { name = "iniconfig" },
    { name = "packaging" },
    { name = "pluggy" },
]

[package.dev-dependencies]
dev = [
    { name = "pytest" },
]
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### Egg/Wheel
<a name="w2aac37c23c15c15"></a>

 對於全域安裝的 Python 套件，Amazon Inspector SBOM 產生器支援剖析 `.egg-info/PKG-INFO`和 `.dist-info/METADATA` 目錄中找到的中繼資料檔案。這些檔案提供有關已安裝套件的詳細中繼資料。

**主要功能**
+  擷取套件名稱和版本 
+  同時支援 egg 和 wheel 格式 

**範例 `PKG-INFO/METADATA` 檔案**  
 以下是 `PKG-INFO/METADATA` 檔案的範例。

```
Metadata-Version: 1.2
Name: Flask
Version: 1.1.2
Summary: A simple framework for building complex web applications.
Home-page: https://palletsprojects.com/p/flask/
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## Ruby 相依性掃描
<a name="w2aac37c23c17"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具開發支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Ruby | Bundler |  `Gemfile.lock` `.gemspec` `globall installed Gems`  |  N/A N/A N/A  |  N/A N/A N/A  |  是 N/A N/A  |  N/A N/A N/A  |  是 是 是  | 

### Gemfile.lock
<a name="w2aac37c23c17b5"></a>

 `Gemfile.lock` 檔案會鎖定所有相依性的確切版本，以確保每個環境中都使用相同的版本。

**主要功能**
+  將`Gemfile.lock`檔案剖析為身分相依性和相依性版本 
+  擷取詳細的套件名稱和套件版本 

**範例 `Gemfile.lock` 檔案**  
 以下是 `Gemfile.lock` 檔案的範例。

```
GEM
remote: https://rubygems.org/
specs:
ast (2.4.2)
awesome_print (1.9.2)
diff-lcs (1.5.0)
json (2.6.3)
parallel (1.22.1)
parser (3.2.2.0)
nokogiri (1.16.6-aarch64-linux)
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### .gemspec
<a name="w2aac37c23c17b7"></a>

 `.gemspec` 檔案是包含 Gem 相關中繼資料RubyGem的檔案。Amazon Inspector SBOM 產生器會剖析此檔案，以收集 Gem 的詳細資訊。

**主要功能**
+  剖析並擷取 Gem 套件名稱和 Gem 套件版本 

**注意**  
 不支援參考規格。

**範例 `.gemspec` 檔案**  
 以下是 `.gemspec` 檔案的範例。

```
Gem::Specification.new do |s|
s.name        = "generategem"
s.version     = "2.0.0"
s.date        = "2020-06-12"
s.summary     = "generategem"
s.description = "A Gemspec Builder"
s.email       = "edersondeveloper@gmail.com"
s.files       = ["lib/generategem.rb"]
s.homepage    = "https://github.com/edersonferreira/generategem"
s.license     = "MIT"
s.executables = ["generategem"]
s.add_dependency('colorize', '~> 0.8.1')
end
```

```
# Not supported 

Gem::Specification.new do |s|
s.name        = &class1
s.version     = &foo.bar.version
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### 全域安裝 Gem 套件
<a name="w2aac37c23c17b9"></a>

 Amazon Inspector SBOM 產生器支援掃描全域安裝的 Gem 套件，這些套件位於標準目錄中，例如 `/usr/local/lib/ruby/gems/<ruby_version>/gems/` Amazon EC2/Amazon ECR 和 Lambda `ruby/gems/<ruby_version>/gems/`中。這可確保識別和分類所有全域安裝的相依性。

**主要功能**
+  識別和掃描標準目錄中所有全域安裝的 Gem 套件 
+  擷取每個全域安裝 Gem 套件的中繼資料和版本資訊 

**範例目錄結構**  
 以下是目錄結構的範例。

```
. 
└── /usr/local/lib/ruby/3.5.0/gems/ 
├── actrivesupport-6.1.4 
├── concurrent-ruby-1.1.9 
└── i18n-1.8.10
```

**注意**  
 此結構會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## Rust 相依性掃描
<a name="w2aac37c23c19"></a>


| 程式設計語言 | 套件管理工具 | 支援的成品 | 工具鏈支援 | 開發相依性 | 暫時性相依性 | 私有旗標 | 遞迴 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Rust | Cargo.toml |  `Cargo.toml` `Cargo.lock`  `Rust binary (built with cargo-auditable)`  |  N/A N/A 是  |  N/A N/A N/A  |  N/A 是 N/A  |  N/A N/A N/A  |  是 是 是  | 

### Cargo.toml
<a name="w2aac37c23c19b5"></a>

 `Cargo.toml` 檔案是Rust專案的資訊清單檔案。

**主要功能**
+  剖析和擷取 `Cargo.toml` 檔案，以識別專案套件名稱和版本。

**範例 `Cargo.toml` 檔案**  
 以下是 `Cargo.toml` 檔案的範例。

```
[package]
name = "wait-timeout"
version = "0.2.0"
description = "A crate to wait on a child process with a timeout specified across Unix and\nWindows platforms.\n"
homepage = "https://github.com/alexcrichton/wait-timeout"
documentation = "https://docs.rs/wait-timeout"
readme = "README.md"
categories = ["os"]
license = "MIT/Apache-2.0"
repository = "https://github.com/alexcrichton/wait-timeout"
[target."cfg(unix)".dependencies.libc]
version = "0.2"
[badges.appveyor]
repository = "alexcrichton/wait-timeout"
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### Cargo.lock
<a name="w2aac37c23c19b7"></a>

 `Cargo.lock` 檔案會鎖定相依性版本，以確保每當建置專案時，都會使用相同的版本。

**主要功能**
+  剖析 `Cargo.lock` 檔案以識別所有相依性和相依性版本。

**範例 `Cargo.lock` 檔案**  
 以下是 `Cargo.lock` 檔案的範例。

```
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
[[package]]
name = "adler32"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "aho-corasick"
version = "0.7.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
```

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

### 具有可進行貨運稽核的 Rust 二進位檔
<a name="w2aac37c23c19b9"></a>

 Amazon Inspector SBOM 產生器會從使用程式`cargo-auditable`庫建置的Rust二進位檔收集相依性。這可透過啟用從編譯的二進位檔擷取相依性，來提供額外的相依性資訊。

**主要功能**
+  直接從使用程式`cargo-auditable`庫建置的Rust二進位檔擷取相依性資訊 
+  擷取二進位檔中包含之相依性的中繼資料和版本資訊 

**注意**  
 此檔案會產生包含套件 URL 的輸出。此 URL 可用於在產生軟體物料清單時指定軟體套件的相關資訊，並且可以包含在 [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html) API 中。如需詳細資訊，請參閱 GitHub 網站上的 [package-url](https://github.com/package-url/purl-spec)。

## 不支援的成品
<a name="w2aac37c23c21"></a>

 本節說明不支援的成品。

### Java
<a name="w2aac37c23c21b5"></a>

 Amazon Inspector SBOM 產生器僅支援來自[主串流Maven儲存庫](https://repo1.maven.org/maven2)之相依性的漏洞偵測。Jenkins不支援私有或自訂Maven儲存庫，例如 Red Hat Maven和 。為了準確偵測漏洞，請確保從主流Maven儲存庫提取Java相依性。漏洞掃描不會涵蓋來自其他儲存庫的相依性。

### JavaScript
<a name="w2aac37c23c21b7"></a>

**esbuild 套件**  
 對於esbuild簡化的套件，Amazon Inspector SBOM 產生器不支援使用 的專案相依性掃描esbuild。產生的來源映射esbuild不包含準確Sbomgen產生所需的足夠中繼資料 （相依性名稱和版本）。如需可靠結果，請在綁定程序之前掃描原始專案檔案`package-lock.json`，例如 `node_modules/directory`和 。

**package.json**  
 Amazon Inspector SBOM 產生器不支援掃描根層級 package.json 檔案以取得相依性資訊。此檔案只會指定套件名稱和版本範圍，但不包含完全解析的套件版本。若要取得準確的掃描結果，請使用 `package.json`或其他鎖定檔案，例如 `yarn.lock`和 `pnpm.lock`，其中包含解析的版本。

### 點網路
<a name="w2aac37c23c21b9"></a>

 在 中使用浮動版本或版本範圍時`PackageReference`，在未執行套件解析的情況下，判斷專案中使用的確切套件版本會更具挑戰性。浮動版本和版本範圍可讓開發人員指定一系列可接受的套件版本，而不是固定版本。

### Go 二進位檔
<a name="w2aac37c23c21c11"></a>

 Amazon Inspector SBOM 產生器不會掃描建置標記設定為排除建置 ID 的Go二進位檔。這些建置旗標可防止 Amazon Inspector SBOM 產生器將二進位檔精確映射至其原始來源。由於無法擷取套件資訊，因此不支援不清楚的Go二進位檔。若要進行準確的相依性掃描，請確定Go二進位檔是以預設設定建置，包括建置 ID。

### Rust 二進位檔
<a name="w2aac37c23c21c13"></a>

 Amazon Inspector SBOM 產生器只會在二進位Rust檔案是使用[可進行貨運稽核的程式庫建置時掃描二進位檔案](https://github.com/rust-secure-code/cargo-auditable)。未使用此程式庫的Rust二進位檔案缺少必要的中繼資料，以準確擷取相依性。Amazon Inspector SBOM 產生器會從 1.7.3 Rust 開始擷取編譯Rust的工具鏈版本，但僅適用於Linux環境中的二進位檔。如需全面掃描，Linux請使用可稽核貨物在 Rust 上建置二進位檔。

**注意**  
 即使工具鏈版本已擷取，也不支援Rust工具鏈本身的漏洞偵測。

# Amazon Inspector SBOM 產生器全方位生態系統集合
<a name="sbom-generator-ecosystem-collection"></a>

 Amazon Inspector SBOM 產生器是一種工具，可用來建立軟體物料清單 (SBOM)，以及針對作業系統和程式設計語言中支援的套件執行漏洞掃描。它支援掃描核心作業系統以外的各種生態系統，確保對基礎設施元件進行強大且詳細的分析。透過產生 SBOM，您可以了解現代技術堆疊的組成、識別生態系統元件中的漏洞，以及了解第三方軟體。

## 支援的生態系統
<a name="w2aac37c25b5"></a>

 生態系統集合會將 SBOM 產生延伸到透過作業系統套件管理員安裝的套件之外。這是透過以替代方法部署的應用程式集合來完成，例如手動安裝。Amazon Inspector SBOM 產生器支援掃描下列生態系統：


| 生態系統 | 應用程式 | 
| --- | --- | 
|   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.\$1 版及更新版本）   | 
|  MariaDB 和 MySQL  |  MariaDB Server (10.6\$1、11.x、12.x) Oracle MySQL Server Server (8.0、8.4、9.4\$1)  | 
|  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\$1、8.0\$1)  | 
|  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 生態系統集合
<a name="w2aac37c25b7"></a>

**支援的應用程式**
+  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 範例**  
 以下是 的範例套件 URL7-Zip。

```
pkg:generic/7zip/7zip@25.01
```

## Apache 生態系統集合
<a name="w2aac37c25b9"></a>

 本節提供有關 Apache httpd 和 Apache tomcat 應用程式的詳細資訊。

### Apache httpd
<a name="w2aac37c25b9b5"></a>

**支援的應用程式**
+  Apache httpd 

**注意**  
 漏洞評估僅適用於 Apache httpd 2.0 版和更新版本。

**主要功能**
+  剖析 `/include/ap_release.h` 檔案以擷取安裝巨集，其中包含主要識別符字串、次要識別符字串和修補程式識別符字串。

**支援平台**  
 Amazon Inspector SBOM 產生器會跨平台掃描常見安裝路徑中的安裝：

**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
<a name="w2aac37c25b9b7"></a>

**支援的應用程式**
+  Apache tomcat 

**注意**  
 漏洞評估僅適用於 9.0 版和更新Apache tomcat版本。

**主要功能**
+  解壓縮 `catalina.jar` 檔案以擷取 `META-INF/MANIFEST.MF` 檔案內的安裝巨集，其中包含版本字串。

**支援平台**  
 Amazon Inspector SBOM 產生器會跨平台掃描常見安裝路徑中的安裝：

**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 生態系統集合
<a name="w2aac37c25c11"></a>

 本節提供有關Atlassian伺服器產品和應用程式的詳細資訊。

### Atlassian Server Products
<a name="w2aac37c25c11b5"></a>

**支援的應用程式**
+ Jira Core
+ Confluence

**主要功能**
+  Jira Core – 從 剖析 Maven POM 屬性`atlassian-jira-webapp`以擷取版本資訊。
+  Confluence – 從 剖析 Maven POM 屬性`confluence-webapp`以擷取版本資訊。

**支援平台**  
 Amazon Inspector SBOM 產生器會掃描常見安裝路徑中的安裝：

**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
<a name="w2aac37c25c11b7"></a>

**支援的應用程式**
+ 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 產生器會掃描常見安裝路徑中的安裝：

**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 生態系統集合
<a name="w2aac37c25c13"></a>

 本節提供有關 Curl和 Libcurl 應用程式的詳細資訊。

### Curl
<a name="w2aac37c25c13b5"></a>

**支援的應用程式**
+  Curl 

**支援平台**
+  Unix–Linux 和 macOS 
  +  /usr/local/bin/curl 

**主要功能 – Curl**
+  檢查curl二進位檔以擷取內嵌版本資訊。

**注意**  
 具體而言，它會在二進位可執行檔`.rodata`區段 （適用於 Linux 上的 ELF 二進位檔）、`.rdata`區段 （適用於 Windows 上的 PE 二進位檔） 或 \$1\$1cstring 區段 （適用於 macOS 上的 MachO 二進位檔） 中搜尋版本字串。

**Curl version string**  
 以下是內嵌在Curl二進位檔中的版本字串範例：

```
curl/8.14.1
```

 從字串`8.14.1`擷取版本以識別`Curl`版本。

**範例 PURL (Curl)**  
 以下是`Curl`版本檔案的範例套件 URL。

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

### Libcurl
<a name="w2aac37c25c13b7"></a>

**支援的應用程式**
+  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 生態系統集合
<a name="w2aac37c25c15"></a>

**支援的應用程式**
+  Elasticsearch 

**注意**  
 漏洞評估僅適用於 7.17.0 Elasticsearch版。

**主要功能**
+  **Version** – 解壓縮 `elasticsearch-<specific.version>.jar` 檔案以擷取 `META-INF/MANIFEST.MF` 檔案內的安裝巨集，其中包含Elasticsearch版本字串。

**支援平台**
+  **Linux** – `/opt/elasticsearch/lib/`、 `/etc/elasticsearch/lib`和 `/usr/share/elasticsearch/lib/` 
+  **macOS** – `/usr/local/var/lib/elasticsearch/lib/` 
+  **Windows** – `/Program Files (x86)/Elastic/elasticsearch/lib/`、 `/elasticsearch/`和 `/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 生態系統集合
<a name="w2aac37c25c17"></a>

**支援的應用程式**
+  Google Chrome 
+  Puppeteer （支援 puppeteer 程式庫；不包含 puppeteer-core) 

**注意**  
 Puppeteer 支援 puppeteer 程式庫。 Puppeteer核心不包含在內。

**支援的成品**  
 Amazon Inspector 會從下列項目收集Google Chrome資訊：
+  `chrome/VERSION` 檔案 （建置來源） 
+  `chrome.exe` 檔案 (Windows Chrome 安裝） 
+  `puppeteer` 檔案 （安裝） 

 對於每個支援的成品， Sbomgen 會剖析和收集chrome檔案或 puppeteer 檔案。對於 puppeteer 安裝，會根據Chromium版本收集對應的puppeteer版本。如需詳細資訊，請參閱 Puppeteer [網站上的支援的瀏覽器](https://pptr.dev/supported-browsers)。

 當`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 生態系統集合
<a name="w2aac37c25c19"></a>

**支援的應用程式**
+  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 生態系統集合
<a name="w2aac37c25c21"></a>

**支援的應用程式**
+  Oracle JDK 
+  Oracle JRE 
+  Amazon Corretto 

**主要功能**
+  擷取 Java 安裝的字串。
+  識別包含Java執行時間的目錄路徑。
+  將廠商識別為 Oracle JDK、 Oracle JRE和 Amazon Corretto。

 Amazon Inspector SBOM 產生器會掃描下列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 生態系統集合
<a name="w2aac37c25c23"></a>

**支援的應用程式**
+  Jenkins 核心 

**注意**  
 漏洞評估適用於 2.400.\$1 版及更新Jenkins版本。

**主要功能**
+  `jenkins.war` 透過讀取包含版本字串的檔案，從 `META-INF/MANIFEST.M` 檔案擷取Jenkins版本資訊。

 Amazon Inspector SBOM 產生器會在跨平台的常見安裝路徑中尋找 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範例**  
 以下是 Jenkins LTS 版本 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 生態系統集合
<a name="w2aac37c25c25"></a>

### MariaDB
<a name="w2aac37c25c25b3"></a>

**支援的應用程式**
+  MariaDB Server (10.6\$1、11.x、12.x) 

**主要功能**
+  使用資料庫特定模式，從資料庫伺服器二進位檔和標頭檔案擷取版本資訊。
+  識別包含資料庫伺服器安裝的目錄路徑。
+  使用資料驅動型檔案類型偵測自動區分 MariaDB和 MySQL 安裝。

 SBOM 產生器會在跨平台的常見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 生態系統集合
<a name="w2aac37c25c25b5"></a>

**支援的應用程式**
+  Oracle MySQL Server Server (8.0、8.4、9.4\$1) 

**主要功能**
+  使用資料庫特定模式，從資料庫伺服器二進位檔和標頭檔案擷取版本資訊。
+  識別包含資料庫伺服器安裝的目錄路徑。
+  使用資料驅動型檔案類型偵測自動區分 MySQL和 MariaDB 安裝。

 SBOM 產生器會在跨平台的常見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 生態系統集合
<a name="microsoft-app-ecosystem-collection"></a>

 Amazon Inspector SBOM 產生器會清查下列 Microsoft 應用程式。由於 Microsoft CVRF API 的限制，InspectorScan API 中的偵測僅支援 2021 年 （或更新版本） 發行的這些應用程式版本。調查結果將映射至 Microsoft KBs或 CVEs（如適用）。

**支援的 Microsoft 應用程式 (2021\$1)**
+ 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\$1SUB\$1KEY> 代表 .NET Framework 版本，例如 v2.0.50727、 v3.5或 v4\$1Full)

    ```
    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\$1DWORD的值
  + **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的詳細資訊，請參閱 [https://learn.microsoft.com/en-us/troubleshoot/microsoft-365-apps/office-suite-issues/product-ids-supported-office-deployment-click-to-run](https://learn.microsoft.com/en-us/troubleshoot/microsoft-365-apps/office-suite-issues/product-ids-supported-office-deployment-click-to-run) 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 範例

 以下是每個 的範例套件 URLMicrosoft 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 生態系統集合
<a name="w2aac37c25c29"></a>

**支援的應用程式**
+  MongoDB Server (7.0\$1、8.0\$1) 

**主要功能**
+  檢查mongod二進位檔以擷取內嵌版本資訊。

**注意**  
 mongod 二進位大小可以超過 200 MB。若要掃描 MongoDB，必須將 Amazon Inspector SBOM 產生器檔案大小限制設定為允許超過 200 MB 的檔案。

 Amazon Inspector SBOM 產生器會在跨平台的常見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 範例**  
 以下是 的範例套件 URLMongoDB Server。

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

## Nginx 生態系統集合
<a name="w2aac37c25c31"></a>

**支援的應用程式**
+  Nginx 

**支援平台**  
 以下是支援的平台。

**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：\$1nginx\$1nginx.exe 
+  C：\$1nginx-x.y.z\$1nginx.exe (x.y.z 是任意版本） 

**macOS**
+  /usr/local/etc/nginx/nginx 

**主要功能**  
 此集合會檢查二進位檔以擷取內嵌版本資訊。它會在二進位可執行檔`.rodata`區段 （適用於 上的 ELF 二進位檔Linux)、`.rdata`區段 （適用於 上的 PE 二進位檔Windows) 或`__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 執行時間集合
<a name="w2aac37c25c33"></a>

**支援的應用程式**
+  的 節點執行時間二進位檔 Node.JS 

**支援平台**  
 以下是支援的平台。(\$1 是任意版本） 

**Linux**
+  /usr/local/bin/node 
+  /usr/bin/node 
+  /nodejs/bin/node 
+  \$1/.nvm/versions/node/\$1/bin/node 
+  \$1/.local/share/fnm/node-versions/\$1/installation/bin/node 
+  \$1/.asdf/installs/nodejs/\$1/bin/node 
+  \$1/.local/share/mise/installs/node/\$1/bin/node 
+  \$1/.volta/tools/image/node/\$1/bin/node 

**Windows**
+  C：\$1Program Files\$1nodejs\$1node.exe 
+  C：\$1Program Files (x86)\$1nodejs\$1node.exe 
+  \$1\$1AppData\$1Roaming\$1fnm\$1node-versions\$1\$1\$1installation\$1node.exe 

**macOS**
+  /opt/homebrew/Cellar/node/\$1/bin/node 

**主要功能**  
 此集合會檢查二進位檔以擷取內嵌版本資訊。它會在二進位可執行檔`.rodata`區段 （適用於 上的 ELF 二進位檔Linux)、`.rdata`區段 （適用於 上的 PE 二進位檔Windows) 或`__ctring`區段 MachO （適用於二進位檔） 中搜尋版本字串。

**範例版本字串**  
 以下是內嵌在Node.JS執行時間二進位檔中的版本字串範例。

```
node.js/v24.11.1
```

 `24.11.1` 解壓縮版本以識別Node.JS執行時間版本。

**PURL 範例**  
 以下是 的範例套件 URLNode.JS。

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

## OpenSSH 生態系統集合
<a name="w2aac37c25c35"></a>

**支援的應用程式**
+  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`區段中尋找版本字串 （適用於 上的 ELF 二進位檔Linux、`__cstring`區段 （適用於 上的 Mach-O 二進位檔MacOs) 或`.rdata`區段 （適用於 上的 PE 二進位檔Windows)。

**範例版本字串**  
 以下是內嵌在 OpenSSH 二進位檔中的版本字串範例。

```
OpenSSH_9.9p2
```

 `9.9p2` 解壓縮版本以識別OpenSSH版本。

**PURL 範例**  
 以下是 的範例套件 URLOpenSSH。

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

## OpenSSL 生態系統集合
<a name="w2aac37c25c37"></a>

**支援的應用程式**  
 對 OpenSSL 程式庫和開發套件的支援僅限於使用適用於 3.0.0 及更高版本之官方 OpenSSL 建置的軟體。軟體也必須遵循語意版本控制。不支援自訂或分叉的 OpenSSL 變體和低於 3.0.0 的版本。

 Amazon Inspector SBOM 產生器會擷取每個已安裝 OpenSSL 執行個體的金鑰套件資訊。

**主要功能**
+  從 OpenSSL 標頭檔案擷取基本 SEMVER 版本字串 
+  識別包含 OpenSSL 安裝的目錄路徑 

 Amazon Inspector SBOM 產生器會在跨平台的常見安裝路徑中掃描 `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 產生器會剖析`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 資料庫伺服器集合
<a name="w2aac37c25c39"></a>

**支援的應用程式**
+  Oracle Database 

**支援的平台 Linux**
+  `/opt/oracle` 
+  `/u01/app/oracle` 

**注意**  
 漏洞評估僅適用於 Oracle Database Server 第 19 版及更新版本。

**主要功能**
+  檢查Oracle二進位檔以擷取內嵌版本資訊。
+  在二進位可執行檔`.rodata`區段中尋找版本字串 （適用於 上的 ELF 二進位檔Linux)。
+  版本資訊遵循包含 RDBMS 版本字串的特定格式。

**範例版本字串**  
 以下是內嵌在 Oracle Database 二進位檔中的版本字串範例：

```
RDBMS_23.7.0.25.01DBRU_LINUX.X64_240304
```

 `23.7.0.25.01` 解壓縮版本以識別Oracle Database版本。

**PURL 範例**  
 以下是 的範例套件 URLOracle Database。

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

## PHP 生態系統集合
<a name="w2aac37c25c41"></a>

**支援的應用程式**
+  PHP (8.1 版和更新版本） 

**主要功能**
+  使用內嵌版本字串從PHP二進位可執行檔擷取版本資訊。
+  識別包含PHP二進位的目錄路徑。
+  自動偵測標準PHP二進位檔和版本控制的安裝，例如 `php8.1`、 `php8.2`和 `php8.3`。

 Amazon Inspector SBOM 產生器會在跨平台的常見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 產生器會使用下列模式搜尋內嵌版本字串，從PHP二進位檔擷取版本資訊。

```
X-Powered-By: PHP/8.4.12
```

 `8.4.12` 會從此模式擷取，以識別PHP版本。

**PURL 範例**  
 以下是PHP模式的範例套件 URL。

```
pkg:generic/php/php@8.4.12
```

## Redis 生態系統集合
<a name="w2aac37c25c43"></a>

**支援的應用程式**
+  Redis (7.2 版及更新版本） 

**主要功能**
+  使用內嵌版本字串從Redis`redis-server`二進位可執行檔擷取版本資訊。
+  在二進位可執行檔`.rodata`區段 （適用於 上的 ELF 二進位檔Linux) 或`__cstring`區段 （適用於 上的 Mach-O 二進位檔） 中搜尋版本字串macOS。

 Amazon Inspector SBOM 產生器會在跨平台的常見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 範例**  
 以下是 的範例套件 URLRedis。

```
pkg:generic/redis/redis@7.2.6
```

## WordPress 生態系統集合
<a name="w2aac37c25c45"></a>

**支援的元件**
+  WordPress 核心 
+  WordPress 外掛程式 
+  WordPress 佈景主題 

**主要功能**
+  WordPress 核心 – 剖析 `/wp-includes/version.php` 檔案以從 \$1wp\$1version 變數擷取版本值。
+  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
```

# Amazon Inspector SBOM 產生器 SSL/TLS 憑證掃描
<a name="sbom-generator-ssl-tls-certificate-scans"></a>

 本節說明如何使用 Amazon Inspector SBOM 產生器清查 SSL/TLS 憑證。透過在預先定義的位置搜尋憑證以及使用者提供的目錄，Sbomgen來庫存 SSL/TLS 憑證。此功能旨在讓使用者清查 SSL/TLS 憑證，以及識別過期的憑證。CA 憑證也會出現在輸出庫存中。

## 使用Sbomgen憑證掃描
<a name="w2aac37c27b5"></a>

 您可以使用 `--scanners certificates`引數啟用 SSL/TLS 憑證庫存收集。憑證掃描可以與任何其他掃描器結合使用。根據預設，不會啟用憑證掃描。

 會根據掃描的成品，Sbomgen搜尋不同位置的憑證。在所有情況下， Sbomgen都會嘗試在具有下列副檔名的檔案中擷取憑證。

```
.pem
.crt
.der
.p7b
.p7m
.p7s
.p12
.pfx
```

**localhost 成品類型**  
 如果已啟用憑證掃描器，且成品類型為 localhost，則 會以Sbomgen遞迴方式在 `/etc/*/ssl`、`/usr/local/*/ssl`、 `/opt/*/ssl/certs`和 中尋找憑證`/var/lib/*/certs`，其中 `*` 不是空的。無論命名了哪些目錄，都會以遞迴方式搜尋使用者提供的目錄。一般而言，CA/系統憑證不會放置在這些路徑中。這些憑證通常位於名為 `pki`、 `ca-certs`或 的資料夾中`CA`。它們也可能出現在預設的 localhost 掃描路徑中。

**目錄和容器成品**  
 掃描目錄或容器成品時， Sbomgen會搜尋位於成品上任何位置的憑證。

**憑證掃描命令範例**  
 以下包含憑證掃描命令範例。一個會產生僅包含本機目錄中憑證的 SBOM。另一個 會產生 SBOM，其中包含本機目錄中的憑證和 Debian、 Alpine和 Rhel套件。另一個 會產生 SBOM，其中包含常見憑證位置中找到的憑證。

```
# generate SBOM only containing certificates in a local directory
./inspector-sbomgen directory --path ./project/ --scanners certificates

# generate SBOM only containing certificates and Alpine, Debian, and Rhel OS packages in a local directory
./inspector-sbomgen directory --path ./project/ --scanners certificates,dpkg,alpine-apk,rhel-rpm

# generate SBOM only containing certificates, taken from common localhost certificate locations
./inspector-sbomgen localhost --scanners certificates
```

**檔案元件範例**  
 以下包含兩個憑證調查結果元件範例。當憑證過期時，您可以檢視識別過期日期的額外屬性。

```
{
      "bom-ref": "comp-2",
      "type": "file",
      "name": "certificate:expired.pem",
      "properties": [
            {
                "name": "amazon:inspector:sbom_generator:certificate_finding:IN-CERTIFICATE-001",
                "value": "expired:2015-06-06T11:59:59Z"
            },
            {
                "name": "amazon:inspector:sbom_generator:source_path",
                "value": "/etc/ssl/expired.pem"
            }
      ]
},
{
      "bom-ref": "comp-3",
      "type": "file",
      "name": "certificate:unexpired.pem",
      "properties": [
            {
                "name": "amazon:inspector:sbom_generator:source_path",
                "value": "/etc/ssl/unexpired.pem"
            }
      ]
}
```

**漏洞回應元件範例**  
 使用 `--scan-sbom`旗標執行 Amazon Inspector SBOM 產生器會將產生的 SBOM 傳送至 Amazon Inspector 以進行漏洞掃描。以下是漏洞回應元件的憑證調查結果範例。

```
{
    "advisories": [
        {
            "url": "https://aws.amazon.com/inspector/"
        },
        {
            "url": "https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_transit_encrypt.html"
        }
    ],
    "affects": [
        {
            "ref": "comp-2"
        }
    ],
    "analysis": {
        "state": "in_triage"
    },
    "bom-ref": "vuln-1",
    "created": "2025-04-17T18:48:20Z",
    "cwes": [
        324,
        298
    ],
    "description": "Expired Certificate: The associated certificate(s) are no longer valid. Replace certificate in order to reduce risk.",
    "id": "IN-CERTIFICATE-001",
    "properties": [
        {
            "name": "amazon:inspector:sbom_scanner:priority",
            "value": "standard"
        },
        {
            "name": "amazon:inspector:sbom_scanner:priority_intelligence",
            "value": "unverified"
        }
    ],
    "published": "2025-04-17T18:48:20Z",
    "ratings": [
        {
            "method": "other",
            "severity": "medium",
            "source": {
                "name": "AMAZON_INSPECTOR",
                "url": "https://aws.amazon.com/inspector/"
            }
        }
    ],
    "source": {
        "name": "AMAZON_INSPECTOR",
        "url": "https://aws.amazon.com/inspector/"
    },
    "updated": "2025-04-17T18:48:20Z"
}
```

# Amazon Inspector SBOM 產生器授權集合
<a name="sbom-generator-license-collection"></a>

 Amazon Inspector SBOM 產生器可協助追蹤軟體物料清單 (SBOM) 中的授權資訊。它會跨作業系統和程式設計語言，從支援的套件收集授權資訊。在產生的 SBOM 中使用標準化授權表達式，您可以了解授權義務。

## 收集授權資訊
<a name="w2aac37c29b5"></a>

**範例 命令**  
 下列範例示範如何從 目錄收集授權資訊。

```
./inspector-sbomgen directory --path /path/to/your/directory/ --collect-licenses
```

**SBOM 元件範例**  
 下列範例顯示所產生 SBOM 中的元件項目。

```
"components": [   
    {
      "bom-ref": "comp-2",
      "type": "application",
      "name": "sample-js-pkg",
      "version": "1.2.3",
      "licenses": [
        {
          "expression": "Apache-2.0 AND (MIT OR GPL-2.0-only)"
        }
      ],
      "purl": "pkg:npm/sample-js-pkg@1.2.3",
    }
  ]
```

## 支援的套件
<a name="w2aac37c29b7"></a>

 授權集合支援下列程式設計語言和作業系統套件。


| Target | 套件管理工具 | 授權資訊來源 | Type | 
| --- | --- | --- | --- | 
|  Alma Linux  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Amazon Linux  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  CentOS  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Fedora  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  OpenSUSE  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Oracle Linux  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Photon OS  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  RHEL  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Rocky Linux  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  SLES  | RPM |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 作業系統 | 
|  Alpine Linux  | APK | /lib/apk/db/installed | 作業系統 | 
|  Chainguard  | APK | /lib/apk/db/installed | 作業系統 | 
|  Debian  | DPKG | /usr/share/doc/\$1/copyright | 作業系統 | 
|  Ubuntu  | DPKG | /usr/share/doc/\$1/copyright | 作業系統 | 
|  Node.js  | Javascript | node\$1modules/\$1/package.json | 程式設計語言 | 
|  PHP  | Composer 套件 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 程式設計語言 | 
|  Go  | Go | LICENSE | 程式設計語言 | 
|  Python  | Python/Egg/Wheel |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/inspector/latest/user/sbom-generator-license-collection.html)  | 程式設計語言 | 
|  Ruby  | RubyGem | \$1.gemspec | 程式設計語言 | 
|  Rust  | crate | Cargo.toml | 程式設計語言 | 

### 授權表達式標準化
<a name="w2aac37c29b7b7"></a>

 SPDX 授權表達式格式提供開放原始碼軟體中找到的授權條款的準確表示。Amazon Inspector SBOM 產生器會透過本節所述的規則，將所有授權資訊標準化為 SPDX 授權表達式。這些規則提供跨授權資訊的一致性和相容性。

**SPDX 短格式識別符映射**  
 所有授權名稱都會映射至 SPDX 短格式識別符。例如：`MIT License` 縮短為 `MIT`。

**多個授權組合**  
 您可以將多個授權與 `AND` 運算子合併。以下是示範如何格式化命令的範例命令。

```
MIT AND Apache-2.0
```

**自訂授權字首**  
 自訂授權的字首為 `LicenseRef`，例如 `LicenseRef-CompanyPrivate`。

**自訂例外狀況字首**  
 自訂例外狀況字首為 `AdditionRef-`，例如 `AdditionRef-CustomException`。

# 什麼是套件 URL？
<a name="sbom-generator-purl-sbom"></a>

 [套件 URL 或 PURL](https://github.com/package-url/purl-spec) 是一種標準化格式，用於識別跨不同套件管理系統的軟體套件、元件和程式庫。格式可讓您更輕鬆地追蹤、分析和管理軟體專案中的相依性，特別是在產生軟體物料清單 (SBOMs時。

## PURL 結構
<a name="w2aac37c31b5"></a>

 PURL 結構類似於 URL，由多個元件組成：
+  `pkg` – 常值字首 
+  `type`– 套件類型 
+  `namespace` – 分組 
+  `name` – 套件名稱 
+  `version` – 套件版本 
+  `qualifiers` – 額外的鍵/值對 
+  `subpath` – 套件中的 filepath 

**PURL 範例**  
 以下是 PURL 的外觀範例。

```
pkg:<type>/<namespace>/<name>@<version>?<qualifiers>#<subpath>
```

### 一般 PURL
<a name="w2aac37c31b5c11"></a>

 一般 PURL 用於表示不符合已建立套件生態系統的軟體套件和元件，例如 npm、 pypi或 maven。它可識別軟體元件並擷取可能與特定套件管理系統不符的中繼資料。通用 PURL 適用於各種軟體專案，從編譯的二進位檔到平台，例如 Apache和 WordPress。它允許將其套用至各種使用案例，包括編譯的二進位檔、Web 平台和自訂軟體分發。

**金鑰使用案例**  
 
+  支援編譯的二進位檔，適用於 Go和 Rust 
+  支援 Web 平台，例如 Apache和 WordPress，其中套件可能與傳統套件管理員無關。
+  透過允許組織參考內部開發的軟體或缺少正式套件的系統，支援自訂舊版軟體。

**範例格式**  
 以下是一般 PURL 格式的範例。

```
pkg:generic/<namespace>/<name>@<version>?<qualifiers>
```

#### 一般 PURL 格式的其他範例
<a name="w2aac37c31b5c11c13"></a>

 以下是一般 PURL 格式的其他範例。

**編譯Go的二進位**  
下列代表使用 `inspector-sbomgen binary` 編譯的 Go。

```
pkg:generic/inspector-sbomgen?go_toolchain=1.22.5
```

**編譯Rust的二進位**  
 下列代表使用 編譯的`myrustapp`二進位Rust。

```
pkg:generic/myrustapp?rust_toolchain=1.71.0
```

**Apache 專案**  
 下列是指 Apache 命名空間下的 http 專案。

```
pkg:generic/apache/httpd@1.0.0
```

**WordPress 軟體**  
 下列是指核心WordPress軟體。

```
pkg:generic/wordpress/core/wordpress@6.0.0
```

**WordPress 佈景主題**  
 下列是指自訂WordPress佈景主題。

```
pkg:generic/wordpress/theme/mytheme@1.0.0
```

**WordPress 外掛程式**  
 下列是自訂WordPress外掛程式。

```
pkg:generic/wordpress/plugin/myplugin@1.0.0
```

# 在 Amazon Inspector SBOM 產生器中處理未解決或非標準版本參考
<a name="sbom-generator-unresolved-non-standard-version-reference"></a>

 Amazon Inspector SBOM 產生器透過直接從來源檔案識別相依性，在系統中尋找和剖析支援的成品。它不是套件管理員，不會解析版本範圍、根據動態參考推斷版本，或處理登錄查詢。它只會收集專案來源成品中定義的相依性。在許多情況下，套件資訊清單中的相依性，例如 `pom.xml`、 `package.json`或 `requirements.txt`，會使用未解析或範圍型版本來指定。本主題包含這些相依性的外觀範例。

## 建議
<a name="w2aac37c33b5"></a>

 Amazon Inspector SBOM 產生器會從來源成品中擷取相依性，但不會解析或解譯版本範圍或動態參考。如需更準確的漏洞掃描和 SBOMs，我們建議在專案相依性中使用已解析的語意版本識別符。

## Java
<a name="w2aac37c33b7"></a>

 對於 Java，Maven專案可以使用版本範圍來定義 `pom.xml` 檔案中的相依性。

```
<dependency>
    <groupId>org.inspector</groupId>
    <artifactId>inspector-api</artifactId>
    <version>(,1.0]</version>
</dependency>
```

 範圍指定可接受任何最高 1.0 且包含 1.0 的版本。不過，如果版本不是已解析的版本，Amazon Inspector SBOM 產生器將不會收集它，因為它無法映射到特定的版本。

## JavaScript
<a name="w2aac37c33b9"></a>

 對於 JavaScript， `package.json` 檔案可以包含類似下列的版本範圍：

```
"dependencies": {
    "ky": "^1.2.0",
    "registry-auth-token": "^5.0.2",
    "registry-url": "^6.0.1",
    "semver": "^7.6.0"
}
```

 `^` 運算子指定任何大於或等於指定版本的版本皆可接受。不過，如果指定的版本不是已解析的版本，Amazon Inspector SBOM 產生器不會收集它，因為這樣做可能會在漏洞偵測期間導致誤報。

## Python
<a name="w2aac37c33c11"></a>

 對於 Python， `requirements.txt` 檔案可以包含具有布林表達式的項目。

```
requests>=1.0.0
```

 `>=` 運算子指定任何大於或等於 的版本`1.0.0`都是可接受的。由於此特定表達式未指定確切版本，因此 Amazon Inspector SBOM 產生器無法可靠地收集版本以進行漏洞分析。

 Amazon Inspector SBOM 產生器不支援非標準或模棱兩可的版本識別符，例如 Beta、最新或快照。

```
pkg:maven/org.example.com/testmaven@1.0.2%20Beta-RC-1_Release
```

**注意**  
 使用非標準字尾，例如 Beta-RC-1\$1Release，不符合標準語意版本控制，且無法評估 Amazon Inspector 偵測引擎中的漏洞。

# 搭配 Amazon Inspector 使用CycloneDX命名空間
<a name="cyclonedx-namespace"></a>

 Amazon Inspector 為您提供可與 SBOMs 搭配使用的CycloneDX命名空間和屬性名稱。本節說明可能新增至 CycloneDX SBOMs 中元件的所有自訂金鑰/值屬性。如需詳細資訊，請參閱 GitHub 網站上的 [CycloneDX 屬性分類](https://github.com/CycloneDX/cyclonedx-property-taxonomy)。

## `amazon:inspector:sbom_scanner` 命名空間分類
<a name="scan-namespaces"></a>

 Amazon Inspector Scan API 使用 `amazon:inspector:sbom_scanner` 命名空間，並具有下列屬性：


| **屬性** | **Description** | 
| --- | --- | 
| amazon:inspector:sbom\$1scanner:cisa\$1kev\$1date\$1added | 指出何時將漏洞新增至 CISA 已知漏洞目錄。 | 
| amazon:inspector:sbom\$1scanner:cisa\$1kev\$1date\$1due | 指出根據 CISA 已知漏洞目錄的漏洞修正時間。 | 
| amazon:inspector:sbom\$1scanner:critical\$1vulnerabilities | 在 SBOM 中找到的關鍵嚴重性漏洞總數計數。 | 
| amazon:inspector:sbom\$1scanner:exploit\$1available | 指出漏洞是否可用於指定的漏洞。 | 
| amazon:inspector:sbom\$1scanner:exploit\$1last\$1seen\$1in\$1public | 指出上次在公有中看到特定漏洞的入侵的時間。 | 
| amazon:inspector:sbom\$1scanner:fixed\$1version:component\$1bom\$1ref | 為指定的漏洞提供指定元件的固定版本。 | 
| amazon:inspector:sbom\$1scanner:high\$1vulnerabilities | 在 SBOM 中找到的高嚴重性漏洞總數計數。 | 
| amazon:inspector:sbom\$1scanner:info | 提供指定元件的掃描內容，例如：「已掃描的元件：找不到漏洞」。 | 
| amazon:inspector:sbom\$1scanner:is\$1malicious | 指出 OpenSSF 是否將受影響的元件識別為惡意。 | 
| amazon:inspector:sbom\$1scanner:low\$1vulnerabilities | 在 SBOM 中找到的低嚴重性漏洞總數計數。 | 
| amazon:inspector:sbom\$1scanner:medium\$1vulnerabilities | 在 SBOM 中找到的中等嚴重性漏洞總數計數。 | 
| amazon:inspector:sbom\$1scanner:path | 產生主體套件資訊的 檔案路徑。 | 
| amazon:inspector:sbom\$1scanner:priority |  修正指定漏洞的建議優先順序。遞減順序的值為「立即」、「緊急」、「MODERATE」和「標準」。 | 
| amazon:inspector:sbom\$1scanner:priority\$1intelligence |  用來判斷指定漏洞優先順序的情報品質。這些值包括「VERIFIED」或「UNVERIFIED」。 | 
| amazon:inspector:sbom\$1scanner:warning | 提供未掃描指定元件的原因內容，例如：「已略過元件：未提供 purl」。 | 

## `amazon:inspector:sbom_generator` 命名空間分類
<a name="sbomgen-namespaces"></a>

 Amazon Inspector SBOM 產生器使用 `amazon:inspector:sbom_generator` 命名空間，並具有下列屬性：


| **屬性** | **Description** | 
| --- | --- | 
| amazon:inspector:sbom\$1generator:cpu\$1architecture | 正在清查系統的 CPU 架構 (x86\$164)。 | 
| amazon:inspector:sbom\$1generator:ec2:instance\$1id | Amazon EC2 執行個體 ID。 | 
| amazon:inspector:sbom\$1generator:ec2:instance\$1type | Amazon EC2 執行個體類型 | 
| amazon:inspector:sbom\$1generator:live\$1patching\$1enabled | 布林值，指出是否在 Amazon EC2 Amazon 上啟用即時修補Linux。 | 
| amazon:inspector:sbom\$1generator:live\$1patched\$1cves | 透過 Amazon EC2 Amazon 上的即時修補進行修補的 CVEs 清單Linux。 | 
| amazon:inspector:sbom\$1generator:dockerfile\$1finding:inspector\$1finding\$1id | 表示元件中的 Amazon Inspector 調查結果與Dockerfile檢查相關。 | 
| amazon:inspector:sbom\$1generator:image\$1id | 屬於容器映像組態檔案 （也稱為映像 ID) 的雜湊。 | 
| amazon:inspector:sbom\$1generator:image\$1arch | 容器映像的架構。 | 
| amazon:inspector:sbom\$1generator:image\$1author | 容器映像的作者。 | 
| amazon:inspector:sbom\$1generator:image:cmd:count | 在映像建置時間設定的預設 CMD 中定義的容器映像內的絕對目錄。 | 
| amazon:inspector:sbom\$1generator:image:entrypoint:count | 在映像建置時間設定的預設 ENTRYPOINT 中定義的容器映像內的絕對目錄。 | 
| amazon:inspector:sbom\$1generator:image:workdir | 在映像建置時間設定的容器映像的 WORKDIR 目錄。 | 
| amazon:inspector:sbom\$1generator:image\$1docker\$1version | 用來建置容器映像的 docker 版本。 | 
| amazon:inspector:sbom\$1generator:is\$1duplicate\$1package | 表示由多個檔案掃描器找到主體套件。 | 
| amazon:inspector:sbom\$1generator:duplicate\$1purl | 指出另一個掃描器找到的重複套件 PURL。 | 
| amazon:inspector:sbom\$1generator:kernel\$1name | 正在清查之系統的核心名稱。 | 
| amazon:inspector:sbom\$1generator:kernel\$1version | 正在清查的系統核心版本。 | 
| amazon:inspector:sbom\$1generator:kernel\$1component | 布林值，指出主體套件是否為核心元件 | 
| amazon:inspector:sbom\$1generator:running\$1kernel | 布林值，指出主體套件是否為執行中的核心 | 
| amazon:inspector:sbom\$1generator:layer\$1diff\$1id | 未壓縮容器映像層的雜湊。 | 
| amazon:inspector:sbom\$1generator:replaced\$1by | 取代目前Go模組的值。 | 
| amazon:inspector:sbom\$1generator:os\$1hostname | 正在清查的系統主機名稱。 | 
| amazon:inspector:sbom\$1generator:source\$1file\$1scanner | 找到包含套件資訊的 檔案的掃描器，例如：/var/lib/dpkg/status。 | 
| amazon:inspector:sbom\$1generator:source\$1package\$1collector | 從特定檔案擷取套件名稱和版本的收集器。 | 
| amazon:inspector:sbom\$1generator:source\$1path | 擷取主體套件資訊來源檔案的路徑。 | 
| amazon:inspector:sbom\$1generator:file\$1size\$1bytes | 指出指定成品的檔案大小。 | 
| amazon:inspector:sbom\$1generator:unresolved\$1version | 指出套件管理員尚未解析的版本字串。 | 
| amazon:inspector:sbom\$1generator:experimental:transitive\$1dependency | 指出套件管理員的間接相依性。 | 
| amazon:inspector:sbom\$1generator:subscription:enabled | 指出是否啟用訂閱的布林值，例如 RHEL EUS/E4S 或 Ubuntu Pro。 | 
| amazon:inspector:sbom\$1generator:subscription:name | 作用中訂閱的名稱 （例如 EUS、E4S、Pro)。 | 
| amazon:inspector:sbom\$1generator:subscription:locked\$1version | 作用中 RHEL 訂閱鎖定的版本 （僅限 RHEL EUS/E4S)。 | 
| amazon:inspector:sbom\$1generator:metadata:host:hostname | 掃描系統的主機名稱。 | 
| amazon:inspector:sbom\$1generator:metadata:host:kernel\$1name | 作業系統的核心名稱 （例如 Linux、Darwin、Windows\$1NT)。 | 
| amazon:inspector:sbom\$1generator:metadata:host:kernel\$1version | 作業系統的核心版本字串。 | 
| amazon:inspector:sbom\$1generator:metadata:host:cpu\$1architecture | 系統的 CPU 架構 （例如 x86\$164、 arm64)。 | 
| amazon:inspector:sbom\$1generator:metadata:host:bootdisk\$1id | 開機磁碟的唯一識別符。 | 
| amazon:inspector:sbom\$1generator:metadata:host:boot\$1id | 目前開機工作階段的唯一識別符。 | 
| amazon:inspector:sbom\$1generator:metadata:host:boot\$1time | ISO 8601 格式的系統開機時間。 | 
| amazon:inspector:sbom\$1generator:metadata:host:system\$1id | 持久性系統識別符 (Linux 上的machine-id、Windows 上的 MachineGuid)。 | 
| amazon:inspector:sbom\$1generator:metadata:host:system\$1serial | 來自系統韌體的硬體序號。 | 
| amazon:inspector:sbom\$1generator:metadata:host:network\$1interfaces:name:hardware | 網路界面的 MAC 地址。 | 
| amazon:inspector:sbom\$1generator:metadata:host:network\$1interfaces:name:ipv4 | 指派給界面的 IPv4 地址 （多個）。 | 
| amazon:inspector:sbom\$1generator:metadata:host:network\$1interfaces:name:ipv6 | 指派給界面的 IPv6 地址 （多個）。 | 
| amazon:inspector:sbom\$1generator:metadata:host:sbomgen\$1tag:key | 透過 --tag CLI 引數傳遞的自訂使用者定義標籤。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:provider | 透過 IMDS 偵測到的雲端提供者 (aws、azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:instance\$1id | Amazon EC2 執行個體 ID 或 Azure VM 名稱。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:instance\$1type | 執行個體類型 （例如 t3.micro、Standard\$1D2s\$1v3)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:instance\$1location | 執行個體的區域/位置。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:instance\$1partition | 雲端分割區 (aws、aws-cn、aws-us-gov for AWS或 AzurePublicCloud for Azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:account\$1id | Amazon EC2 執行個體 AWS 的帳戶 ID，從執行個體身分文件取得 (AWS 僅限 )。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:resource\$1type | 正在掃描的雲端資源類型 （例如 aws\$1ec2\$1instance)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:instance\$1managed\$1id | Amazon EC2 Systems Manager 受管執行個體 ID (AWS 僅限 )。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:tenant\$1id | Azure 租用戶 ID （僅限 Azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:resource\$1group | 執行個體所屬的 Azure 資源群組 （僅限 Azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:subscription\$1id | 與執行個體相關聯的 Azure 訂閱 ID （僅限 Azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:imds:vm\$1id | Azure VM 唯一識別符 （僅限 Azure)。 | 
| amazon:inspector:sbom\$1generator:metadata:host:open\$1port:port:protocol | 表示執行時間資源的開放連接埠 （即 EC2) | 
| amazon:inspector:sbom\$1generator:hardened\$1image:vendor | 強化容器映像的廠商 | 