

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Coleção de dependências da linguagem de programação
<a name="sbom-generator-dependency-collection"></a>

 O Amazon Inspector SBOM Generator é compatível com diferentes linguagens e frameworks de programação, que compõem uma coleção robusta e detalhada de dependências. Gerar um SBOM ajuda você a entender a composição do software, para que você possa identificar vulnerabilidades e manter a conformidade com os padrões de segurança. O Amazon Inspector SBOM Generator é compatível com as linguagens de programação e formatos de arquivo a seguir. 

## Verificação de dependências do Go
<a name="w2aac37c25b5"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Go | Go | `go.mod`<br />`go.sum`<br />`Go Binaries`<br />`GOMODCACHE` | N/D<br />N/D<br />Sim<br />N/D | N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />N/D | Sim<br />Sim<br />Sim<br />Não | 

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

 Use arquivos `go.mod` e `go.sum` para definir e bloquear dependências em projetos do Go. O Amazon Inspector SBOM Generator gerencia esses arquivos de forma diferente com base na versão do conjunto de ferramentas do Go. 

**Recursos principais**
+  Coleta dependências de `go.mod` (se a versão do conjunto de ferramentas do Go é 1.17 ou posterior) 
+  Coleta dependências de `go.sum` (se a versão do conjunto de ferramentas do Go é 1.17 ou anterior) 
+  Analisa `go.mod` para identificar todas as dependências declaradas e versões de dependências 

**Exemplo de arquivo `go.mod`**  
 Este é um exemplo do arquivo `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
)
```

**Exemplo de arquivo `go.sum`**  
 Este é um exemplo do arquivo `go.sum`. 

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

**nota**  
 Cada um desses arquivos gera uma saída que contém um URL do pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

### Binários do Go
<a name="w2aac37c25b5b7"></a>

 O Amazon Inspector SBOM Generator extrai dependências de binários do Go compilados para fornecer garantia sobre o código em uso. 

**nota**  
 O Amazon Inspector SBOM Generator é compatível com a captura e avaliação de versões do conjunto de ferramentas a partir de binários do Go criados usando o compilador do Go oficial. Consulte mais informações em [Download and install](https://go.dev/doc/install) no site do Go. Se você estiver usando o conjunto de ferramentas do Go de outro fornecedor, como Red Hat, a avaliação pode não ser precisa devido a possíveis diferenças na distribuição e na disponibilidade de metadados. 

**Recursos principais**
+  Extrai informações de dependência diretamente dos binários do Go 
+  Coleta dependências incorporadas no binário 
+  Detecta e extrai a versão do conjunto de ferramentas do Go usada para compilar o binário. 

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

 O Amazon Inspector SBOM Generator verifica o cache do módulo do Go para coletar informações sobre dependências instaladas. Esse cache armazena os módulos baixados para garantir que as mesmas versões sejam usadas em diferentes compilações. 

**Recursos principais**
+  Verifica o diretório `GOMODCACHE` para identificar módulos em cache 
+  Extrai metadados detalhados, incluindo nomes de módulos, versões e fonte URLs 

**Exemplo de estrutura**  
 Veja a seguir um exemplo da estrutura `GOMODCACHE`. 

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

**nota**  
 Essa estrutura gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do Java
<a name="w2aac37c25b7"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Java | Maven | Aplicações do Java compiladas (.jar/.war/.ear)<br />`pom.xml` | N/D<br />N/D | N/D<br />N/D | Sim<br />Sim | N/D<br />N/D | Sim<br />Sim | 

**nota**  
 Nosso recurso de avaliação de vulnerabilidade só é compatível com o repositório Maven Central. Atualmente, não há suporte para repositórios de terceiros, como JBoss Enterprise Maven Repository. 

 O Amazon Inspector SBOM Generator faz a verificação de dependências do Java analisando arquivos `pom.xml` e aplicações do Java compiladas. Ao verificar aplicações compiladas, o verificador gera hashes SHA–1 para verificação de integridade, extrai arquivos `pom.properties` incorporados e analisa arquivos `pom.xml` aninhados. 

### Coleção de hash SHA–1 (para arquivos compilados .jar, .war, .ear)
<a name="w2aac37c25b7b9"></a>

 O Amazon Inspector SBOM Generator tenta coletar hashes SHA–1 para todos os arquivos `.ear`, `.jar` e `.war` em um projeto para garantir a integridade e a rastreabilidade dos artefatos compilados do Java. 

**Recursos principais**
+  Gera hashes SHA–1 para todos os artefatos compilados do Java 

**Artefato de exemplo**  
 Veja a seguir um exemplo de um artefato 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**  
 Esse artefato gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `pom.properties` é usado em projetos do Maven para armazenar metadados do projeto, incluindo nomes e versões de pacotes. O Amazon Inspector SBOM Generator analisa esse arquivo para coletar informações do projeto. 

**Recursos principais**
+  Analisa e extrai artefatos, grupos e versões de pacotes 

**Exemplo de arquivo `pom.properties`**  
 Este é um exemplo de um arquivo `pom.properties`. 

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

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

**nota**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

**Excluir a análise de `pom.xml` aninhados**  
 Se você quiser excluir a análise do `pom.xml` ao verificar aplicações compiladas do Java, use o argumento `--skip-nested-pomxml`. 

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

 O arquivo `pom.xml` é o de configuração principal para projetos do Maven. Ele contém informações sobre projetos e as respectivas dependências. O Amazon Inspector SBOM Generator analisa arquivos pom.xml para coletar dependências, verificando arquivos autônomos em repositórios e arquivos dentro de arquivos .jar compilados. 

**Recursos principais**
+  Analisa e extrai artefatos, grupos e versões de pacotes de arquivos `pom.xml`. 

**Escopos e tags do Maven compatíveis**  
 As dependências são coletadas com os seguintes escopos do Maven: 
+  compile 
+  fornecido 
+  runtime 
+  teste 
+  operacional 
+  Importar 

 As dependências são coletadas com a seguinte tag do Maven: `<optional>true</optional>`. 

**Exemplo de arquivo `pom.xml` com escopo**  
 Veja a seguir um exemplo de um arquivo `pom.xml` com escopo. 

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

**Exemplo de arquivo `pom.xml` sem escopo**  
 Veja a seguir um exemplo de um arquivo `pom.xml` sem escopo. 

```
<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**  
 Cada um desses arquivos gera uma saída que contém um URL do pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## JavaScript varredura de dependências
<a name="w2aac37c25b9"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 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` | N/D<br />N/D<br />N/D<br />N/D | N/D<br />Sim<br />Sim<br />Sim | Sim<br />N/D<br />N/D<br />N/D | Sim<br />N/D<br />N/D<br />N/D | Sim<br />Não<br />Não<br />Não | 

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

 O arquivo `package.json` é um componente essencial dos projetos do Node.js. Ele contém metadados sobre os pacotes instalados. O Amazon Inspector SBOM Generator verifica esse arquivo para identificar nomes e versões de pacotes. 

**Recursos principais**
+  Analisa a estrutura de arquivos JSON para extrair nomes e versões de pacotes 
+  Identifica pacotes privados com valores privados 

**Exemplo de arquivo `package.json`**  
 Este é um exemplo de um arquivo `package.json`. 

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

**nota**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `package-lock.json` é gerado automaticamente pelo npm para bloquear as versões exatas das dependências instaladas para um projeto. Ele garante a consistência nos ambientes armazenando versões exatas de todas as dependências e suas subdependências. Esse arquivo pode distinguir entre dependências regulares e de desenvolvimento. 

**Recursos principais**
+  Analisa a estrutura de arquivos JSON para extrair nomes e versões de pacotes 
+  Viabiliza a detecção de dependências de desenvolvedor 

**Exemplo de arquivo `package-lock.json`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O npm gera automaticamente os arquivos `package-lock.json` e `npm-shrinkwrap.json` para bloquear as versões exatas das dependências instaladas para um projeto. Isso garante a consistência nos ambientes armazenando versões exatas de todas as dependências e suas subdependências. Os arquivos distinguem entre dependências regulares e de desenvolvimento. 

**Recursos principais**
+  Analise o `package-lock` versões 1, 2 e 3 da estrutura do arquivo JSON para extrair o nome e a versão do pacote 
+  A detecção de dependências de desenvolvedor é viabilizada (`package-lock.json` captura dependências de produção e desenvolvimento, permitindo que as ferramentas identifiquem quais pacotes são usados em ambientes de desenvolvimento) 
+  O arquivo `npm-shrinkwrap.json` tem prioridade sobre o `package-lock.json` 

**Exemplo**  
 Este é um exemplo de um arquivo `package-lock.json`. 

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

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

 O arquivo `pnpm-lock.yaml` é gerado pelo pnpm para manter um registro das versões de dependências instaladas. Ele também rastreia as dependências de desenvolvimento separadamente. 

**Recursos principais**
+  Analisa a estrutura de arquivos YAML para extrair nomes e versões de pacotes 
+  Viabiliza a detecção de dependências de desenvolvedor 

**Exemplo**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O Amazon Inspector SBOM Generator tenta coletar hashes SHA–1 para os arquivos `.ear`, `.jar` e `.war` em um projeto para garantir a integridade e a rastreabilidade dos artefatos compilados do Java. 

**Recursos principais**
+  Gera hashes SHA–1 para todos os artefatos compilados do Java 

**Exemplo de artefato SHA–1**  
 Veja a seguir um exemplo de um artefato 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**  
 Esse artefato gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do .NET
<a name="w2aac37c25c11"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| .NET | `.NET Core`<br />`Nuget`<br />`Nuget`<br />`.NET` | `*.deps.json`<br />`Packages.config`<br />`packages.lock.json`<br />`.csproj` | N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />Sim<br />N/D | N/D<br />N/D<br />N/D<br />N/D | Sim<br />Sim<br />Sim<br />Sim | 

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

 O arquivo `Packages.config` é um arquivo XML usado por uma versão mais antiga do Nuget para gerenciar dependências do projeto. Ele lista todos os pacotes referenciados pelo projeto, incluindo versões específicas. 

**Recursos principais**
+  Analisa a estrutura XML para extrair pacotes IDs e versões 

**Exemplo**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `*.deps.json` é gerado por projetos do .NET Core e contém informações detalhadas sobre todas as dependências, incluindo caminhos, versões e dependências de runtime. Esse arquivo garante que o runtime tenha as informações necessárias para carregar as versões corretas das dependências. 

**Recursos principais**
+ Analisa a estrutura JSON para obter detalhes abrangentes da dependência
+  Extrai nomes e versões de pacotes em uma lista de `libraries`. 

**Exemplo de arquivo `.deps.json`**  
 Este é um exemplo de um arquivo `.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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `packages.lock.json` é usado pelas versões mais recentes do Nuget para bloquear as versões exatas das dependências para um projeto do .NET para garantir que as mesmas versões sejam usadas de forma consistente em diferentes ambientes. 

**Recursos principais**
+ Analisa a estrutura JSON para listar dependências bloqueadas
+ Permite dependências diretas e transitivas
+ Extrai o nome do pacote e as versões resolvidas

**Exemplo de arquivo `packages.lock.json`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `.csproj` é escrito em XML e o arquivo de projeto para projetos do .NET. Ele inclui referências a pacotes do Nuget, propriedades do projeto e configurações de compilação. 

**Recursos principais**
+  Analisa a estrutura XML para extrair referências de pacotes 

**Exemplo de arquivo `.csproj`**  
 Este é um exemplo de um arquivo `.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>
```

**Exemplo de arquivo `.csproj`**  
 Este é um exemplo de um arquivo `.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**  
 Cada um desses arquivos gera uma saída que contém um URL do pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do PHP
<a name="w2aac37c25c13"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| PHP | Composer | `composer.lock`<br />`/vendor/composer/installed.json` | N/D<br />N/D | N/D<br />N/D | Sim<br />Sim | N/D<br />N/D | Sim<br />Sim | 

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

 O arquivo `composer.lock` é gerado automaticamente ao executar os comandos composer install ou composer update. Esse arquivo garante que as mesmas versões das dependências sejam instaladas em todos os ambientes. Isso fornece um processo de compilação consistente e confiável. 

**Recursos principais**
+  Analisa o formato JSON para dados estruturados 
+  Extrai nomes e versões de dependências 

**Exemplo de arquivo `composer.lock`**  
 Este é um exemplo de um arquivo `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**  
 Isso gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `/vendor/composer/installed.json` está localizado no diretório `vendor/composer` e fornece uma lista abrangente de todos os pacotes e versões de pacotes instalados. 

**Recursos principais**
+  Analisa o formato JSON para dados estruturados 
+  Extrai nomes e versões de dependências 

**Exemplo de arquivo `/vendor/composer/installed.json`**  
 Este é um exemplo de um arquivo `/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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do Python
<a name="w2aac37c25c15"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| 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` | N/D<br />N/D<br />N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />Sim<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D<br />N/D<br />N/D<br />N/D | Sim<br />Sim<br />Sim<br />Sim<br />Sim<br />Sim | 

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

 O arquivo `requirements.txt` é um formato amplamente usado em projetos do Python para especificar as dependências do projeto. Cada linha nesse arquivo inclui um pacote com suas restrições de versão. O Amazon Inspector SBOM Generator analisa esse arquivo para identificar e catalogar dependências com precisão. 

**Recursos principais**
+  Permite especificadores de versão (== e ˜=) 
+  Permite comentários e linhas de dependência complexas 

**nota**  
 Os especificadores de versão <= e => não são compatíveis. 

**Exemplo de arquivo `requirements.txt`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 Pipenv é uma ferramenta que reúne o melhor de todos os mundos do empacotamento (empacotados, fixados e não fixados). O `Pipfile.lock` bloqueia versões exatas das dependências para facilitar compilações determinísticas. O Amazon Inspector SBOM Generator lê esse arquivo para listar dependências e suas versões resolvidas. 

**Recursos principais**
+  Analisa o formato JSON para resolução de dependências 
+  Permite dependências padrão e de desenvolvimento 

**Exemplo de arquivo `Pipfile.lock`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 Poetry é uma ferramenta para gerenciamento de dependências e empacotamento para Python. O arquivo `Poetry.lock` bloqueia versões exatas das dependências para facilitar ambientes consistentes. O Amazon Inspector SBOM Generator extrai informações detalhadas sobre dependências desse arquivo. 

**Recursos principais**
+  Analisa o formato TOML para dados estruturados 
+  Extrai nomes e versões de dependências 

**Exemplo de arquivo `Poetry.lock`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 uvé um gerenciador de Python pacotes rápido escrito emRust. O arquivo `uv.lock` bloqueia versões exatas das dependências para facilitar ambientes consistentes. O Amazon Inspector SBOM Generator extrai informações detalhadas sobre dependências desse arquivo. 

**Recursos principais**
+  Analisa o TOML formatado para dados estruturados `uv.lock` 
+  Extrai nomes e versões de dependências 
+  Suporta dependências de desenvolvimento 
+  Coleta somente pacotes em que a fonte é um registro 

**Exemplo de arquivo `uv.lock`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

### Egg/wheel
<a name="w2aac37c25c15c15"></a>

 Para pacotes Python instalados globalmente, o Amazon Inspector SBOM Generator permite a análise de arquivos de metadados encontrados nos diretórios `.egg-info/PKG-INFO` e `.dist-info/METADATA`. Esses arquivos fornecem metadados detalhados sobre os pacotes instalados. 

**Recursos principais**
+  Extrai o nome e a versão do pacote 
+  Suporta os formatos egg e wheel 

**Caminhos de varredura padrão expandidos (Sbomgen 1.13.0 e versões posteriores)**  
 No Amazon Inspector SBOM Generator versão 1.13.0 e posterior, os caminhos de escaneamento padrão do localhost do scanner foram expandidos para incluir instalações em nível de usuário () e `pip` instalações produzidas pelo comando. `pip install --user` `uv tool install` Isso permite a detecção de pacotes Python instalados fora de todo o sistema`site-packages`, incluindo estruturas como CrewAI, cujo método de instalação recomendado é. `uv tool install crewai`   
 Caminhos de escaneamento padrão adicionados:   
 Linux—`/home/*/.local/lib/python*/site-packages/`, `/home/*/.local/share/uv/tools/*/lib/python*/site-packages/` (com `/root/` equivalentes para contêineres executados como root). 
 Windows – `%APPDATA%\Python\Python*\Lib\site-packages\`, `%LOCALAPPDATA%\uv\tools\*\Lib\site-packages\`. 
 Para prefixos de Python instalação não padrão em qualquer plataforma, use o `--path` argumento para apontar o scanner para o local de instalação. 

**Exemplo de arquivo `PKG-INFO/METADATA`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do Ruby
<a name="w2aac37c25c17"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte ao conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Ruby | Bundler | `Gemfile.lock`<br />`.gemspec`<br />`globall installed Gems` | N/D<br />N/D<br />N/D | N/D<br />N/D<br />N/D | Sim<br />N/D<br />N/D | N/D<br />N/D<br />N/D | Sim<br />Sim<br />Sim | 

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

 O arquivo `Gemfile.lock` bloqueia as versões exatas de todas as dependências para garantir que as mesmas versões sejam usadas em todos os ambientes. 

**Recursos principais**
+  Analisa o arquivo `Gemfile.lock` para identificar dependências e versões de dependências 
+  Extrai nomes e versões de pacotes detalhados 

**Exemplo de arquivo `Gemfile.lock`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `.gemspec` é um arquivo RubyGem contendo metadados sobre uma gem. O Amazon Inspector SBOM Generator analisa esse arquivo para coletar informações detalhadas sobre uma gem. 

**Recursos principais**
+  Analisa e extrai o nome e a versão da gem 

**nota**  
 A especificação de referência não é compatível. 

**Exemplo de arquivo `.gemspec`**  
 Este é um exemplo de um arquivo `.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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

### Gems instaladas globalmente
<a name="w2aac37c25c17b9"></a>

 O Amazon Inspector SBOM Generator permite a verificação de gems instaladas globalmente, localizadas em diretórios padrão, como `/usr/local/lib/ruby/gems/<ruby_version>/gems/` no Amazon EC2/Amazon ECR e `ruby/gems/<ruby_version>/gems/` no Lambda. Isso garante que todas as dependências instaladas globalmente sejam identificadas e catalogadas. 

**Recursos principais**
+  Identifica e verifica todas as gems instaladas globalmente em diretórios padrão 
+  Extrai metadados e informações de versão para cada gem instalada globalmente 

**Exemplo de estrutura de diretório**  
 Veja a seguir um exemplo de uma estrutura de diretório. 

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

**nota**  
 Essa estrutura gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Verificação de dependências do Rust
<a name="w2aac37c25c19"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Rust | Cargo.toml | `Cargo.toml`<br />`Cargo.lock`<br /> `Rust binary (built with cargo-auditable)` | N/D<br />N/D<br />Sim | N/D<br />N/D<br />N/D | N/D<br />Sim<br />N/D | N/D<br />N/D<br />N/D | Sim<br />Sim<br />Sim | 

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

 O arquivo `Cargo.toml` é o arquivo de manifesto dos projetos do Rust. 

**Recursos principais**
+  Analisa e extrai o arquivo `Cargo.toml` para identificar o nome e a versão do pacote do projeto. 

**Exemplo de arquivo `Cargo.toml`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

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

 O arquivo `Cargo.lock` bloqueia as versões de dependência para garantir que as mesmas versões sejam usadas sempre que um projeto é criado. 

**Recursos principais**
+  Analisa o arquivo `Cargo.lock` para identificar todas as dependências e versões de dependências. 

**Exemplo de arquivo `Cargo.lock`**  
 Este é um exemplo de um arquivo `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**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

### Binários Rust com cargo-auditable
<a name="w2aac37c25c19b9"></a>

 O Amazon Inspector SBOM Generator coleta dependências de binários do Rust criados com a biblioteca `cargo-auditable`. Isso fornece informações adicionais sobre dependências ao permitir a extração de dependências de binários compilados. 

**Recursos principais**
+  Extrai informações de dependência diretamente dos binários do Rust criados com a biblioteca `cargo-auditable` 
+  Recupera metadados e informações de versão das dependências incluídas nos binários 

**nota**  
 Esse arquivo gera uma saída que contém um URL de pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Análise rápida de dependências
<a name="w2aac37c25c21"></a>


| Linguagem de programação | Gerenciador de pacote | Artefatos compatíveis | Suporte do conjunto de ferramentas | Dependências de desenvolvimento | Dependências transitivas | Sinalizador privado | Recursivamente | 
| --- | --- | --- | --- | --- | --- | --- | --- | 
| Swift | Swift Package Manager | `Package.resolved (v1, v2, and v3)` | N/D | N/D | N/D | N/D | Sim | 

### Pacote. Resolvido
<a name="w2aac37c25c21b5"></a>

 O `Package.resolved` arquivo é gerado pelo Swift Package Manager para bloquear as versões exatas das dependências de um Swift projeto. O Amazon Inspector SBOM Generator analisa esse arquivo para coletar nomes de dependências, versões e informações do repositório de origem. As versões 1, 2 e 3 do esquema do `Package.resolved` formato são suportadas. 

**nota**  
 O Amazon Inspector SBOM Generator não gera o arquivo. `Package.resolved` Se seu projeto ainda não contiver um `Package.resolved` arquivo, você deverá gerá-lo antes da digitalização executando `swift package resolve` no diretório do projeto. 

**Artefatos compatíveis**
+  `Package.resolved`(esquema versão 1) 
+  `Package.resolved`(esquema versão 2) 
+  `Package.resolved`(esquema versão 3) 

**Recursos principais**
+  Extrai nomes de dependências e versões bloqueadas de pacotes fixados 
+  Deriva o namespace do pacote do URL do repositório de origem (por exemplo,) `github.com/Alamofire` 
+  Ignora os pinos somente de ramificações que não têm uma versão resolvida 
+  Filtra o controle de origem local e as dependências do sistema de arquivos 
+  Exclui `Package.resolved` arquivos dentro de `.build/` diretórios para evitar a coleta de dependências do cache de compilação do Swift Package Manager 

**nota**  
 O `Package.resolved` arquivo é independente da plataforma. O Amazon Inspector SBOM Generator descobre esse arquivo recursivamente em, e. Linux macOS Windows 

**`Package.resolved`Arquivo de exemplo (v2)**  
 Veja a seguir um exemplo de um `Package.resolved` arquivo da versão 2. 

```
{
  "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`Arquivo de exemplo (v1)**  
 Veja a seguir um exemplo de um `Package.resolved` arquivo da versão 1. 

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

**Exemplo de PURL**  
 Veja a seguir um exemplo de URL de pacote para uma dependência Swift do Package Manager. 

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

**nota**  
 Cada um desses arquivos gera uma saída que contém um URL do pacote. Esse URL pode ser usado para especificar informações sobre pacotes de software ao gerar uma lista de materiais de software e pode ser incluído na [ScanSbom](https://docs.aws.amazon.com/inspector/v2/APIReference/API_inspector-scan_ScanSbom.html)API. Para obter mais informações, consulte [package-url no GitHub site](https://github.com/package-url/purl-spec). 

## Artefatos incompatíveis
<a name="w2aac37c25c23"></a>

 Esta seção descreve os artefatos incompatíveis. 

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

 O gerador Amazon Inspector SBOM Generator só permite a detecção de vulnerabilidades para dependências provenientes do [repositório principal do Maven](https://repo1.maven.org/maven2). Não há suporte para repositórios privados ou personalizados do Maven, como Red Hat Maven e Jenkins. Para uma detecção precisa de vulnerabilidades, certifique-se de que as dependências do Java sejam retiradas do repositório principal do Maven. Dependências de outros repositórios não serão abordadas nas verificações de vulnerabilidade. 

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

**Pacotes de esbuild**  
 Para pacotes minificados pelo esbuild, o Amazon Inspector SBOM Generator não permite a verificação de dependências para projetos que usam esbuild. Os mapas de origem gerados por esbuild não incluem metadados suficientes (nomes e versões de dependências) necessários para uma geração precisa de Sbomgen. Para obter resultados confiáveis, verifique os arquivos originais do projeto, como `node_modules/directory` e `package-lock.json`, antes do processo de empacotamento. 

**package.json**  
 O Amazon Inspector SBOM Generator não permite a verificação do arquivo package.json no nível raiz para obter informações sobre dependências. Esse arquivo especifica apenas nomes de pacotes e intervalos de versões, mas não inclui versões de pacotes totalmente resolvidas. Para obter resultados de verificação precisos, use `package.json` ou outros arquivos de bloqueio, como `yarn.lock` e `pnpm.lock`, que incluam versões resolvidas. 

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

 Ao usar versões flutuantes ou intervalos de versões em `PackageReference`, fica mais difícil determinar a versão exata do pacote usada em um projeto sem fazer a resolução do pacote. Versões flutuantes e intervalos de versões permitem que os desenvolvedores especifiquem um intervalo de versões de pacotes aceitáveis em vez de uma versão fixa. 

### Binários do Go
<a name="w2aac37c25c23c11"></a>

 O Amazon Inspector SBOM Generator não verifica binários do Go que são criados com sinalizadores de compilação configurados para excluir o ID de compilação. Esses sinalizadores de construção impedem que o Amazon Inspector SBOM Generator mapeie com precisão o binário até sua fonte original. Não há suporte para binários do Go pouco claros devido à incapacidade de extrair informações do pacote. Para uma verificação precisa de dependências, certifique-se de que os binários do Go sejam criados com as configurações padrão, incluindo o ID da compilação. 

### Binários do Rust
<a name="w2aac37c25c23c13"></a>

 O Amazon Inspector SBOM Generator só verifica binários do Rust se eles forem criados usando a [biblioteca cargo-auditable](https://github.com/rust-secure-code/cargo-auditable). Os binários do Rust que não utilizam essa biblioteca não possuem os metadados necessários para a extração precisa de dependências. O Amazon Inspector SBOM Generator extrai a versão compilada do conjunto de ferramentas do Rust a partir do Rust 1.7.3, mas somente para binários em um ambiente Linux. Para uma verificação abrangente, crie binários do Rust no Linux usando a cargo-auditable. 

**nota**  
 A detecção de vulnerabilidade para o conjunto de ferramentas do Rust em si não é compatível, mesmo que a versão do conjunto de ferramentas seja extraída. 