在 Amazon Inspector SBOM 生成器中处理未解析或非标准版本引用 - Amazon Inspector
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 Amazon Inspector SBOM 生成器中处理未解析或非标准版本引用

Amazon Inspector SBOM 生成器通过直接从源文件中识别依赖关系来定位和解析系统中支持的构件。它不是程序包管理器,不会解析版本范围、根据动态引用推断版本或处理注册表查询。它仅收集项目源构件中定义的依赖关系。在许多情况下,程序包清单中的依赖关系(例如 package.jsonpom.xmlrequirements.txt)是使用未解析或基于范围的版本指定的。本主题包括这些依赖关系的外观示例。

建议

Amazon Inspector SBOM 生成器从源构件中提取依赖关系,但不解析或解释版本范围或动态引用。要获得更准确的漏洞扫描和 SBOM,建议在项目依赖关系中使用已解析的语义版本标识符。

Java

对于 Java,Maven 项目可以使用版本范围来定义 pom.xml 文件中的依赖关系。

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

该范围指定任何不超过 1.0(含)的版本均可接受。但是,如果某个版本不是已解析的版本,则 Amazon Inspector SBOM 生成器将不会收集该版本,因为它无法映射到特定版本。

JavaScript

对于 JavaScript,package.json 文件可以包含类似于以下内容的版本范围:

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

^ 运算符指定大于等于指定版本的任何版本均可接受。但是,如果指定的版本不是已解析的版本,则 Amazon Inspector SBOM 生成器将不会收集该版本,因为这样做可能会导致漏洞检测期间出现误报。

Python

对于 Python,requirements.txt 文件可以包含带有布尔表达式的条目。

requests>=1.0.0

>= 运算符指定任何大于或等于 1.0.0 的版本均可接受。由于此特定表达式未指定确切的版本,因此 Amazon Inspector SBOM 生成器无法可靠地收集用于漏洞分析的版本。

Amazon Inspector SBOM 生成器不支持非标准或不确定的版本标识符,例如测试版、最新版或快照。

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

使用非标准后缀(例如 Beta-RC-1_Release)不符合标准语义版本控制,并且无法在 Amazon Inspector 检测引擎中评估其漏洞。