verify_chain: judge revocation by snapshot membership while windows are judged at at_time
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- authentication, security
Direzione di ricerca
Start by reading the implementation and tests for verify_chain and effective_revocation, then trace how _check_revocation handles authority and snapshot membership. Decide which proposed public API fits the existing interface while preserving the current default, and add coverage for a snapshot statement whose issued_at is later than at_time. Done means the public API supports the log-order reading, documents that the caller supplies the exact snapshot, and the existing behavior remains covered.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem statement
An auditor that replays a past decision from a transparency log needs two different clocks. Validity windows are judged at the decision time (at_time). Revocation is judged by log order: the snapshot holds exactly the statements the log published before the receipt, so every statement in it should count, whatever its issued_at says.
Today verify_chain(at_time=T, revocations=S) passes at_time=T on to effective_revocation, which skips statements with issued_at > T. A statement logged before the receipt, but stamped later by the revoker's clock, is ignored. The only way to get the log-order reading is to run verify_chain(..., revocations=None) and then the private _check_revocation(chain, S, at_time=None, now=T, max_staleness=None). That is what the MUSUBI companion does now (horizon-shield workers/hs-ledger/nenrin/musubi-v0/ca2a-companion-v0/companion_v0.py, _ca2a, pinned to ca2a-runtime 0.4.0). A private call will break on refactors that never touch its reading.
Proposed solution
Either of these, with today's default unchanged:
- A keyword on
verify_chain, for examplerevocation_at_time, defaulting toat_time, whereNonemeans every statement in the supplied snapshot is in force. - A public
check_revocation(chain, revocations, *, at_time=None, now, max_staleness=None)with the semantics_check_revocationhas now, documented as valid only on a chain whose structure has already verified.
Alternatives considered
- Re-implementing the authority walk in the companion. Rejected: it would drift from cA2A's own rule that a delegate cannot revoke the grant it received.
- Rewriting
issued_atin the snapshot. Rejected: it changes signed statements.
Security/TEE impact
None on the TEE boundary or attestation flow. The new reading only counts more revocations, never fewer. When it is used, the caller asserts that the snapshot is exactly the set in force, and the docstring should say the caller owns that.
Spec alignment
No trace-spec change required.
Context: agentrust-io/.github discussion #65. Once this ships, the integrations entry switches to it and drops the 0.4.0 pin.
- Lingua principale
- Python
- Stelle
- 9
- Fork
- 14
- Merge medio
- 17h 24m
- PR unite (30g)
- 56
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di agentrust-io/ca2a
-
Should delegated authority depend on execution lineage? (PIC, #168)Forse già presa @rajnisht7 l’ha presa 3 giorni fa. Aperta
Difficoltà 5/5 Più di una settimana Idoneità per principianti 30/100
agentrust-io/ca2a#222 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
design: correction-aware supersession for delegated authority and pending action evidenceForse di nuovo libera @Evalbound l’ha presa 47 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
agentrust-io/ca2a#129 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
Scope proposal: financial mandate evidence for delegated limits, in-flight revocation, and decision receiptsForse di nuovo libera @amyli1996 l’ha presa 47 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement
agentrust-io/ca2a#109 · 8 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
tracker: complete confidential-hardware conformance and release assurance decisionForse già presa @rajnisht7 l’ha presa 3 giorni fa. Apertaattestation enhancement tier-3
agentrust-io/ca2a#47 · 7 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
test(conformance): finish ACTION historical validity-window replay casesForse di nuovo libera @K611-dot l’ha presa 59 giorni fa e non c’è nessuna pull request aperta. Apertahelp wanted
agentrust-io/ca2a#36 · 15 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di agentrust-io/ca2a
Issue simili
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fossasia/visdom-dev#77 ·
I maintainer di solito rispondono entro 4 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
aws-cloudformation/cfn-lint#4890 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
volcengine/OpenViking#6521 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
AstrBotDevs/AstrBot#10720 ·
I maintainer di solito rispondono entro 1 giorno