

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

# プログラミング言語の依存関係のコレクション
<a name="sbom-generator-dependency-collection"></a>

 Amazon Inspector SBOM Generator は、さまざまなプログラミング言語とフレームワークをサポートし、堅牢で詳細な依存関係のコレクションを構成します。SBOM を生成すると、ソフトウェアの構成を把握できるため、脆弱性を特定し、セキュリティ標準へのコンプライアンス準拠を維持できます。Amazon Inspector SBOM Generator は、次のプログラミング言語とファイル形式をサポートしています。

## Go 依存関係スキャン
<a name="w2aac37c25b5"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Go | Go | `go.mod`<br />`go.sum`<br />`Go Binaries`<br />`GOMODCACHE` | 該当なし<br />該当なし<br />はい<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし | はい <br />はい<br />はい<br />いいえ | 

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

 `go.mod` および `go.sum` ファイルを使用して、Go プロジェクトの依存関係を定義およびロックします。Amazon Inspector SBOM Generator は、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="w2aac37c25b5b7"></a>

 Amazon Inspector SBOM Generator は、コンパイルされた Go バイナリから依存関係を抽出して、使用中のコードについて保証します。

**注記**  
 Amazon Inspector SBOM Generator は、公式の Go コンパイラを使用して構築された Go バイナリからのツールチェーンバージョンのキャプチャと評価をサポートしています。詳細については Go ウェブサイトの「[Download and install](https://go.dev/doc/install)」を参照してください。Red Hat などの別のベンダーの Go ツールチェーンを使用している場合、ディストリビューションとメタデータの可用性に潜在的な違いがあるため、評価が正確ではない可能性があります。

**主な特徴**
+  Go バイナリから直接依存関係情報を抽出します 
+  バイナリ内に埋め込まれた依存関係を収集します 
+  バイナリのコンパイルに使用される Go ツールチェーンバージョンを検出して抽出します。

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

 Amazon Inspector SBOM Generator は Go モジュールキャッシュをスキャンして、インストールされた依存関係に関する情報を収集します。このキャッシュは、ダウンロードしたモジュールを保存して、異なるビルド間で同じバージョンが使用されていることを確認します。

**主な特徴**
+  `GOMODCACHE` ディレクトリをスキャンしてキャッシュされたモジュールを特定します。
+  モジュール名、バージョン、ソース URL などの詳細なメタデータを抽出します。

**構造の例**  
 以下は、`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="w2aac37c25b7"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Java | Maven | コンパイルされた Java アプリケーション (.jar/.war/.ear)<br />`pom.xml` | 該当なし<br />該当なし | 該当なし<br />該当なし | はい <br />はい | 該当なし<br />該当なし | はい <br />はい | 

**注記**  
 脆弱性評価機能は 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="w2aac37c25b7b9"></a>

 Amazon Inspector SBOM Generator は、コンパイルされた Java アーティファクトの整合性とトレーサビリティを保証するために、プロジェクト内のすべての `.ear`、`.jar`、および `.war` ファイルの SHA-1 ハッシュの収集を試行します。

**主な特徴**
+  すべてのコンパイルされた 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="w2aac37c25b7c11"></a>

 `pom.properties` ファイルは、パッケージ名やパッケージバージョンなどのプロジェクトメタデータを保存するために Maven プロジェクトで使用されます。Amazon Inspector SBOM Generator は、このファイルを解析してプロジェクト情報を収集します。

**主な特徴**
+  パッケージアーティファクト、パッケージグループ、パッケージバージョンを解析して抽出します 

**`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="w2aac37c25b7c13"></a>

 `pom.xml` ファイルは、Maven プロジェクトのコア設定ファイルです。これには、プロジェクトとプロジェクトの依存関係に関する情報が含まれています。Amazon Inspector SBOM Generator は pom.xml ファイルを解析して依存関係を収集し、リポジトリ内のスタンドアロンファイルとコンパイルされた .jar ファイル内のファイルをスキャンします。

**主な特徴**
+  `pom.xml` ファイルからパッケージアーティファクト、パッケージグループ、パッケージバージョンを解析して抽出します。

**サポートされている Maven スコープとタグ**  
 依存関係は、次の Maven スコープで収集されます。
+  compile 
+  提供される 
+  ランタイム 
+  test 
+  system 
+  インポート 

 依存関係は、 `<optional>true</optional>` の Maven タグ で収集されます。

**スコープのある `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="w2aac37c25b9"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Javascript | `Node Modules`<br />`NPM`<br />`PNPM`<br />`YARN` | `node_modules/*/package.json`<br />`package-lock.json (v1, v2, and v3) / npm-shrinkwrap.json`<br />`pnpm-lock.yaml`<br />`yarn.lock` | 該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />はい <br />はい<br />はい | はい<br />該当なし<br />該当なし<br />該当なし | はい<br />該当なし<br />該当なし<br />該当なし | はい<br />いいえ<br />いいえ<br />いいえ | 

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

 `package.json` ファイルは Node.js プロジェクトのコアコンポーネントです。これには、インストールされたパッケージに関するメタデータが含まれています。Amazon Inspector SBOM Generator はこのファイルをスキャンして、パッケージ名とパッケージバージョンを識別します。

**主な特徴**
+  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="w2aac37c25b9b7"></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="w2aac37c25b9b9"></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="w2aac37c25b9c11"></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="w2aac37c25b9c13"></a>

 Amazon Inspector SBOM Generator は、コンパイルされた Java アーティファクトの整合性とトレーサビリティを保証するために、プロジェクト内の `.ear`、`.jar`、および `.war` ファイルの SHA-1 ハッシュの収集を試行します。

**主な特徴**
+  すべてのコンパイルされた 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="w2aac37c25c11"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| .NET | `.NET Core`<br />`Nuget`<br />`Nuget`<br />`.NET` | `*.deps.json`<br />`Packages.config`<br />`packages.lock.json`<br />`.csproj` | 該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />はい<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし | はい <br />はい<br />はい<br />はい | 

### Packages.config
<a name="w2aac37c25c11b5"></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)」を参照してください。

### \*.deps.json
<a name="w2aac37c25c11b7"></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)」を参照してください。

### packages.lock.json
<a name="w2aac37c25c11b9"></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="w2aac37c25c11c11"></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="w2aac37c25c13"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| PHP | Composer | `composer.lock`<br />`/vendor/composer/installed.json` | 該当なし<br />該当なし | 該当なし<br />該当なし | はい <br />はい | 該当なし<br />該当なし | はい <br />はい | 

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

 `composer.lock` ファイルは、コンポーザーのインストールコマンドまたはコンポーザーの更新コマンドを実行すると自動的に生成されます。このファイルは、すべての環境に同じバージョンの依存関係がインストールされていることを保証します。これにより、一貫性のある信頼性の高いビルドプロセスが実現します。

**主な特徴**
+  構造化データの 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="w2aac37c25c13b7"></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="w2aac37c25c15"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Python | `pip`<br />`Poetry`<br />`Pipenv`<br />`uv`<br />`Egg/Wheel` | `requirements.txt`<br />`Poetry.lock`<br />`Pipfile.lock`<br />`uv.lock`<br />`.egg-info/PKG-INFO`<br />`.dist-info/METADATA` | 該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />はい<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし<br />該当なし | はい <br />はい<br />はい<br />はい<br />はい<br />はい | 

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

 `requirements.txt` ファイルは、プロジェクトの依存関係を指定するために Python プロジェクトで広く使用されている形式です。このファイルの各行には、バージョン制約を含むパッケージが含まれています。Amazon Inspector SBOM Generator はこのファイルを解析して、依存関係を正確に識別およびカタログ化します。

**主な特徴**
+  バージョン指定子をサポートします (== および ̃=)。
+  コメントと複雑な依存関係行をサポートします。

**注記**  
 バージョン指定子 <= および => はサポートされていません。

**`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="w2aac37c25c15b9"></a>

 Pipenv は、すべてのパッケージング形式 (バンドル、ピン留め、ピン留めなし) を最大限に活用するツールです。`Pipfile.lock` は、正確なバージョンの依存関係をロックして、確定的なビルドを容易にします。Amazon Inspector SBOM Generator はこのファイルを読み取り、依存関係とその解決済みバージョンを一覧表示します。

**主な特徴**
+  依存関係解決のための 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="w2aac37c25c15c11"></a>

 Poetry は、Python の依存関係管理およびパッケージングツールです。この `Poetry.lock` ファイルは、一貫した環境を実現するために、依存関係の正確なバージョンを固定します。Amazon Inspector SBOM Generator は、このファイルから詳細な依存関係情報を抽出します。

**主な特徴**
+  構造化データの 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="w2aac37c25c15c13"></a>

 uv は、 で記述された高速PythonパッケージマネージャーですRust。この `uv.lock` ファイルは、一貫した環境を実現するために、依存関係の正確なバージョンを固定します。Amazon Inspector SBOM Generator は、このファイルから詳細な依存関係情報を抽出します。

**主な特徴**
+  構造化データ`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="w2aac37c25c15c15"></a>

 グローバルにインストールされた Python パッケージの場合、Amazon Inspector SBOM Generator は `.egg-info/PKG-INFO`および `.dist-info/METADATA` ディレクトリにあるメタデータファイルの解析をサポートします。これらのファイルは、インストールされたパッケージに関する詳細なメタデータを提供します。

**主な特徴**
+  パッケージ名とバージョンを抽出します。
+  egg 形式と wheel 形式の両方をサポートします。

**デフォルトのスキャンパスの拡張 (Sbomgen 1.13.0 以降)**  
 Amazon Inspector SBOM Generator リリース 1.13.0 以降では、スキャナーのデフォルトの localhost スキャンパスが拡張され、ユーザーレベルの`pip`インストール (`pip install --user`) と `uv tool install` コマンドによって生成されたインストールが含まれました。これにより、推奨されるインストール方法が である CrewAI などのフレームワークを含め`site-packages`、システム全体の の外部にインストールされている Python パッケージを検出できます`uv tool install crewai`。  
 デフォルトのスキャンパスを追加しました。  
 Linux – `/home/*/.local/lib/python*/site-packages/`、 `/home/*/.local/share/uv/tools/*/lib/python*/site-packages/` (ルートとして実行されているコンテナと`/root/`同等）。
 Windows – `%APPDATA%\Python\Python*\Lib\site-packages\`, `%LOCALAPPDATA%\uv\tools\*\Lib\site-packages\`. 
 任意のプラットフォームでデフォルト以外のPythonインストールプレフィックスを使用する場合は、 `--path`引数を使用してスキャナーをインストール場所に向けます。

**`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="w2aac37c25c17"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Ruby | Bundler | `Gemfile.lock`<br />`.gemspec`<br />`globall installed Gems` | 該当なし<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし | はい<br />該当なし<br />該当なし | 該当なし<br />該当なし<br />該当なし | はい <br />はい<br />はい | 

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

 `Gemfile.lock` ファイルは、すべての依存関係の正確なバージョンを固定して、すべての環境で同じバージョンが使用されていることを保証します。

**主な特徴**
+  `Gemfile.lock` ファイルを解析し、ID 依存関係と依存関係バージョンを識別します。
+  詳細なパッケージ名とパッケージバージョンを抽出します。

**`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="w2aac37c25c17b7"></a>

 `.gemspec` ファイルは、gem に関するメタデータを含む RubyGem ファイルです。Amazon Inspector SBOM Generator はこのファイルを解析して、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="w2aac37c25c17b9"></a>

 Amazon Inspector SBOM Generator は、グローバルにインストールされた gem のスキャンをサポートしています。gem は、Amazon EC2/Amazon ECR の`/usr/local/lib/ruby/gems/<ruby_version>/gems/` や 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="w2aac37c25c19"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Rust | Cargo.toml | `Cargo.toml`<br />`Cargo.lock`<br /> `Rust binary (built with cargo-auditable)` | 該当なし<br />該当なし<br />はい | 該当なし<br />該当なし<br />該当なし | 該当なし<br />はい<br />該当なし | 該当なし<br />該当なし<br />該当なし | はい <br />はい<br />はい | 

### Cargo.toml
<a name="w2aac37c25c19b5"></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="w2aac37c25c19b7"></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)」を参照してください。

### cargo-auditable を使用した Rust バイナリ
<a name="w2aac37c25c19b9"></a>

 Amazon Inspector SBOM Generator は、`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)」を参照してください。

## Swift 依存関係スキャン
<a name="w2aac37c25c21"></a>


| プログラミング言語 | パッケージマネージャー | サポートされているアーティファクト | ツールチェーンのサポート | 開発の依存関係 | 推移的な依存関係 | プライベートフラグ | 再帰的 | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Swift | Swift Package Manager | `Package.resolved (v1, v2, and v3)` | 該当なし | 該当なし | 該当なし | 該当なし | はい | 

### Package.resolved
<a name="w2aac37c25c21b5"></a>

 `Package.resolved` ファイルは、Swiftプロジェクトの依存関係の正確なバージョンをロックするために Swift Package Manager によって生成されます。Amazon Inspector SBOM Generator はこのファイルを解析して、依存関係名、バージョン、ソースリポジトリ情報を収集します。`Package.resolved` 形式のスキーマバージョン 1、2、および 3 がサポートされています。

**注記**  
 Amazon Inspector SBOM Generator は `Package.resolved` ファイルを生成しません。プロジェクトに `Package.resolved` ファイルがまだ含まれていない場合は、プロジェクトディレクトリ`swift package resolve`で を実行してスキャンする前にファイルを生成する必要があります。

**サポートされているアーティファクト**
+  `Package.resolved` (スキーマバージョン 1) 
+  `Package.resolved` (スキーマバージョン 2) 
+  `Package.resolved` (スキーマバージョン 3) 

**主な特徴**
+  固定パッケージから依存関係名とロックされたバージョンを抽出します 
+  ソースリポジトリ URL からパッケージ名前空間を取得します (例: `github.com/Alamofire`) 
+  解決済みバージョンがないブランチ専用ピンをスキップします 
+  ローカルソースコントロールとファイルシステムの依存関係をフィルタリングします 
+  `.build/` ディレクトリ内の`Package.resolved`ファイルを除外して、Swiftパッケージマネージャーのビルドキャッシュから依存関係が収集されないようにします 

**注記**  
 `Package.resolved` ファイルはプラットフォームに依存しません。Amazon Inspector SBOM Generator は、、Linux、macOSおよび でこのファイルを再帰的に検出しますWindows。

**`Package.resolved` ファイル例 (v2)**  
 バージョン 2 `Package.resolved`ファイルの例を次に示します。

```
{
  "pins" : [
    {
      "identity" : "alamofire",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/Alamofire/Alamofire.git",
      "state" : {
        "revision" : "a1b2c3...",
        "version" : "5.8.1"
      }
    },
    {
      "identity" : "swift-argument-parser",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-argument-parser.git",
      "state" : {
        "revision" : "d4e5f6...",
        "version" : "1.3.0"
      }
    }
  ],
  "version" : 2
}
```

**`Package.resolved` ファイル例 (v1)**  
 バージョン 1 `Package.resolved`ファイルの例を次に示します。

```
{
  "object": {
    "pins": [
      {
        "package": "Alamofire",
        "repositoryURL": "https://github.com/Alamofire/Alamofire.git",
        "state": {
          "branch": null,
          "revision": "a1b2c3...",
          "version": "5.8.1"
        }
      }
    ]
  },
  "version": 1
}
```

**PURL の例**  
 Package Manager の依存関係のSwiftパッケージ URL の例を次に示します。

```
pkg:swift/github.com/Alamofire/Alamofire@5.8.1
```

**注記**  
 これらの各ファイルは、パッケージ 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="w2aac37c25c23"></a>

 このセクションでは、サポートされていないアーティファクトについて説明します。

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

 Amazon Inspector SBOM Generator ジェネレーターは、[メインストリーム Maven リポジトリ](https://repo1.maven.org/maven2)から取得された依存関係の脆弱性検出のみをサポートします。Red Hat Maven や Jenkins などのプライベートまたはカスタム Maven リポジトリはサポートされていません。脆弱性を正確に検出するには、Java 依存関係がメインストリーム Maven リポジトリからプルされるようにしてください。他のリポジトリからの依存関係は、脆弱性スキャンの対象にはなりません。

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

**esbuild バンドル**  
 esbuild の最小化されたバンドルの場合、Amazon Inspector SBOM Generator は esbuild を使用するプロジェクトの依存関係スキャンをサポートしていません。esbuild によって生成されたソースマップには、正確な Sbomgen の生成に必要な十分なメタデータ (依存関係名とバージョン) が含まれていません。信頼性の高い結果を得るには、バンドルプロセスの前に、 `node_modules/directory` や `package-lock.json` などの元のプロジェクトファイルをスキャンしてください。

**package.json**  
 Amazon Inspector SBOM Generator は、ルートレベルの package.json ファイルに対する依存関係情報のスキャンをサポートしていません。このファイルはパッケージ名とバージョン範囲のみを指定しますが、完全に解決されたパッケージバージョンは含まれません。正確なスキャン結果を得るには、 `package.json` または解決済みバージョンを含む `yarn.lock`や `pnpm.lock` などの他の固定ファイルを使用します。

### Dotnet
<a name="w2aac37c25c23b9"></a>

 `PackageReference` でフローティングバージョンまたはバージョン範囲を使用する場合、パッケージ解決を実行せずにプロジェクトで使用される正確なパッケージバージョンを特定することが難しくなります。フローティングバージョンとバージョン範囲を使用すると、開発者は固定のバージョンではなく、許容可能なパッケージバージョンの範囲を指定できます。

### Go バイナリ
<a name="w2aac37c25c23c11"></a>

 Amazon Inspector SBOM Generator は、ビルド ID Go を除外するように設定されたビルドフラグを使用して構築されたバイナリをスキャンしません。これらのビルドフラグにより、Amazon Inspector SBOM Generator はバイナリを元のソースに正確にマッピングできなくなります。パッケージ情報を抽出できないため、不明瞭な Go バイナリはサポートされていません。正確な依存関係スキャンを行うには、Go バイナリがビルド ID などのデフォルト設定で構築されていることを確認してください。

### Rust バイナリ
<a name="w2aac37c25c23c13"></a>

 Amazon Inspector SBOM Generator は、バイナリが [cargo-auditable ライブラリ](https://github.com/rust-secure-code/cargo-auditable)を使用して構築されている場合にのみ Rust バイナリをスキャンします。このライブラリを利用していない Rust バイナリには、正確な依存関係抽出に必要なメタデータがありません。Amazon Inspector SBOM Generator は、Rust 1.7.3 以降でコンパイルされた Rust ツールチェーンバージョンを抽出しますが、Linux 環境内のバイナリに対してのみ抽出します。包括的なスキャンを行うには、 で、cargo-auditable を使用して Linux で Rust バイナリをビルドします。

**注記**  
 ツールチェーンのバージョンが抽出されていても、Rust ツールチェーン自体の脆弱性検出はサポートされていません。