

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

# 程式設計語言相依性集合
<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工具鏈本身的漏洞偵測。