AWS inspector high security documentation change
Summary
Added documentation about file access boundary and clarified that SBOM contents are not sanitized.
Security assessment
The change explicitly addresses directory traversal vulnerabilities by confining file reads to the artifact root, preventing unauthorized host filesystem access. It also warns about potential data leakage risks since SBOMs aren't sanitized.
Diff
diff --git a/inspector/latest/user/sbomgen-plugin-api-reference.md b/inspector/latest/user/sbomgen-plugin-api-reference.md index 2337bb8b7..68abff9ef 100644 --- a//inspector/latest/user/sbomgen-plugin-api-reference.md +++ b//inspector/latest/user/sbomgen-plugin-api-reference.md @@ -35 +35 @@ The following standard library modules are **explicitly disallowed** for securit -`io` | Direct filesystem access is blocked. All file operations must go through `sbomgen.*` functions, which route through the artifact interface for consistent behavior across artifact types (directory, container, volume, etc.). +`io` | Direct filesystem access is blocked. All file operations must go through `sbomgen.*` functions, which route through the artifact interface for consistent behavior across artifact types (directory, container, volume, etc.) and confine reads to the artifact under inventory (see File access boundary). @@ -73,0 +74,8 @@ All file operations must go through the `sbomgen.*` API. Direct filesystem acces +### File access boundary + +The `sbomgen.*` file functions confine reads to the artifact under inventory. A path that resolves outside the artifact root — for example via `../` traversal — is rejected, and the call returns an error rather than reading the host filesystem. This applies to `read_file`, `open_file`, `read_dir`, `file_stat`, and the binary/hash helpers that take a path. + +The exception is the `localhost` artifact type, which inventories the host itself; there the host filesystem is the artifact, so reads are not confined to a narrower root. + +This boundary governs file _reads_ only. It does not constrain what a plugin writes into the SBOM — see SBOM contents are not sanitized. + @@ -628,0 +637,6 @@ The full taxonomy of reserved keys is maintained in the Amazon Inspector user gu +### SBOM contents are not sanitized + +Sbomgen does not inspect or filter the data a plugin emits. Component names, versions, PURLs, hashes, and property values are written to the SBOM as provided. Sbomgen does not detect or redact secrets, credentials, tokens, or other sensitive data — if a plugin places such a value into a finding, it appears in the output SBOM and travels wherever that SBOM is published. + +You are responsible for what your plugins write. Only emit data derived from the artifact you intend to inventory, and treat the SBOM as a shareable artifact when deciding what to include. +