Skip to content

feat(scitt): add SCITT verification support with headers and error ha…#17

Merged
kperry-godaddy merged 6 commits intomainfrom
scitt
Apr 21, 2026
Merged

feat(scitt): add SCITT verification support with headers and error ha…#17
kperry-godaddy merged 6 commits intomainfrom
scitt

Conversation

@kperry-godaddy
Copy link
Copy Markdown
Collaborator

…ndling

Copy link
Copy Markdown
Collaborator

@csnitker-godaddy csnitker-godaddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All three findings from the review pass are resolved:

  1. CurrentHeaders expired-token suppressionverify/scitt/supplier.go:166-172 now reads tokenExp under the RLock and suppresses the token when now >= exp. Matches Rust supplier semantics. Boundary behavior (now == exp → suppressed) is pinned by test.

  2. Clock-skew clamp + overflow guardverify/scitt/status_token.go:88-93 clamps clockSkew to [0, MaxClockSkew] before the int64 conversion, closing the overflow path. WithSupplierClockSkew applies the same clamp, so the agent-side bypass is also closed. TestVerifyStatusTokenAt_ClockSkewClamping exercises math.MaxInt64 directly.

  3. ans_name required at decodedecodeStatusPayload now rejects tokens missing ans_name, and verify.go:598-606 drops the if != "" guard with a comment documenting the invariant. Matches Rust oracle.

The follow-up nil-logger guard at supplier.go:167-171 is also correct and has a dedicated regression test (nilLogger: true).

Full test suite passes. LGTM.

@kperry-godaddy kperry-godaddy merged commit 6113b0c into main Apr 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants