Skip to content

fix(sbom): harden bounded lineage input privacy - #1000

Merged
tcconnally merged 40 commits into
mainfrom
fix/issue-995-sbom-lineage-final
Aug 20, 2026
Merged

fix(sbom): harden bounded lineage input privacy#1000
tcconnally merged 40 commits into
mainfrom
fix/issue-995-sbom-lineage-final

Conversation

@tcconnally

@tcconnally tcconnally commented Aug 20, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Harden SBOM lineage raw-document and external-edge boundaries against attacker-raised exceptions and exception-text disclosure.
  • Enforce exact, case-sensitive XML namespace admission before SPDX RDF/non-RDF parser selection.
  • Reject foreign/case-variant SPDX namespaces, evil-namespaced package children, and foreign RDF descendants while preserving official SPDX RDF and CycloneDX fixtures.
  • Preserve raw input bytes on Windows with O_BINARY, preventing CRLF translation from invalidating ingestion digests.
  • Add direct regression coverage for hostile inputs, raw-document rebinding, edge sequences, malformed normalized formats, namespace bypasses, and Windows portability.

Verification

  • tests/test_sbom_lineage.py: 141 passed
  • Full suite: 2758 passed, 6 skipped
  • scripts/build.py --check: passed
  • Fresh exact-tree review deleg_94ad7e88: passed with empty security and logic findings
  • Exact-head Windows CI failure on the preceding candidate was reproduced and fixed with O_BINARY; the corrected portability probe preserves the native flag.

Exact candidate evidence

  • Candidate: 761ca6e78607a3fcf88a656bd3c999c3545ea3f1
  • Source/test commit: 994edca
  • Reviewed base: da2025e8d61893ac67dbe0aa2f9a69274ce8ef7a
  • Tree SHA-256: 52485b98464ed2ae792acf5bc885638c6dccacab2f5b7260f9c153583a8f49b8
  • Patch SHA-256: 3678ef5c9388d0767ef0a86f5d215c1e5433a3c92aaa1ae28e39919463029da9
  • Tracked paths: 1228

Fixes #995

Hermes Research added 30 commits August 19, 2026 15:25
@tcconnally
tcconnally merged commit 233314a into main Aug 20, 2026
19 checks passed
@tcconnally
tcconnally deleted the fix/issue-995-sbom-lineage-final branch August 20, 2026 21:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(supply-chain): ingest SPDX/CycloneDX and build queryable software lineage

1 participant