Files
git.stella-ops.org/src/Provenance/StellaOps.Provenance.Attestation.Tool
StellaOps Bot e411fde1a9 feat(audit): Apply TreatWarningsAsErrors=true to 160+ production csproj files
Sprint: SPRINT_20251229_049_BE_csproj_audit_maint_tests
Tasks: AUDIT-0001 through AUDIT-0147 APPLY tasks (approved decisions 1-9)

Changes:
- Set TreatWarningsAsErrors=true for all production .NET projects
- Fixed nullable warnings in Scanner.EntryTrace, Scanner.Evidence,
  Scheduler.Worker, Concelier connectors, and other modules
- Injected TimeProvider/IGuidProvider for deterministic time/ID generation
- Added path traversal validation in AirGap.Bundle
- Fixed NULL handling in various cursor classes
- Third-party GostCryptography retains TreatWarningsAsErrors=false (preserves original)
- Test projects excluded per user decision (rejected decision 10)

Note: All 17 ACSC connector tests pass after snapshot fixture sync
2026-01-04 11:21:16 +02:00
..

stella-forensic-verify (preview)

Minimal .NET 10 global tool for offline verification of provenance payloads signed with an HMAC key. No network access; deterministic JSON output.

Usage

stella-forensic-verify \
  --payload payload.bin       # or '-' to read stdin
  --signature-hex DEADBEEF... # hex-encoded HMAC
  --key-hex 001122...         # hex-encoded HMAC key
  [--key-id hmac]             # optional key id
  [--content-type application/octet-stream]
  [--signed-at 2025-11-21T12:00:00Z]
  [--not-after 2025-12-31T23:59:59Z]
  [--max-skew-minutes 5]

Output (single line, deterministic field order):

{"valid":true,"reason":"verified","verifiedAt":"2025-11-22T12:00:00.0000000Z","keyId":"hmac","contentType":"application/octet-stream"}

Exit codes

  • 0: signature valid
  • 2: signature/time invalid
  • 1: bad arguments or hex parse failure

Offline kit packaging (manual)

  1. dotnet pack src/Provenance/StellaOps.Provenance.Attestation.Tool/StellaOps.Provenance.Attestation.Tool.csproj -c Release -o out/tools
  2. Copy the produced nupkg into the offline kit under tools/.
  3. Install in air-gap host: dotnet tool install --global --add-source tools stella-forensic-verify --version <pkg-version>.
  4. Document expected SHA256 of the nupkg alongside the kit manifest.