mirror of
https://github.com/saymrwulf/proof-aware-crypto-tooling-agent.git
synced 2026-09-03 19:53:43 +00:00
The deployed consistency verifier implemented the RFC 9162 2.1.4.2 bit-navigation loop but its final return checked only the two reconstructed roots, omitting the terminal condition that the new-size navigation counter reach zero. That condition couples the consumed proof length to the claimed tree sizes; without it, a valid proof for one transition verifies under a lied (power-of-two) old size. Flagship: a valid 2->3 proof is accepted under the false claim 1->3 with the size-2 root. Fix: add `and sn == 0` to the final return. This is the corpus's Known Gap 14 (3,867 deployed-accepts-only cases in a pinned 73,573-case family, recorded in public log entry 13). It was found by the project's own differential harness; a post-appeal review round added a faithful RFC oracle as a third comparison, which showed the deployed verifier — not the mechanized model — was the one deviating from RFC 9162, and traced it to the missing terminal check. Scope: verify_consistency's only production caller is the consumer-side pin store, reached only behind a verified head signature. Generation is RFC-correct and unaffected; the live provider service does not run this verifier; the published standalone verify.py has no consistency verifier. An empirical search found 0 realizable pin-advance poisons against an honestly pinned consumer, consistent with Known Gap 14's non-claim. Verification: - New fail-first three-way regression test test_consistency_lied_size_three_way_agreement (deployed / recursive ConsRec model / independent faithful RFC 9162 transliteration) over the honest AND lied-size families; fails pre-fix, passes post-fix. - Historical differential tests (164,479 inclusion; 164,224 consistency) unchanged — the fix rejects nothing honest. - Full suite: 145 passed, 0 failed. Public log entry 13, the attested accumulator commit, and the IACR submission PDF are all unchanged. Vulnerable state tagged vulnerable/sn0-consistency-fd2f6ba. See docs/security-2026-07-23-consistency-terminal-check.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| fixtures/mini-ed25519-verified/verification | ||
| test_agent.py | ||
| test_artifact.py | ||
| test_attestation.py | ||
| test_boundaries.py | ||
| test_claim_cards.py | ||
| test_claim_failures.py | ||
| test_curriculum_notebooks.py | ||
| test_doctor.py | ||
| test_dogfood.py | ||
| test_hygiene.py | ||
| test_lean.py | ||
| test_manifest_parsing.py | ||
| test_paper_verifiers.py | ||
| test_profiles.py | ||
| test_provider.py | ||
| test_published_assets.py | ||
| test_quorum.py | ||
| test_risk.py | ||
| test_signing.py | ||
| test_sthstore.py | ||
| test_transparency.py | ||
| test_wallet.py | ||
| test_wallet_hardening.py | ||
| test_walletmcp.py | ||
| test_walletui.py | ||
| test_web_and_witness.py | ||