

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

# Sammlung von Abhängigkeiten zu Programmiersprachen
<a name="sbom-generator-dependency-collection"></a>

 Der Amazon Inspector SBOM Generator unterstützt verschiedene Programmiersprachen und Frameworks, die eine robuste und detaillierte Sammlung von Abhängigkeiten bilden. Die Generierung einer SBOM hilft Ihnen dabei, die Zusammensetzung Ihrer Software zu verstehen, sodass Sie Schwachstellen identifizieren und die Einhaltung der Sicherheitsstandards sicherstellen können. Der Amazon Inspector SBOM Generator unterstützt die folgenden Programmiersprachen und Dateiformate. 

## Gehen Sie zum Scannen von Abhängigkeiten
<a name="w2aac37c25b5"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Go | Go | `go.mod`<br />`go.sum`<br />`Go Binaries`<br />`GOMODCACHE` | –<br />–<br />Ja<br />– | –<br />–<br />–<br />– | –<br />–<br />–<br />– | –<br />–<br />–<br />– | Ja<br />Ja<br />Ja<br />Nein | 

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

 Verwenden Sie `go.sum` Dateien, um Abhängigkeiten in Projekten zu definieren `go.mod` und zu sperren. Go Der Amazon Inspector SBOM Generator verwaltet diese Dateien je nach Version der Go Toolchain unterschiedlich. 

**Schlüssel-Features**
+  Sammelt Abhängigkeiten von `go.mod` (wenn die Go Toolketten-Version 1.17 oder höher ist) 
+  Sammelt Abhängigkeiten von `go.sum` (wenn die Go Toolketten-Version 1.17 oder niedriger ist) 
+  Analysiert`go.mod`, um alle deklarierten Abhängigkeiten und Abhängigkeitsversionen zu identifizieren 

**`go.mod`-Beispieldatei**  
 Das Folgende ist ein Beispiel für eine `go.mod` Datei. 

```
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`-Beispieldatei**  
 Das Folgende ist ein Beispiel für eine `go.sum` Datei. 

```
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=
```

**Anmerkung**  
 Jede dieser Dateien erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### Gehe zu Binärdateien
<a name="w2aac37c25b5b7"></a>

 Der Amazon Inspector SBOM Generator extrahiert Abhängigkeiten aus kompilierten Go Binärdateien, um sicherzustellen, dass der verwendete Code verwendet wird. 

**Anmerkung**  
 Der Amazon Inspector SBOM Generator unterstützt das Erfassen und Auswerten von Toolchainversionen aus Go Binärdateien, die mit dem offiziellen Compiler erstellt wurden. Go Weitere Informationen finden Sie auf der Website unter [Herunterladen und Installieren](https://go.dev/doc/install). Go Wenn Sie beispielsweise die Go Toolchain eines anderen Anbieters verwenden, ist die Bewertung aufgrund möglicher Unterschiede bei der Verteilung und der Verfügbarkeit von Metadaten möglicherweise nicht korrekt. Red Hat 

**Schlüssel-Features**
+  Extrahiert Abhängigkeitsinformationen direkt aus Binärdateien Go 
+  Sammelt in der Binärdatei eingebettete Abhängigkeiten 
+  Erkennt und extrahiert die Version der Go Toolchain, die zum Kompilieren der Binärdatei verwendet wurde. 

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

 Der Amazon Inspector SBOM Generator scannt den Go Modul-Cache, um Informationen über installierte Abhängigkeiten zu sammeln. In diesem Cache werden heruntergeladene Module gespeichert, um sicherzustellen, dass dieselben Versionen in verschiedenen Builds verwendet werden. 

**Schlüssel-Features**
+  Durchsucht das `GOMODCACHE` Verzeichnis, um zwischengespeicherte Module zu identifizieren 
+  Extrahiert detaillierte Metadaten, einschließlich Modulnamen, Versionen und Quelle URLs 

**Beispiel für eine Struktur**  
 Das Folgende ist ein Beispiel für die `GOMODCACHE` Struktur. 

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

**Anmerkung**  
 Diese Struktur erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben, und sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Scannen von Java-Abhängigkeiten
<a name="w2aac37c25b7"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Java | Maven | Kompilierte Java Anwendungen (.jar/.war/.ear)<br />`pom.xml` | –<br />– | –<br />– | Ja<br />Ja | –<br />– | Ja<br />Ja | 

**Anmerkung**  
 Unsere Funktion zur Bewertung von Sicherheitslücken unterstützt nur das Maven Central-Repository. Repositorys von Drittanbietern, wie z. B.JBoss Enterprise Maven Repository, werden derzeit nicht unterstützt. 

 Der Amazon Inspector SBOM Generator führt Java Abhängigkeitsscans durch, indem er kompilierte Java Anwendungen und `pom.xml` Dateien analysiert. Beim Scannen kompilierter Anwendungen generiert der Scanner SHA-1-Hashes zur Integritätsprüfung, extrahiert eingebettete `pom.properties` Dateien und analysiert verschachtelte Dateien. `pom.xml` 

### SHA-1-Hash-Sammlung (für kompilierte JAR-, .WAR-, .EAR-Dateien)
<a name="w2aac37c25b7b9"></a>

 Der Amazon Inspector SBOM Generator versucht, SHA-1-Hashes für alle`.ear`,, und `.war` Dateien in einem Projekt zu sammeln`.jar`, um die Integrität und Rückverfolgbarkeit der kompilierten Artefakte zu gewährleisten. Java 

**Schlüssel-Features**
+  Generiert SHA—1-Hashes für alle kompilierten Artefakte Java 

**Beispiel für ein Artefakt**  
 Im Folgenden finden Sie ein Beispiel für ein SHA-1-Artefakt. 

```
{
  "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"
    }
  ]
}
```

**Anmerkung**  
 Dieses Artefakt erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben, und sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `pom.properties` Datei wird in Maven Projekten verwendet, um Projektmetadaten, einschließlich Paketnamen und Paketversionen, zu speichern. Der Amazon Inspector SBOM Generator analysiert diese Datei, um Projektinformationen zu sammeln. 

**Schlüssel-Features**
+  Analysiert und extrahiert Paketartefakte, Paketgruppen und Paketversionen 

**`pom.properties`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `pom.properties`-Datei dargestellt. 

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

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

**Ohne verschachteltes Parsing `pom.xml`**  
 Wenn Sie das `pom.xml` Parsen beim Scannen kompilierter Java Anwendungen ausschließen möchten, verwenden Sie das Argument. `--skip-nested-pomxml` 

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

 Die `pom.xml` Datei ist die zentrale Konfigurationsdatei für Maven Projekte. Sie enthält Informationen über Projekte und Projektabhängigkeiten. Der Amazon Inspector SBOM Generator analysiert pom.xml Dateien, um Abhängigkeiten zu erfassen. Dabei werden eigenständige Dateien in Repositorys und Dateien in kompilierten Dateien gescannt. .jar 

**Schlüssel-Features**
+  Analysiert und extrahiert Paketartefakte, Paketgruppen und Paketversionen aus Dateien. `pom.xml` 

**Unterstützte Maven Bereiche und Tags**  
 Abhängigkeiten werden in den folgenden Maven Bereichen erfasst: 
+  compile 
+  bereitgestellt 
+  runtime 
+  Test 
+  system 
+  Import 

 Abhängigkeiten werden mit dem folgenden Maven Tag erfasst:`<optional>true</optional>`. 

**`pom.xml`Beispieldatei mit einem Bereich**  
 Das Folgende ist ein Beispiel für eine `pom.xml` Datei mit einem Bereich. 

```
<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`Beispieldatei ohne Bereich**  
 Im Folgenden finden Sie ein Beispiel für eine `pom.xml` Datei ohne Bereich. 

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

**Anmerkung**  
 Jede dieser Dateien erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## JavaScript Scannen von Abhängigkeiten
<a name="w2aac37c25b9"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 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 />Ja<br />Ja<br />Ja | Ja<br />–<br />–<br />– | Ja<br />–<br />–<br />– | Ja<br />Nein<br />Nein<br />Nein | 

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

 Die `package.json` Datei ist ein Kernbestandteil von Node.js Projekten. Sie enthält Metadaten zu installierten Paketen. Der Amazon Inspector SBOM Generator scannt diese Datei, um Paketnamen und Paketversionen zu identifizieren. 

**Schlüssel-Features**
+  Analysiert die JSON-Dateistruktur, um Paketnamen und Versionen zu extrahieren 
+  Identifiziert private Pakete mit privaten Werten 

**`package.json`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `package.json`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `package-lock.json` Datei wird automatisch von npm generiert, um genaue Versionen der für ein Projekt installierten Abhängigkeiten zu sperren. Es gewährleistet die Konsistenz in Umgebungen, indem exakte Versionen aller Abhängigkeiten und ihrer Unterabhängigkeiten gespeichert werden. Diese Datei kann zwischen regulären Abhängigkeiten und Entwicklungsabhängigkeiten unterscheiden. 

**Schlüssel-Features**
+  Analysiert die JSON-Dateistruktur, um Paketnamen und Paketversionen zu extrahieren 
+  Unterstützt die Erkennung von Abhängigkeiten von Entwicklern 

**`package-lock.json`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `package-lock.json`-Datei dargestellt. 

```
"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="
}
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 npmgeneriert `package-lock.json` automatisch `npm-shrinkwrap.json` Dateien, um exakte Versionen der für ein Projekt installierten Abhängigkeiten zu sperren. Dies garantiert Konsistenz in Umgebungen, indem exakte Versionen aller Abhängigkeiten und Unterabhängigkeiten gespeichert werden. Die Dateien unterscheiden zwischen regulären Abhängigkeiten und Entwicklungsabhängigkeiten. 

**Schlüssel-Features**
+  Analysieren Sie die `package-lock` Versionen 1, 2 und 3 der JSON Dateistruktur, um den Paketnamen und die Version zu extrahieren 
+  Die Erkennung von Abhängigkeiten zwischen Entwicklern wird unterstützt (`package-lock.json`erfasst Produktions- und Entwicklungsabhängigkeiten, sodass Tools erkennen können, welche Pakete in Entwicklungsumgebungen verwendet werden) 
+  Die `npm-shrinkwrap.json` Datei hat Vorrang vor der `package-lock.json` Datei 

**Beispiel**  
 Im Folgenden wird ein Beispiel für eine `package-lock.json`-Datei dargestellt. 

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

 Die `pnpm-lock.yaml` Datei wird von pnpm generiert, um die installierten Abhängigkeitsversionen aufzuzeichnen. Außerdem werden Entwicklungsabhängigkeiten separat verfolgt. 

**Schlüssel-Features**
+  Analysiert die YAML-Dateistruktur, um Paketnamen und Versionen zu extrahieren 
+  Unterstützt die Erkennung von Abhängigkeiten von Entwicklern 

**Beispiel**  
 Im Folgenden wird ein Beispiel für eine `pnpm-lock.yaml`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Der Amazon Inspector SBOM Generator versucht, SHA-1-Hashes für`.ear`, und `.war` Dateien in einem Projekt zu sammeln`.jar`, um die Integrität und Rückverfolgbarkeit kompilierter Artefakte zu gewährleisten. Java 

**Schlüssel-Features**
+  Generiert SHA—1-Hashes für alle kompilierten Artefakte Java 

**Beispiel für ein SHA-1-Artefakt**  
 Im Folgenden finden Sie ein Beispiel für ein SHA-1-Artefakt. 

```
"@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
```

**Anmerkung**  
 Dieses Artefakt erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben, und sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## .NET-Abhängigkeiten scannen
<a name="w2aac37c25c11"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| .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 />Ja<br />– | –<br />–<br />–<br />– | Ja<br />Ja<br />Ja<br />Ja | 

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

 Die `Packages.config` Datei ist eine XML-Datei, die von einer älteren Version von Nuget zur Verwaltung von Projektabhängigkeiten verwendet wird. Sie listet alle Pakete auf, auf die das Projekt verweist, einschließlich bestimmter Versionen. 

**Schlüssel-Features**
+  Analysiert die XML-Struktur, um das Paket IDs und die Versionen zu extrahieren 

**Beispiel**  
 Im Folgenden wird ein Beispiel für eine `Packages.config`-Datei dargestellt. 

```
<?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>
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### \*.deps.json
<a name="w2aac37c25c11b7"></a>

 Die `*.deps.json` Datei wird von .NET Core Projekten generiert und enthält detaillierte Informationen zu allen Abhängigkeiten, einschließlich Pfaden, Versionen und Laufzeitabhängigkeiten. Diese Datei stellt sicher, dass die Runtime über die notwendigen Informationen verfügt, um die richtigen Versionen von Abhängigkeiten zu laden. 

**Schlüssel-Features**
+ Analysiert die JSON-Struktur nach umfassenden Abhängigkeitsdetails
+  Extrahiert Paketnamen und Versionen in eine `libraries` Liste. 

**`.deps.json`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `.deps.json`-Datei dargestellt. 

```
{
"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"
    },
}
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### packages.lock.json
<a name="w2aac37c25c11b9"></a>

 Die `packages.lock.json` Datei wird von neueren Versionen von verwendetNuget, um genaue Versionen von Abhängigkeiten für ein .NET Projekt zu sperren, um sicherzustellen, dass dieselben Versionen in verschiedenen Umgebungen konsistent verwendet werden. 

**Schlüssel-Features**
+ Analysiert die JSON-Struktur, um gesperrte Abhängigkeiten aufzulisten
+ Unterstützt sowohl direkte als auch transitive Abhängigkeiten
+ Extrahiert den Paketnamen und die aufgelösten Versionen

**`packages.lock.json`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `packages.lock.json`-Datei dargestellt. 

```
{
"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=="
  }
}
}
}
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `.csproj` Datei ist in XML geschrieben und die Projektdatei für Projekte. .NET Sie enthält Verweise auf Nuget Pakete, Projekteigenschaften und Build-Konfigurationen. 

**Schlüssel-Features**
+  Analysiert die XML-Struktur, um Paketverweise zu extrahieren 

**`.csproj`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `.csproj`-Datei dargestellt. 

```
<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`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `.csproj`-Datei dargestellt. 

```
<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)" />
```

**Anmerkung**  
 Jede dieser Dateien erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Scannen von PHP-Abhängigkeiten
<a name="w2aac37c25c13"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| PHP | Composer | `composer.lock`<br />`/vendor/composer/installed.json` | –<br />– | –<br />– | Ja<br />Ja | –<br />– | Ja<br />Ja | 

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

 Die `composer.lock` Datei wird automatisch generiert, wenn die Befehle composer install oder composer update ausgeführt werden. Diese Datei garantiert, dass in jeder Umgebung dieselben Versionen von Abhängigkeiten installiert sind. Dies sorgt für einen konsistenten und zuverlässigen Erstellungsprozess. 

**Schlüssel-Features**
+  Analysiert das JSON-Format für strukturierte Daten 
+  Extrahiert Namen und Versionen von Abhängigkeiten 

**`composer.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `composer.lock`-Datei dargestellt. 

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

**Anmerkung**  
 Dadurch wird eine Ausgabe erzeugt, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben, und sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `/vendor/composer/installed.json` Datei befindet sich im `vendor/composer` Verzeichnis und bietet eine umfassende Liste aller installierten Pakete und Paketversionen. 

**Schlüssel-Features**
+  Analysiert das JSON-Format für strukturierte Daten 
+  Extrahiert die Namen und die Version der Abhängigkeiten 

**`/vendor/composer/installed.json`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `/vendor/composer/installed.json`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Scannen von Python-Abhängigkeiten
<a name="w2aac37c25c15"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 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 />Ja<br />–<br />– | –<br />–<br />–<br />–<br />–<br />– | –<br />–<br />–<br />–<br />–<br />– | Ja<br />Ja<br />Ja<br />Ja<br />Ja<br />Ja | 

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

 Die `requirements.txt` Datei ist ein in Python Projekten weit verbreitetes Format, um Projektabhängigkeiten zu spezifizieren. Jede Zeile in dieser Datei enthält ein Paket mit seinen Versionseinschränkungen. Der Amazon Inspector SBOM Generator analysiert diese Datei, um Abhängigkeiten genau zu identifizieren und zu katalogisieren. 

**Schlüssel-Features**
+  Unterstützt Versionsbezeichner (== und =) 
+  Unterstützt Kommentare und komplexe Abhängigkeitszeilen 

**Anmerkung**  
 Die Versionsbezeichner <= und => werden nicht unterstützt. 

**`requirements.txt`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `requirements.txt`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Pipenvist ein Tool, das das Beste aus allen Verpackungswelten bietet (gebündelt, gepinnt und unverheftet). Es `Pipfile.lock` sperrt genaue Versionen von Abhängigkeiten, um deterministische Builds zu ermöglichen. Der Amazon Inspector SBOM Generator liest diese Datei, um Abhängigkeiten und ihre aufgelösten Versionen aufzulisten. 

**Schlüssel-Features**
+  Analysiert das JSON-Format auf die Auflösung von Abhängigkeiten 
+  Unterstützt Standard- und Entwicklungsabhängigkeiten 

**`Pipfile.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `Pipfile.lock`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Poetryist ein Tool zur Verwaltung und Paketierung von Abhängigkeiten für Python. Die `Poetry.lock` Datei sperrt genaue Versionen von Abhängigkeiten, um konsistente Umgebungen zu ermöglichen. Der Amazon Inspector SBOM Generator extrahiert detaillierte Abhängigkeitsinformationen aus dieser Datei. 

**Schlüssel-Features**
+  Analysiert das TOML-Format für strukturierte Daten 
+  Extrahiert Namen und Versionen von Abhängigkeiten 

**`Poetry.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `Poetry.lock`-Datei dargestellt. 

```
[[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"
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 uvist ein schneller Python Paketmanager, in den geschrieben wurde. Rust Die `uv.lock` Datei sperrt genaue Versionen von Abhängigkeiten, um konsistente Umgebungen zu ermöglichen. Der Amazon Inspector SBOM Generator extrahiert detaillierte Abhängigkeitsinformationen aus dieser Datei. 

**Schlüssel-Features**
+  Analysiert das für strukturierte Daten formatierte TOML `uv.lock` 
+  Extrahiert Namen und Versionen von Abhängigkeiten 
+  Unterstützt Entwicklungsabhängigkeiten 
+  Sammelt nur Pakete, deren Quelle eine Registrierung ist 

**`uv.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `uv.lock`-Datei dargestellt. 

```
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" },
]
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### Eier/Rad
<a name="w2aac37c25c15c15"></a>

 Für global installierte Python-Pakete unterstützt der Amazon Inspector SBOM Generator das Parsen von Metadatendateien in den `.egg-info/PKG-INFO` Verzeichnissen und. `.dist-info/METADATA` Diese Dateien enthalten detaillierte Metadaten zu installierten Paketen. 

**Schlüssel-Features**
+  Extrahiert den Paketnamen und die Version 
+  Unterstützt sowohl Eier- als auch Radformate 

**Erweiterte Standard-Scanpfade (Sbomgen 1.13.0 und höher)**  
 In Amazon Inspector SBOM Generator Version 1.13.0 und höher wurden die standardmäßigen Localhost-Scanpfade des Scanners um `pip` Installationen auf Benutzerebene (`pip install --user`) und Installationen erweitert, die durch den Befehl erzeugt wurden. `uv tool install` Dies ermöglicht die Erkennung von Python-Paketen, die außerhalb des gesamten Systems installiert sind`site-packages`, einschließlich Frameworks wie CrewAI, deren empfohlene Installationsmethode ist. `uv tool install crewai`   
 Standard-Scanpfade wurden hinzugefügt:   
 Linux—`/home/*/.local/lib/python*/site-packages/`, `/home/*/.local/share/uv/tools/*/lib/python*/site-packages/` (mit `/root/` Entsprechungen für Container, die als Root ausgeführt werden). 
 Windows – `%APPDATA%\Python\Python*\Lib\site-packages\`, `%LOCALAPPDATA%\uv\tools\*\Lib\site-packages\`. 
 Verwenden Sie für nicht standardmäßige Python Installationspräfixe auf einer beliebigen Plattform das `--path` Argument, um den Scanner auf den Installationsort zu verweisen. 

**`PKG-INFO/METADATA`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `PKG-INFO/METADATA`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Scannen von Abhängigkeiten in Ruby
<a name="w2aac37c25c17"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolchaining-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Ruby | Bundler | `Gemfile.lock`<br />`.gemspec`<br />`globall installed Gems` | –<br />–<br />– | –<br />–<br />– | Ja<br />–<br />– | –<br />–<br />– | Ja<br />Ja<br />Ja | 

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

 Die `Gemfile.lock` Datei sperrt die exakten Versionen aller Abhängigkeiten, um sicherzustellen, dass in jeder Umgebung dieselben Versionen verwendet werden. 

**Schlüssel-Features**
+  Analysiert die `Gemfile.lock` Datei, um Abhängigkeiten und Abhängigkeitsversionen zu identifizieren 
+  Extrahiert detaillierte Paketnamen und Paketversionen 

**`Gemfile.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `Gemfile.lock`-Datei dargestellt. 

```
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)
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `.gemspec` Datei ist eine RubyGem Datei, die Metadaten zu einem Edelstein enthält. Der Amazon Inspector SBOM Generator analysiert diese Datei, um detaillierte Informationen über einen Edelstein zu sammeln. 

**Schlüssel-Features**
+  Analysiert und extrahiert den Edelsteinnamen und die Edelsteinversion 

**Anmerkung**  
 Die Referenzspezifikation wird nicht unterstützt. 

**`.gemspec`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `.gemspec`-Datei dargestellt. 

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

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### Weltweit installierte Edelsteine
<a name="w2aac37c25c17b9"></a>

 Der Amazon Inspector SBOM Generator unterstützt das Scannen global installierter Gems, die sich in Standardverzeichnissen wie `/usr/local/lib/ruby/gems/<ruby_version>/gems/` Amazon EC2/Amazon ECR und Lambda befinden. `ruby/gems/<ruby_version>/gems/` Dadurch wird sichergestellt, dass alle global installierten Abhängigkeiten identifiziert und katalogisiert werden. 

**Schlüssel-Features**
+  Identifiziert und scannt alle global installierten Gems in Standardverzeichnissen 
+  Extrahiert Metadaten und Versionsinformationen für jedes global installierte Gem 

**Beispiel für eine Verzeichnisstruktur**  
 Das Folgende ist ein Beispiel für eine Verzeichnisstruktur. 

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

**Anmerkung**  
 Diese Struktur erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben, und sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Scannen von Abhängigkeiten auf Rost
<a name="w2aac37c25c19"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Rust | Cargo.toml | `Cargo.toml`<br />`Cargo.lock`<br /> `Rust binary (built with cargo-auditable)` | –<br />–<br />Ja | –<br />–<br />– | –<br />Ja<br />– | –<br />–<br />– | Ja<br />Ja<br />Ja | 

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

 Die `Cargo.toml` Datei ist die Manifestdatei für Projekte. Rust 

**Schlüssel-Features**
+  Analysiert und extrahiert die `Cargo.toml` Datei, um den Namen und die Version des Projektpakets zu identifizieren. 

**`Cargo.toml`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `Cargo.toml`-Datei dargestellt. 

```
[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"
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

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

 Die `Cargo.lock` Datei sperrt Abhängigkeitsversionen, um sicherzustellen, dass bei der Erstellung eines Projekts dieselben Versionen verwendet werden. 

**Schlüssel-Features**
+  Analysiert die `Cargo.lock` Datei, um alle Abhängigkeiten und Abhängigkeitsversionen zu identifizieren. 

**`Cargo.lock`-Beispieldatei**  
 Im Folgenden wird ein Beispiel für eine `Cargo.lock`-Datei dargestellt. 

```
# 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"
```

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

### Rust-Binärdateien mit überprüfbarer Ladung
<a name="w2aac37c25c19b9"></a>

 Der Amazon Inspector SBOM Generator sammelt Abhängigkeiten von Rust Binärdateien, die mit der Bibliothek erstellt wurden. `cargo-auditable` Dadurch werden zusätzliche Abhängigkeitsinformationen bereitgestellt, indem die Extraktion von Abhängigkeiten aus kompilierten Binärdateien aktiviert wird. 

**Schlüssel-Features**
+  Extrahiert Abhängigkeitsinformationen direkt aus Rust Binärdateien, die mit der Bibliothek erstellt wurden `cargo-auditable` 
+  Ruft Metadaten und Versionsinformationen für Abhängigkeiten ab, die in den Binärdateien enthalten sind 

**Anmerkung**  
 Diese Datei erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Schnelles Scannen von Abhängigkeiten
<a name="w2aac37c25c21"></a>


| Programmiersprache | Paketmanager | Unterstützte Artefakte | Toolketten-Unterstützung | Abhängigkeiten bei der Entwicklung | Transitive Abhängigkeiten | Private Flagge | Rekursiv | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Swift | Swift Package Manager | `Package.resolved (v1, v2, and v3)` | – | – | – | – | Ja | 

### Paket. Gelöst
<a name="w2aac37c25c21b5"></a>

 Die `Package.resolved` Datei wird vom Swift Package Manager generiert, um genaue Versionen von Abhängigkeiten für ein Swift Projekt zu sperren. Der Amazon Inspector SBOM Generator analysiert diese Datei, um Abhängigkeitsnamen, Versionen und Quell-Repository-Informationen zu sammeln. Die Schemaversionen 1, 2 und 3 des `Package.resolved` Formats werden unterstützt. 

**Anmerkung**  
 Der Amazon Inspector SBOM Generator generiert die `Package.resolved` Datei nicht. Wenn Ihr Projekt noch keine `Package.resolved` Datei enthält, müssen Sie diese vor dem Scannen generieren, indem Sie sie `swift package resolve` in Ihrem Projektverzeichnis ausführen. 

**Unterstützte Artefakte**
+  `Package.resolved`(Schemaversion 1) 
+  `Package.resolved`(Schemaversion 2) 
+  `Package.resolved`(Schemaversion 3) 

**Schlüssel-Features**
+  Extrahiert Abhängigkeitsnamen und gesperrte Versionen aus angehefteten Paketen 
+  Leitet den Paket-Namespace von der URL des Quell-Repositorys ab (zum Beispiel) `github.com/Alamofire` 
+  Überspringt nur Branch-Pins, für die es keine aufgelöste Version gibt 
+  Filtert lokale Quellcodeverwaltungs- und Dateisystemabhängigkeiten heraus 
+  Schließt `Package.resolved` Dateien innerhalb von `.build/` Verzeichnissen aus, um das Sammeln von Abhängigkeiten aus dem Swift Package Manager-Build-Cache zu verhindern 

**Anmerkung**  
 Die `Package.resolved` Datei ist plattformunabhängig. Der Amazon Inspector SBOM Generator erkennt diese Datei rekursiv aufLinux, und. macOS Windows 

**Beispieldatei `Package.resolved` (v2)**  
 Das Folgende ist ein Beispiel für eine Version `Package.resolved` 2-Datei. 

```
{
  "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`Beispieldatei (v1)**  
 Das Folgende ist ein Beispiel für eine Version `Package.resolved` 1-Datei. 

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

**Beispiel PURL**  
 Im Folgenden finden Sie ein Beispiel für eine Paket-URL für eine Swift Package Manager-Abhängigkeit. 

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

**Anmerkung**  
 Jede dieser Dateien erzeugt eine Ausgabe, die eine Paket-URL enthält. Diese URL kann verwendet werden, um Informationen zu Softwarepaketen bei der Generierung einer Softwareliste anzugeben. Sie kann in die [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API aufgenommen werden. Weitere Informationen finden Sie unter [package-url](https://github.com/package-url/purl-spec) auf der GitHub Website. 

## Nicht unterstützte Artefakte
<a name="w2aac37c25c23"></a>

 In diesem Abschnitt werden nicht unterstützte Artefakte beschrieben. 

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

 Der Amazon Inspector SBOM Generator Generator unterstützt nur die Erkennung von Sicherheitslücken für Abhängigkeiten, [die aus dem Maven Mainstream-Repository](https://repo1.maven.org/maven2) stammen. Private oder benutzerdefinierte Maven Repositorys wie Red Hat Maven und werden nicht Jenkins unterstützt. Stellen Sie für eine genaue Erkennung von Sicherheitslücken sicher, dass Java Abhängigkeiten aus dem Maven Mainstream-Repository abgerufen werden. Abhängigkeiten von anderen Repositorys werden bei Schwachstellenscans nicht berücksichtigt. 

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

**Esbuild-Pakete**  
 Bei esbuild minimierten Paketen unterstützt der Amazon Inspector SBOM Generator keinen Abhängigkeitsscan für Projekte mit. esbuild Quellzuordnungen, die von generiert wurdenesbuild, enthalten nicht genügend Metadaten (Namen und Versionen von Abhängigkeiten), die für eine genaue Generierung erforderlich sind. Sbomgen Um zuverlässige Ergebnisse zu erzielen, scannen Sie vor dem Bündelungsprozess die ursprünglichen Projektdateien`package-lock.json`, z. B. die Dateien `node_modules/directory` und. 

**package.json**  
 Der Amazon Inspector SBOM Generator unterstützt das Scannen der package.json-Datei auf Stammebene nicht nach Abhängigkeitsinformationen. Diese Datei spezifiziert nur Paketnamen und Versionsbereiche, enthält jedoch keine vollständig aufgelösten Paketversionen. Verwenden Sie `package.json` oder andere Sperrdateien wie `yarn.lock` und, die aufgelöste Versionen enthalten`pnpm.lock`, um genaue Scanergebnisse zu erzielen. 

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

 Wenn Sie schwebende Versionen oder Versionsbereiche in verwenden`PackageReference`, wird es schwieriger, die genaue Paketversion zu ermitteln, die in einem Projekt verwendet wird, ohne die Paketauflösung durchzuführen. Schwebende Versionen und Versionsbereiche ermöglichen es Entwicklern, anstelle einer festen Version eine Reihe akzeptabler Paketversionen anzugeben. 

### Gehen Sie zu Binärdateien
<a name="w2aac37c25c23c11"></a>

 Der Amazon Inspector SBOM Generator scannt keine Go Binärdateien, die mit Build-Flags erstellt wurden, die so konfiguriert sind, dass sie die Build-ID ausschließen. Diese Build-Flags verhindern, dass Amazon Inspector SBOM Generator die Binärdatei genau ihrer ursprünglichen Quelle zuordnet. Unklare Go Binärdateien werden nicht unterstützt, da Paketinformationen nicht extrahiert werden können. Stellen Sie sicher, dass Go Binärdateien mit Standardeinstellungen, einschließlich der Build-ID, erstellt wurden, um genaue Abhängigkeiten zu überprüfen. 

### Rust-Binärdateien
<a name="w2aac37c25c23c13"></a>

 [Der Amazon Inspector SBOM Generator scannt nur Binärdateien, wenn die Rust Binärdateien mit der Cargo-Auditable Library erstellt wurden.](https://github.com/rust-secure-code/cargo-auditable) RustBinärdateien, die diese Bibliothek nicht verwenden, verfügen nicht über die notwendigen Metadaten für eine genaue Extraktion von Abhängigkeiten. Der Amazon Inspector SBOM Generator extrahiert die kompilierte Rust Toolchainversion ab Version Rust 1.7.3, jedoch nur für Binärdateien in einer Umgebung. Linux Für umfassende Scans sollten Sie Binärdateien mithilfe von cargo-auditable erstellenRust. Linux 

**Anmerkung**  
 Die Erkennung von Sicherheitslücken für die Rust Toolchain selbst wird nicht unterstützt, selbst wenn die Version der Toolchain extrahiert wurde. 