Spec change proposal: resolve TRACE v0.2 verifier contradictions from #591
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- documentation, security
Research direction
Read the v0.2 text in §§3.1, 3.1.5, 3.2.2, and 3.3, then review the per-input study and reproduction linked in #591. The proposed text, schema descriptions, and tests are expected in a linked draft PR; use them to check that each reported contradiction has a testable resolution. Done means the proposal has been discussed through the required 30-day comment period and has organizational sponsorship and Project Lead approval.
Written by the indexing model from the issue text.
Description
Spec sections affected
§3.1 (base-record fields and conformance levels), §3.1.5 (platform measurement appraisal), §3.2.2 (embedded signature), and §3.3 (verification sequence).
Problem
Issue #591 reports four reproducible disagreements between the v0.2 text, schema, and reference verifier: whether a base record requires tool_transcript and transparency; whether a signature checked only against the record's own cnf key authenticates origin; whether the verifier rejects a signed platform appraisal about another runtime measurement; and whether JWT-context ES256 support defines an ES256 top-level embedded signature. The report does not establish a deployed vulnerability.
Proposed change
- In §3.1, mark
tool_transcriptoptional in the base record and required for Level 2 transcript checks. Marktransparencyoptional below Level 2 and required for Level 2 anchoring checks. Omission makes no transcript commitment or anchoring claim. - In §3.3, require an issuer key trusted independently of the incoming record, or a signature chain validated to an accepted root, before reporting authenticated origin or a verification pass. Verify the signature against that trusted key and confirm that it matches
cnf. A self-key-only check is diagnostic internal consistency. - Retain the §3.1.5 rule that signed
appraisal.platform_measurement.measurementequals this record'sruntime.measurement, and enforce it in the reference verifier and conformance suite. - In §3.2.2, specify Ed25519 with an
OKP/Ed25519cnf.jwkand a 64-byte signature for the v0.2 base embedded form. A different embedded algorithm needs a separately defined profile. JWT-context algorithms and separately defined enveloping profiles are unaffected.
The proposed text, schema descriptions, and tests will be in a linked draft PR. This issue starts discussion; it is not a request for immediate acceptance.
Backward compatibility
- Non-breaking (new optional field, informative addition)
- Breaking (changes algorithm set or accepted records)
Existing top-level embedded records using ES256 or another non-Ed25519 algorithm would need to use Ed25519 or a separately defined profile/enveloping form. Verifiers that accept only a self-supplied cnf key as authenticated origin must instead obtain an independent trust anchor. A signed appraisal about a different measurement must be rejected. Level 2 still requires transcript and anchoring evidence; base records without those fields remain valid at lower levels. Existing Ed25519 records with matching appraisals and separately defined enveloping signatures are unaffected.
Motivation
Give independent implementers and the reference library one testable interpretation of the same v0.2 record. See the per-input study and reproduction linked in #591. The required 30-day comment period, organizational sponsorship, and Project Lead approval remain open before any merge.
Related issues or PRs
#591
- Dominant language
- Python
- Stars
- 37
- Forks
- 33
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 122
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from agentrust-io/trace-spec
-
bug needs-review:HIGH
Difficulty 5/5 Over a week Newbie friendliness 20/100
agentrust-io/trace-spec#591 · 4 comments ·
Maintainers usually reply within 1 day
-
prototype(manifest_requirements): resolve accepted_methods without duplicating bindings and reject unconfigured binding endpoints with ProfileErrorPossibly taken @drk-ram claimed this 1 day ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 78/100
agentrust-io/trace-spec#580 ·
Maintainers usually reply within 1 day
-
feat(delegation): add parent_record_hash, verify_delegation_link, and verify_delegation_chain to agentrust_tracePossibly taken @drk-ram claimed this 1 day ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 58/100
agentrust-io/trace-spec#581 ·
Maintainers usually reply within 1 day
-
revocation,trust-record-verify: implement es256 and es384 bundle verification and add EC revocation vectors (#448 items 1, 10)Possibly taken @drk-ram claimed this 1 day ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 52/100
agentrust-io/trace-spec#584 ·
Maintainers usually reply within 1 day
-
trust-record-verify: add citationResolver (citations) and platformAppraiser (platformMeasurement) parity with Python verify_recordPossibly taken @drk-ram claimed this 2 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 72/100
agentrust-io/trace-spec#569 ·
Maintainers usually reply within 1 day
All issues in agentrust-io/trace-spec
Similar issues
-
Uninstall guide omits the CloudWatch log groups AWS CodeBuild creates for useCodeBuild pipelinesOpenbug documentation
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
awslabs/visual-asset-management-system#552 ·
Maintainers usually reply within 1 day
-
netbox status: needs triage type: documentation
Difficulty 1/5 Under an hour Newbie friendliness 76/100
netbox-community/netbox#23460 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
awslabs/threat-composer#362 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ansys/pyansys-common-mcp#213 ·
Maintainers usually reply within 3 days