

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Raccolta delle dipendenze del linguaggio di programmazione
<a name="sbom-generator-dependency-collection"></a>

 Amazon Inspector SBOM Generator supporta diversi linguaggi e framework di programmazione, che costituiscono una raccolta solida e dettagliata di dipendenze. La generazione di un SBOM ti aiuta a comprendere la composizione del tuo software, in modo da poter identificare le vulnerabilità e mantenere la conformità agli standard di sicurezza. Amazon Inspector SBOM Generator supporta i seguenti linguaggi di programmazione e formati di file. 

## Vai alla scansione delle dipendenze
<a name="w2aac37c23b5"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Go | Go |  `go.mod` `go.sum` `Go Binaries` `GOMODCACHE`  |  N/D N/D Sì N/D  |  N/D N/D N/D N/D  |  N/D N/D N/D N/D  |  N/D N/D N/D N/D  |  Sì  Sì Sì No  | 

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

 Usa `go.sum` i file per definire `go.mod` e bloccare le dipendenze nei progetti. Go Amazon Inspector SBOM Generator gestisce questi file in modo diverso in base alla versione della toolchain. Go 

**Funzionalità principali**
+  Raccoglie le dipendenze da `go.mod` (se la versione della Go toolchain è 1.17 o successiva) 
+  Raccoglie le dipendenze da `go.sum` (se la versione della Go toolchain è 1.17 o precedente) 
+  Analizza `go.mod` per identificare tutte le dipendenze e le versioni delle dipendenze dichiarate 

**Esempio di file `go.mod`**  
 Di seguito è riportato un esempio di file. `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
)
```

**Esempio di file `go.sum`**  
 Quello che segue è un esempio di `go.sum` file. 

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

**Nota**  
 Ciascuno di questi file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

### Go Binaries
<a name="w2aac37c23b5b7"></a>

 Amazon Inspector SBOM Generator estrae le dipendenze dai Go file binari compilati per garantire il codice in uso. 

**Nota**  
 Amazon Inspector SBOM Generator supporta l'acquisizione e la valutazione delle versioni della toolchain da file binari creati utilizzando il compilatore ufficiale. Go Go [Per ulteriori informazioni, consulta Download e installazione sul sito Web.](https://go.dev/doc/install) Go Se si utilizza la Go toolchain di un altro fornitore, ad esempio, la valutazione potrebbe non essere accurata a causa di potenziali differenze nella distribuzione e nella disponibilità dei metadati. Red Hat 

**Funzionalità principali**
+  Estrae le informazioni sulle dipendenze direttamente dai file binari Go 
+  Raccoglie le dipendenze incorporate nel file binario 
+  Rileva ed estrae la versione della Go toolchain utilizzata per compilare il file binario. 

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

 Amazon Inspector SBOM Generator analizza la cache del Go modulo per raccogliere informazioni sulle dipendenze installate. Questa cache memorizza i moduli scaricati per garantire che le stesse versioni vengano utilizzate in build diverse. 

**Funzionalità principali**
+  Esegue la scansione della `GOMODCACHE` directory per identificare i moduli memorizzati nella cache 
+  Estrae i metadati dettagliati, inclusi i nomi dei moduli, le versioni e l'origine URLs 

**Struttura di esempio**  
 Di seguito è riportato un esempio di `GOMODCACHE` struttura. 

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

**Nota**  
 Questa struttura produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze in Java
<a name="w2aac37c23b7"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Java | Maven |  JavaApplicazioni compilate (.jar/.war/.ear) `pom.xml`  |  N/D N/D  |  N/D N/D  |  Sì  Sì  |  N/D N/D  |  Sì  Sì  | 

**Nota**  
 La nostra funzione di valutazione delle vulnerabilità supporta solo il repository Maven Central. I repository di terze parti, ad esempio, non sono attualmente JBoss Enterprise Maven Repository supportati. 

 Amazon Inspector SBOM Generator esegue la scansione delle Java dipendenze analizzando applicazioni e file compilati. Java `pom.xml` Durante la scansione di applicazioni compilate, lo scanner genera hash SHA—1 per la verifica dell'integrità, estrae i file incorporati e analizza i file annidati. `pom.properties` `pom.xml` 

### Raccolta di hash SHA—1 (per file compilati in formato.jar, .war, .ear)
<a name="w2aac37c23b7b9"></a>

 Amazon Inspector SBOM Generator cerca di raccogliere hash SHA—1 per tutti e `.war` file in un progetto per garantire l'`.ear`integrità `.jar` e la tracciabilità degli artefatti compilati. Java 

**Funzionalità principali**
+  Genera hash SHA—1 per tutti gli artefatti compilati Java 

**Esempio di artefatto**  
 Di seguito è riportato un esempio di artefatto 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"
    }
  ]
}
```

**Nota**  
 Questo artefatto produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `pom.properties` file viene utilizzato nei Maven progetti per archiviare i metadati del progetto, inclusi i nomi e le versioni dei pacchetti. Amazon Inspector SBOM Generator analizza questo file per raccogliere informazioni sul progetto. 

**Funzionalità principali**
+  Analizza ed estrae gli elementi, i gruppi di pacchetti e le versioni dei pacchetti 

**Esempio di file `pom.properties`**  
 Di seguito è riportato un esempio di un file `pom.properties`. 

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

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

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

**Esclusa l'analisi annidata `pom.xml`**  
 Se si desidera escludere l'`pom.xml`analisi durante la scansione di Java applicazioni compilate, utilizzare l'argomento. `--skip-nested-pomxml` 

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

 Il `pom.xml` file è il file di configurazione principale per i Maven progetti. Contiene informazioni sui progetti e sulle dipendenze dei progetti. Amazon Inspector SBOM Generator analizza pom.xml i file per raccogliere le dipendenze, scansiona i file autonomi nei repository e i file all'interno di file compilati. .jar 

**Funzionalità principali**
+  Analizza ed estrae gli elementi dei pacchetti, i gruppi di pacchetti e le versioni dei pacchetti dai file. `pom.xml` 

**Ambiti e tag supportati Maven**  
 Le dipendenze vengono raccolte con i seguenti ambiti: Maven 
+  compile 
+  fornito 
+  runtime 
+  test 
+  sistema 
+  importare 

 Le dipendenze vengono raccolte con il seguente tag:Maven. `<optional>true</optional>` 

**`pom.xml`File di esempio con un ambito**  
 Di seguito è riportato un esempio di `pom.xml` file con un ambito. 

```
<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`File di esempio senza ambito**  
 Di seguito è riportato un esempio di `pom.xml` file senza ambito. 

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

**Nota**  
 Ciascuno di questi file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## JavaScript scansione delle dipendenze
<a name="w2aac37c23b9"></a>


| linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Javascript |  `Node Modules` `NPM` `PNPM` `YARN`  |  `node_modules/*/package.json` `package-lock.json (v1, v2, and v3) / npm-shrinkwrap.json` `pnpm-lock.yaml` `yarn.lock`  |  N/D N/D N/D N/D  |  N/D Sì  Sì Sì  |  Sì N/D N/D N/D  |  Sì N/D N/D N/D  |  Sì No No No  | 

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

 Il `package.json` file è un componente fondamentale dei progetti. Node.js Contiene metadati sui pacchetti installati. Amazon Inspector SBOM Generator analizza questo file per identificare i nomi e le versioni dei pacchetti. 

**Funzionalità principali**
+  Analizza la struttura dei file JSON per estrarre i nomi e le versioni dei pacchetti 
+  Identifica i pacchetti privati con valori privati 

**Esempio di file `package.json`**  
 Di seguito è riportato un esempio di un file `package.json`. 

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

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `package-lock.json` file viene generato automaticamente da npm per bloccare le versioni esatte delle dipendenze installate per un progetto. Garantisce la coerenza negli ambienti memorizzando le versioni esatte di tutte le dipendenze e le relative sottodipendenze. Questo file può distinguere tra dipendenze regolari e dipendenze di sviluppo. 

**Funzionalità principali**
+  Analizza la struttura dei file JSON per estrarre i nomi e le versioni dei pacchetti 
+  Supporta il rilevamento delle dipendenze degli sviluppatori 

**Esempio di file `package-lock.json`**  
 Di seguito è riportato un esempio di un file `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="
}
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 npmgenera automaticamente `npm-shrinkwrap.json` file `package-lock.json` e file per bloccare le versioni esatte delle dipendenze installate per un progetto. Ciò garantisce la coerenza negli ambienti memorizzando le versioni esatte di tutte le dipendenze e sottodipendenze. I file distinguono tra dipendenze regolari e dipendenze di sviluppo. 

**Funzionalità principali**
+  Analizza `package-lock` le versioni 1, 2 e 3 della struttura del JSON file per estrarre il nome e la versione del pacchetto 
+  È supportato il rilevamento delle dipendenze degli sviluppatori (`package-lock.json`acquisisce le dipendenze di produzione e sviluppo, consentendo agli strumenti di identificare quali pacchetti vengono utilizzati negli ambienti di sviluppo) 
+  Al `npm-shrinkwrap.json` file viene data la priorità rispetto al file `package-lock.json` 

**Esempio**  
 Di seguito è riportato un esempio di un file `package-lock.json`. 

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

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

 Il `pnpm-lock.yaml` file viene generato da pnpm per mantenere un registro delle versioni di dipendenza installate. Inoltre, tiene traccia delle dipendenze di sviluppo separatamente. 

**Funzionalità principali**
+  Analizza la struttura dei file YAML per estrarre i nomi e le versioni dei pacchetti 
+  Supporta il rilevamento delle dipendenze degli sviluppatori 

**Esempio**  
 Di seguito è riportato un esempio di un file `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
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Amazon Inspector SBOM Generator cerca di raccogliere hash SHA—1 e `.war` file in un progetto per garantire l'`.ear`integrità `.jar` e la tracciabilità degli artefatti compilati. Java 

**Funzionalità principali**
+  Genera hash SHA—1 per tutti gli artefatti compilati Java 

**Esempio di artefatto SHA—1**  
 Di seguito è riportato un esempio di artefatto 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
```

**Nota**  
 Questo artefatto produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze.NET
<a name="w2aac37c23c11"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| .NET |  `.NET Core` `Nuget` `Nuget` `.NET`  |  `*.deps.json` `Packages.config` `packages.lock.json` `.csproj`  |  N/D N/D N/D N/D  |  N/D N/D N/D N/D  |  N/D N/D Sì N/D  |  N/D N/D N/D N/D  |  Sì  Sì Sì Sì  | 

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

 Il `Packages.config` file è un file XML utilizzato da una versione precedente di per gestire le dipendenze del progettoNuget. Elenca tutti i pacchetti a cui fa riferimento il progetto, incluse versioni specifiche. 

**Funzionalità principali**
+  Analizza la struttura XML per estrarre pacchetti IDs e versioni 

**Esempio**  
 Di seguito è riportato un esempio di un file `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>
```

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `*.deps.json` file viene generato dai .NET Core progetti e contiene informazioni dettagliate su tutte le dipendenze, inclusi percorsi, versioni e dipendenze di runtime. Questo file assicura che il runtime disponga delle informazioni necessarie per caricare le versioni corrette delle dipendenze. 

**Funzionalità principali**
+ Analizza la struttura JSON per dettagli completi sulle dipendenze
+  Estrae i nomi e le versioni dei pacchetti in un elenco. `libraries` 

**Esempio di file `.deps.json`**  
 Di seguito è riportato un esempio di un file `.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"
    },
}
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `packages.lock.json` file viene utilizzato dalle versioni più recenti di Nuget per bloccare le versioni esatte delle dipendenze di un .NET progetto per garantire che le stesse versioni vengano utilizzate in modo coerente in ambienti diversi. 

**Funzionalità principali**
+ Analizza la struttura JSON per elencare le dipendenze bloccate
+ Supporta dipendenze dirette e transitive
+ Estrae il nome del pacchetto e le versioni risolte

**Esempio di file `packages.lock.json`**  
 Di seguito è riportato un esempio di un file `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=="
  }
}
}
}
```

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `.csproj` file è scritto in XML e il file di progetto è per i progetti. .NET Include riferimenti a Nuget pacchetti, proprietà del progetto e configurazioni di build. 

**Funzionalità principali**
+  Analizza la struttura XML per estrarre i riferimenti ai pacchetti 

**Esempio di file `.csproj`**  
 Di seguito è riportato un esempio di un file `.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>
```

**Esempio di file `.csproj`**  
 Di seguito è riportato un esempio di un file `.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)" />
```

**Nota**  
 Ciascuno di questi file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze PHP
<a name="w2aac37c23c13"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| PHP | Composer |  `composer.lock` `/vendor/composer/installed.json`  |  N/D N/D  |  N/D N/D  |  Sì  Sì  |  N/D N/D  |  Sì  Sì  | 

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

 Il `composer.lock` file viene generato automaticamente quando si eseguono i comandi composer install o composer update. Questo file garantisce che le stesse versioni delle dipendenze siano installate in ogni ambiente. Ciò fornisce un processo di compilazione coerente e affidabile. 

**Funzionalità principali**
+  Analizza il formato JSON per i dati strutturati 
+  Estrae i nomi e le versioni delle dipendenze 

**Esempio di file `composer.lock`**  
 Di seguito è riportato un esempio di un file `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
}
```

**Nota**  
 Questo produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `/vendor/composer/installed.json` file si trova nella `vendor/composer` directory e fornisce un elenco completo di tutti i pacchetti installati e delle versioni dei pacchetti. 

**Funzionalità principali**
+  Analizza il formato JSON per i dati strutturati 
+  Estrae i nomi e la versione delle dipendenze 

**Esempio di file `/vendor/composer/installed.json`**  
 Di seguito è riportato un esempio di un file `/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
}
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze in Python
<a name="w2aac37c23c15"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Python |  `pip` `Poetry` `Pipenv` `uv` `Egg/Wheel`  |  `requirements.txt` `Poetry.lock` `Pipfile.lock` `uv.lock` `.egg-info/PKG-INFO` `.dist-info/METADATA`  |  N/D N/D N/D N/D N/D N/D  |  N/D N/D N/D Sì N/D N/D  |  N/D N/D N/D N/D N/D N/D  |  N/D N/D N/D N/D N/D N/D  |  Sì  Sì Sì Sì Sì Sì  | 

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

 Il `requirements.txt` file è un formato ampiamente utilizzato nei Python progetti per specificare le dipendenze del progetto. Ogni riga di questo file include un pacchetto con i relativi vincoli di versione. Amazon Inspector SBOM Generator analizza questo file per identificare e catalogare accuratamente le dipendenze. 

**Funzionalità principali**
+  Supporta gli specificatori di versione (== e =) 
+  Supporta commenti e linee di dipendenza complesse 

**Nota**  
 Gli specificatori di versione <= e => non sono supportati. 

**Esempio di file `requirements.txt`**  
 Di seguito è riportato un esempio di un file `requirements.txt`. 

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

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Pipenvè uno strumento che offre il meglio di tutti i mondi del packaging (impacchettato, bloccato e sbloccato). `Pipfile.lock`Blocca le versioni esatte delle dipendenze per facilitare le build deterministiche. Amazon Inspector SBOM Generator legge questo file per elencare le dipendenze e le relative versioni risolte. 

**Funzionalità principali**
+  Analizza il formato JSON per la risoluzione delle dipendenze 
+  Supporta le dipendenze predefinite e di sviluppo 

**Esempio di file `Pipfile.lock`**  
 Di seguito è riportato un esempio di un file `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"
    }
}
}
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Poetryè uno strumento di gestione e pacchettizzazione delle dipendenze per Python. Il `Poetry.lock` file blocca le versioni esatte delle dipendenze per facilitare ambienti coerenti. Amazon Inspector SBOM Generator estrae informazioni dettagliate sulle dipendenze da questo file. 

**Funzionalità principali**
+  Analizza il formato TOML per i dati strutturati 
+  Estrae i nomi e le versioni delle dipendenze 

**Esempio di file `Poetry.lock`**  
 Di seguito è riportato un esempio di un file `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"
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 uvè un gestore di Python pacchetti veloce scritto in. Rust Il `uv.lock` file blocca le versioni esatte delle dipendenze per facilitare ambienti coerenti. Amazon Inspector SBOM Generator estrae informazioni dettagliate sulle dipendenze da questo file. 

**Funzionalità principali**
+  Analizza il formato TOML per i dati strutturati `uv.lock` 
+  Estrae i nomi e le versioni delle dipendenze 
+  Supporta le dipendenze di sviluppo 
+  Raccoglie solo i pacchetti in cui l'origine è un registro 

**Esempio di file `uv.lock`**  
 Di seguito è riportato un esempio di un file `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" },
]
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

### Uovo/Ruota
<a name="w2aac37c23c15c15"></a>

 Per i pacchetti Python installati a livello globale, Amazon Inspector SBOM Generator supporta l'analisi dei file di metadati presenti nelle directory and. `.egg-info/PKG-INFO` `.dist-info/METADATA` Questi file forniscono metadati dettagliati sui pacchetti installati. 

**Funzionalità principali**
+  Estrae il nome e la versione del pacchetto 
+  Supporta sia i formati a uovo che a forma di ruota 

**Esempio di file `PKG-INFO/METADATA`**  
 Di seguito è riportato un esempio di un file `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/
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze con Ruby
<a name="w2aac37c23c17"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per il toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Ruby | Bundler |  `Gemfile.lock` `.gemspec` `globall installed Gems`  |  N/D N/D N/D  |  N/D N/D N/D  |  Sì N/D N/D  |  N/D N/D N/D  |  Sì  Sì Sì  | 

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

 Il `Gemfile.lock` file blocca le versioni esatte di tutte le dipendenze per garantire che le stesse versioni vengano utilizzate in ogni ambiente. 

**Funzionalità principali**
+  Analizza il `Gemfile.lock` file in base alle dipendenze e alle versioni delle dipendenze 
+  Estrae i nomi dettagliati dei pacchetti e le versioni dei pacchetti 

**Esempio di file `Gemfile.lock`**  
 Di seguito è riportato un esempio di un file `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)
```

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `.gemspec` file è un RubyGem file contenente metadati su una gemma. Amazon Inspector SBOM Generator analizza questo file per raccogliere informazioni dettagliate su una gemma. 

**Funzionalità principali**
+  Analizza ed estrae il nome e la versione della gemma 

**Nota**  
 La specifica di riferimento non è supportata. 

**Esempio di file `.gemspec`**  
 Di seguito è riportato un esempio di un file `.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
```

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

### Gemme installate a livello globale
<a name="w2aac37c23c17b9"></a>

 Amazon Inspector SBOM Generator supporta la scansione di gem installate a livello globale, che si trovano in directory standard, come Amazon `/usr/local/lib/ruby/gems/<ruby_version>/gems/` EC2/Amazon ECR e Lambda. `ruby/gems/<ruby_version>/gems/` Questo assicura che tutte le dipendenze installate a livello globale siano identificate e catalogate. 

**Funzionalità principali**
+  Identifica e analizza tutte le gem installate a livello globale in directory standard 
+  Estrae i metadati e le informazioni sulla versione per ogni gem installata a livello globale 

**Esempio di struttura di directory**  
 Di seguito è riportato un esempio di struttura di directory. 

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

**Nota**  
 Questa struttura produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Scansione delle dipendenze da Rust
<a name="w2aac37c23c19"></a>


| Linguaggio di programmazione | Programma di gestione dei pacchetti | Artefatti supportati | Supporto per la toolchain | Dipendenze di sviluppo | Dipendenze transitive | Bandiera privata | Ricorsivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Rust | Cargo.toml |  `Cargo.toml` `Cargo.lock`  `Rust binary (built with cargo-auditable)`  |  N/D N/D Sì  |  N/D N/D N/D  |  N/D Sì N/D  |  N/D N/D N/D  |  Sì  Sì Sì  | 

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

 Il `Cargo.toml` file è il file manifesto dei progetti. Rust 

**Funzionalità principali**
+  Analizza ed estrae il `Cargo.toml` file per identificare il nome e la versione del pacchetto del progetto. 

**Esempio di file `Cargo.toml`**  
 Di seguito è riportato un esempio di un file `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"
```

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

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

 Il `Cargo.lock` file blocca le versioni dipendenti per garantire che vengano utilizzate le stesse versioni ogni volta che viene creato un progetto. 

**Funzionalità principali**
+  Analizza il `Cargo.lock` file per identificare tutte le dipendenze e le versioni delle dipendenze. 

**Esempio di file `Cargo.lock`**  
 Di seguito è riportato un esempio di un file `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"
```

**Nota**  
 Questo file produce un output che contiene l'URL del pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

### File binari Rust con cargo-auditable
<a name="w2aac37c23c19b9"></a>

 Amazon Inspector SBOM Generator raccoglie le dipendenze dai Rust file binari creati con la libreria. `cargo-auditable` Ciò fornisce informazioni aggiuntive sulle dipendenze abilitando l'estrazione delle dipendenze dai binari compilati. 

**Funzionalità principali**
+  Estrae le informazioni sulle dipendenze direttamente dai Rust file binari creati con la libreria `cargo-auditable` 
+  Recupera i metadati e le informazioni sulla versione per le dipendenze incluse nei file binari 

**Nota**  
 Questo file produce un output che contiene l'URL di un pacchetto. Questo URL può essere utilizzato per specificare informazioni sui pacchetti software durante la generazione di una distinta base del software e può essere incluso nell'[ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Per ulteriori informazioni, consulta [package-url sul sito Web](https://github.com/package-url/purl-spec). GitHub 

## Artefatti non supportati
<a name="w2aac37c23c21"></a>

 Questa sezione descrive gli artefatti non supportati. 

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

 [Il generatore Amazon Inspector SBOM Generator supporta solo il rilevamento delle vulnerabilità per le dipendenze provenienti dal repository principale. Maven](https://repo1.maven.org/maven2) Gli Maven archivi privati o personalizzati, come e, non sono supportati. Red Hat Maven Jenkins Per un rilevamento accurato delle vulnerabilità, assicurati che Java le dipendenze vengano estratte dal repository principale. Maven Le dipendenze da altri repository non verranno coperte nelle scansioni di vulnerabilità. 

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

**pacchetti esbuild**  
 Per i pacchetti esbuild ridotti al minimo, Amazon Inspector SBOM Generator non supporta la scansione delle dipendenze per i progetti in uso. esbuild Le mappe di origine generate da esbuild non includono metadati sufficienti (nomi e versioni delle dipendenze) necessari per una generazione accurata. Sbomgen Per risultati affidabili, scansiona i file di progetto originali, come `node_modules/directory` e`package-lock.json`, prima del processo di raggruppamento. 

**package.json**  
 Amazon Inspector SBOM Generator non supporta la scansione del file package.json a livello di root per informazioni sulle dipendenze. Questo file specifica solo i nomi dei pacchetti e gli intervalli di versioni, ma non include le versioni dei pacchetti completamente risolte. Per risultati di scansione accurati, utilizzate `package.json` o altri file di blocco, come `yarn.lock` e`pnpm.lock`, che includono versioni risolte. 

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

 Quando si utilizzano versioni mobili o intervalli di versioni`PackageReference`, diventa più difficile determinare l'esatta versione del pacchetto utilizzata in un progetto senza eseguire la risoluzione del pacchetto. Le versioni e gli intervalli di versioni fluttuanti consentono agli sviluppatori di specificare un intervallo di versioni del pacchetto accettabili anziché una versione fissa. 

### Binari Go
<a name="w2aac37c23c21c11"></a>

 Amazon Inspector SBOM Generator non esegue la scansione di Go file binari creati con flag di build configurati per escludere l'ID di build. Questi flag di build impediscono ad Amazon Inspector SBOM Generator di mappare accuratamente il file binario alla sua fonte originale. I Go file binari non chiari non sono supportati a causa dell'impossibilità di estrarre le informazioni sui pacchetti. Per una scansione accurata delle dipendenze, assicurati che i Go file binari siano compilati con le impostazioni predefinite, incluso l'ID di build. 

### Binari Rust
<a name="w2aac37c23c21c13"></a>

 [Amazon Inspector SBOM Generator analizza i Rust file binari solo se questi sono stati creati utilizzando la libreria cargo-auditable.](https://github.com/rust-secure-code/cargo-auditable) Rusti file binari che non utilizzano questa libreria non dispongono dei metadati necessari per un'estrazione accurata delle dipendenze. Amazon Inspector SBOM Generator estrae la versione compilata della Rust toolchain a partire dalla Rust 1.7.3, ma solo per i file binari in un ambiente. Linux Per una scansione completa, crea file binari utilizzando cargo-auditable. Rust Linux 

**Nota**  
 Il rilevamento delle vulnerabilità per la Rust toolchain stessa non è supportato, anche se la versione della toolchain viene estratta. 