Skip to content

Trust & Integrity: Phase 2+3 — reproducible builds, SLSA, threat model, crev review #19

Description

@alderpath

Phase 2 — Verification (high priority)

1. Reproducible builds

Build twice in CI with pinned Rust toolchain and dependency versions, compare SHA256 of resulting binary. Gold standard for proving binary == source.

Blockers: None — all deps are pinned via Cargo.lock and deny.toml. Need: dual CI build step + SHA comparison.

2. SLSA provenance attestation

Add slsa-framework/slsa-github-generator to the release workflow. Generates a signed provenance statement (who built what, from which source).

Blockers: None — standard GH action.

3. Behavioral docs (TRUST.md)

Document every file access, network connection, and data flow the binary makes. Enterprise security teams need this for approval.

Blockers: None — needs a TRUST.md at repo root.

4. Published audit dashboard

Surface cargo audit results as a CI artifact and badge. Show dependency health publicly.

Blockers: None — audit already runs, just needs artifact upload + badge.

Phase 3 — Depth (ongoing)

5. Threat model (THREAT_MODEL.md)

Document what an attacker could do if they compromised each component (proxy, daemon, MCP, config). Shows deep security thinking.

6. Cargo crev review request

Get 2-3 community code reviews via crev. Shows external eyes have audited the code.

7. Dependency justification

Each non-obvious dependency in Cargo.toml should have a comment explaining why its needed. Prevents "why does this need 50 deps?" fear.

Acceptance Criteria

  • Reproducible build CI step passes
  • SLSA provenance attached to next release
  • TRUST.md published
  • Audit badge visible in README
  • THREAT_MODEL.md published
  • At least 1 crev review received
  • Dependencies justified in Cargo.toml comments

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions