We maintain substrate-attestation, a conformance fixture suite for verifier-issued trust evidence in the A2A ecosystem. We just shipped ambiguous_issuer_binding vectors that test what happens when two attestations from non-independent issuers are composed.
Reading your codebase, QWED's crypto.py issues JWT attestations with issuer_id binding and jti replay prevention. Your trust_boundary.py enforces per-pair allowlists. Both are sound for single-hop verification.
The gap we're testing: what happens when TWO QWED interceptors, each issuing valid JWT attestations, are composed by a downstream consumer? If both interceptors share infrastructure or use the same signing keys, a naive consumer treats two passing attestations as independent confirmation when they're actually one opinion from one source.
Our ambiguous_issuer_binding fixtures (4 vectors) test this:
amb-001: shared infrastructure, different issuer_ids -- should REJECT composition
amb-002: same verification engine, different wrappers -- should REJECT
amb-003: circular attestation (A cites B cites A) -- should REJECT
amb-004: genuinely independent composition -- should ACCEPT
Proposal: run these vectors against QWED's attestation pipeline and share the results. We'll add the outcome to our conformance matrix as a new entry. No byte-matching, no hash confirmations -- just a test that can fail.
If this is interesting, we can also run QWED's own test suite through our conformance harness in the other direction.
We maintain substrate-attestation, a conformance fixture suite for verifier-issued trust evidence in the A2A ecosystem. We just shipped
ambiguous_issuer_bindingvectors that test what happens when two attestations from non-independent issuers are composed.Reading your codebase, QWED's
crypto.pyissues JWT attestations withissuer_idbinding andjtireplay prevention. Yourtrust_boundary.pyenforces per-pair allowlists. Both are sound for single-hop verification.The gap we're testing: what happens when TWO QWED interceptors, each issuing valid JWT attestations, are composed by a downstream consumer? If both interceptors share infrastructure or use the same signing keys, a naive consumer treats two passing attestations as independent confirmation when they're actually one opinion from one source.
Our
ambiguous_issuer_bindingfixtures (4 vectors) test this:amb-001: shared infrastructure, different issuer_ids -- should REJECT compositionamb-002: same verification engine, different wrappers -- should REJECTamb-003: circular attestation (A cites B cites A) -- should REJECTamb-004: genuinely independent composition -- should ACCEPTProposal: run these vectors against QWED's attestation pipeline and share the results. We'll add the outcome to our conformance matrix as a new entry. No byte-matching, no hash confirmations -- just a test that can fail.
If this is interesting, we can also run QWED's own test suite through our conformance harness in the other direction.