

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Gestión de referencias de versiones no resueltas o no estándar en el generador de SBOM de Amazon Inspector
<a name="sbom-generator-unresolved-non-standard-version-reference"></a>

 El generador de SBOM de Amazon Inspector localiza y analiza los artefactos compatibles dentro de un sistema al identificar las dependencias directamente de los archivos de código fuente. No es un administrador de paquetes y no resuelve los rangos de versiones, deduce versiones en función de referencias dinámicas ni gestiona las búsquedas en el registro. Recopila las dependencias solo tal como están definidas en los artefactos de origen del proyecto. En muchos casos, las dependencias de los manifiestos de los paquetes, como `package.json`, `pom.xml` o `requirements.txt`, se especifican mediante versiones no resueltas o basadas en rangos. En este tema se incluyen ejemplos del aspecto que podrían tener estas dependencias. 

## Recomendaciones
<a name="w2aac37c33b5"></a>

 El generador de SBOM de Amazon Inspector extrae las dependencias de los artefactos de origen, pero no resuelve ni interpreta los rangos de versiones ni las referencias dinámicas. Para un escaneo de vulnerabilidades más preciso SBOMs, recomendamos usar identificadores de versión semánticos resueltos en las dependencias del proyecto. 

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

 Por ejemplo, los proyectos de Java y Maven pueden usar rangos de versiones para definir las dependencias en el archivo `pom.xml`. 

```
<dependency>
    <groupId>org.inspector</groupId>
    <artifactId>inspector-api</artifactId>
    <version>(,1.0]</version>
</dependency>
```

 El rango especifica que se acepta cualquier versión hasta la 1.0 inclusive. Sin embargo, si una versión no es una versión resuelta, el generador de SBOM de Amazon Inspector no la recopilará porque no se puede asignar a una versión específica. 

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

 Para JavaScript, el archivo `package.json` puede incluir rangos de versiones similares a los siguientes: 

```
"dependencies": {
    "ky": "^1.2.0",
    "registry-auth-token": "^5.0.2",
    "registry-url": "^6.0.1",
    "semver": "^7.6.0"
}
```

 El operador `^` especifica que se acepta cualquier versión superior o igual a la versión especificada. Sin embargo, si la versión especificada no es una versión resuelta, el generador de SBOM de Amazon Inspector no la recopilará porque, al hacerlo, se pueden producir falsos positivos durante la detección de vulnerabilidades. 

## Python
<a name="w2aac37c33c11"></a>

 Para Python, el archivo `requirements.txt` puede incluir entradas con una expresión booleana. 

```
requests>=1.0.0
```

 El operador `>=` especifica que se acepta cualquier versión superior o igual a `1.0.0`. Como esta expresión en particular no especifica una versión exacta, el generador de SBOM de Amazon Inspector no puede recopilar de forma fiable una versión para el análisis de vulnerabilidades. 

 El generador de SBOM de Amazon Inspector no admite identificadores de versión no estándar o ambiguos, como la versión beta, la más reciente o la instantánea. 

```
pkg:maven/org.example.com/testmaven@1.0.2%20Beta-RC-1_Release
```

**nota**  
 El uso de un sufijo no estándar, como Beta-RC-1\$1Release, no cumple con el control de versiones semántico estándar y no se puede evaluar para detectar vulnerabilidades en el motor de detección de Amazon Inspector. 