Skip to content

feat(security): Attestation v2 and merge poisoning guard - #382

Merged
harshsinghmp merged 1 commit into
devfrom
feat/attestation-v2-merge-guard
Nov 9, 2026
Merged

harshsinghmp merged 1 commit into
devfrom
feat/attestation-v2-merge-guard

Conversation

@harshsinghmp

Copy link
Copy Markdown
Owner

W27-1/W27-3: signed sequence + terminal head + key-id pinning; semantic merge rejects untrusted/self-asserted lineage, content inflation and protected constraints. Gate 1523/0.

Why: W27-1/W27-3. Chains were truncatable and TOFU, and semantic merge
could be steered by self-asserted supersession or content inflation.

What:
- Attestation v2: signed seq/audience/head/key_id; chain rejects gaps,
  truncation and empty chains; verify pins the key id; `--head`,
  `--previous`, `--no-head` CLI flags; keygen prints key id.
- Merge guard: fingerprint covers verification/project/lineage; strict
  prefix extension with matching anchors only; untrusted, protected
  (constraint/ADR/strong verification) and inflation cases conflict.
- Tests: sequence/head/truncation/key pinning, inflation attack,
  protected constraints, verification-only upgrades.

Verification: bun test 1523 pass / 0 fail; tsc clean; build 434 modules;
secret scan clean.

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
@harshsinghmp
harshsinghmp merged commit 2df8cc1 into dev Nov 9, 2026
@harshsinghmp
harshsinghmp deleted the feat/attestation-v2-merge-guard branch November 9, 2026 12:42
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.

1 participant