Skip to content

feat(cli): verify offline evidence bundle integrity - #93

Merged
Brad-Edwards merged 6 commits into
devfrom
92-REP-005-offline-bundle-verifier
Aug 14, 2026
Merged

feat(cli): verify offline evidence bundle integrity#93
Brad-Edwards merged 6 commits into
devfrom
92-REP-005-offline-bundle-verifier

Conversation

@doublewhy

@doublewhy doublewhy commented Aug 13, 2026

Copy link
Copy Markdown

Summary

Harden the installed offline evidence-bundle verifier so it establishes descriptor-rooted containment, exact inventory closure, bounded streaming and parsing, and stable integrity-only output under hostile filesystem and input conditions.

Requirement UIDs

  • REP-005

Related Issues

Closes #92

ADR Impact

  • ADR-021
  • ADR-069
  • ADR-003

Changes

  • Pin the bundle root and every path component with no-follow, mount-identity, regular-file, non-blocking, and mutation checks.
  • Stream artifact hashing under exact fixed limits, bound directory work independently, and classify hostile parser and pathname failures as invalid input.
  • Isolate command presentation from verification, document the non-semantic boundary, and add adversarial containment, parser, memory, limit, and leakage tests.

Upstream replication context

Test Plan

  • Unit tests pass
  • Integration tests pass if applicable
  • Configured completion command passes
  • No coverage regression

make verify and make policy passed on the final tree after merging the latest origin/dev; 61 focused verifier tests pass. The bounded code-review finding was fixed with pathname regression coverage, and the test-quality review is clean.

Ground Control Checks

  • Configured repository policy command passes
  • Pre-push code review and test-quality review completed; all findings fixed or dispositioned

Traceability

Checklist

  • Code follows the project's coding standards
  • Changelog: owned by Release Please (generated from the Conventional Commit PR title; no per-PR fragment)
  • Architectural docs updated if stack, package structure, or key behaviors changed

Documentation

Updated: see diff.

@doublewhy

Copy link
Copy Markdown
Author

Stack order: #95 is the producer-consolidation successor to this verifier PR and currently targets this feature branch. Merge #93 first; then retarget #95 to dev, update it from the merged base, and rerun the complete Ubuntu verification graph. Auto-merge is disabled; draft #82 remains preserved and unmerged.

@Brad-Edwards

Copy link
Copy Markdown
Collaborator

Implemented the offline bundle-verifier hardening on PR #93.

  • Uses descriptor-relative, no-follow traversal with mount and identity checks for root, directories, and files.
  • Streams artifact hashing under fixed byte limits; bounds file, directory, inventory, entry, depth, and path work independently.
  • Maps malformed JSON, pathname, and filesystem input to stable invalid-input results without exposing paths or exception details.
  • Keeps verification simulator-independent, read-only, offline, and explicitly integrity-only.
  • Adds operator documentation and adversarial coverage for races, mount/primitive failures, parser limits, memory use, exact boundaries, leakage, and exit codes.

Final state: 61 focused verifier tests pass; local completion and policy gates pass; all PR checks pass; SonarCloud reports 91.3% new-code coverage with zero violations, open issues, or hotspots.

@Brad-Edwards
Brad-Edwards merged commit 115cb82 into dev Aug 14, 2026
13 checks passed
@Brad-Edwards
Brad-Edwards deleted the 92-REP-005-offline-bundle-verifier branch August 14, 2026 19:30
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.

2 participants