fix: require issuer for v0.2 manifests (was silently optional like legacy v0.1) - #403
Merged
imran-siddique merged 1 commit intoSep 7, 2026
Merged
Conversation
Signed-off-by: rajnisht7 <rajnishtiwari9787@gmail.com>
imran-siddique
approved these changes
Sep 7, 2026
imran-siddique
left a comment
Member
There was a problem hiding this comment.
Reviewed 367d0c0.
The issuer omission exception is now limited to legacy version 0.1. Full local suite: 1,495 passed, 6 skipped, 1 expected failure. I reverted only this condition in an isolated worktree: both new v0.2 tests then failed because verification returned VALID, while the v0.1 compatibility control passed. Restored the exact reviewed tree afterward. This establishes the schema rejection without breaking the legacy path; current hosted CI is passing apart from the review gate.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Scopes the "missing issuer is OK" schema exception to v0.1 manifests only, so v0.2 manifests without issuer correctly fail verification instead of coming back VALID.
Why
_strict_schema_violations()in_verify.pywas filtering out the missing-issuer schema error for every manifest version, with no version check. The exception was only ever meant for legacy v0.1 records (which predate the issuer field). Since the v0.2 spec makes issuer REQUIRED, and it's used elsewhere for signing-key authorization, a v0.2 manifest with issuer stripped out could carry a valid COSE signature and still verify as VALID silently dropping that authorization check.Spec impact
None
Test plan
pytest -vpassesmypy src/agent_manifestpassesruff check src/ tests/passesCHANGELOG.mdupdatedDCO
All commits in this PR are signed off (
git commit -s). By submitting this PR I certify the Developer Certificate of Origin.