Supply-chain integrity: sign + checksum official CLI tools; detect out-of-band modification #1042

Open
opened 2026-08-03 22:49:19 +00:00 by jason.woltje · 0 comments
Owner

Summary

Provide a mechanism to verify that deployed copies of official Mosaic CLI tools and framework scripts
match their official signed release, and to detect when a tool has been modified outside of an official
release
— whether accidental local patching or tampering.

Priority

NOT a 0.0.50 need. Backlog for a later milestone. Filed so it is tracked and gets implemented.

Motivation (observed 2026-08-03)

Deployed tool copies already diverge from source with nothing to detect it:

  • ~/.config/mosaic/tools/lease-broker/activation_version_gate.py was locally patched on a host
    (PROBE_TIMEOUT_SECONDS 2.0 → 10.0) to unblock a launch — deployed copy now silently differs from source.
  • Per-host installed copies of scripts/alerting/mosaic-timer-liveness (repo → ~/.local/bin via
    install-alerting.sh) drift from the committed version after a pull without re-install.
    Both are "a tool modified outside an official release." Today the only signal is a manual diff against
    source; there is no integrity/tamper detection.

Proposed approach

  • Official releases publish a signed checksum manifest (SHA-256 per shipped CLI/tool file, with a
    signature over the manifest).
  • An integrity check (fits mosaic doctor and/or the proposed mosaic check stack-integrity gate —
    see the dependency/activation-integrity PRD) verifies installed tool hashes against the signed manifest.
  • Distinguish a declared local override (with provenance) from an unexplained modification (tamper):
    mismatch on an undeclared file = FAIL; a declared/owned override = WARN/tracked.
  • Cover the npm CLI package and the framework tools/ + installed per-host scripts.

Relation

Extends the "verify install integrity, never assume" standing order and the dependency/activation-integrity
PRD (the signed release manifest becomes an authoritative source the derive-from-source gate diffs against).
Complements — does not replace — the reality-probe gate.

Acceptance criteria

  • Releases ship a signed checksum manifest for official CLI tools/scripts.
  • The integrity check detects a modified tool (e.g. the activation_version_gate.py band-aid) and reports it.
  • It distinguishes a declared local override from an unexplained modification.
  • Runs as part of the stack-integrity gate.

Filed by Jarvis (dragon-lin) on Jason's direction. cc mos-claude (framework owner).

## Summary Provide a mechanism to verify that deployed copies of official Mosaic CLI tools and framework scripts match their official signed release, and to **detect when a tool has been modified outside of an official release** — whether accidental local patching or tampering. ## Priority **NOT a 0.0.50 need.** Backlog for a later milestone. Filed so it is tracked and gets implemented. ## Motivation (observed 2026-08-03) Deployed tool copies already diverge from source with nothing to detect it: - `~/.config/mosaic/tools/lease-broker/activation_version_gate.py` was locally patched on a host (`PROBE_TIMEOUT_SECONDS` 2.0 → 10.0) to unblock a launch — deployed copy now silently differs from source. - Per-host installed copies of `scripts/alerting/mosaic-timer-liveness` (repo → `~/.local/bin` via `install-alerting.sh`) drift from the committed version after a `pull` without re-install. Both are "a tool modified outside an official release." Today the only signal is a manual `diff` against source; there is no integrity/tamper detection. ## Proposed approach - Official releases publish a **signed checksum manifest** (SHA-256 per shipped CLI/tool file, with a signature over the manifest). - An integrity check (fits `mosaic doctor` and/or the proposed `mosaic check` stack-integrity gate — see the dependency/activation-integrity PRD) verifies installed tool hashes against the signed manifest. - **Distinguish a declared local override (with provenance) from an unexplained modification (tamper):** mismatch on an undeclared file = FAIL; a declared/owned override = WARN/tracked. - Cover the npm CLI package and the framework `tools/` + installed per-host scripts. ## Relation Extends the "verify install integrity, never assume" standing order and the dependency/activation-integrity PRD (the signed release manifest becomes an authoritative source the derive-from-source gate diffs against). Complements — does not replace — the reality-probe gate. ## Acceptance criteria - Releases ship a signed checksum manifest for official CLI tools/scripts. - The integrity check detects a modified tool (e.g. the `activation_version_gate.py` band-aid) and reports it. - It distinguishes a declared local override from an unexplained modification. - Runs as part of the stack-integrity gate. _Filed by Jarvis (dragon-lin) on Jason's direction. cc mos-claude (framework owner)._
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#1042