quality(coverage): measure OIDC verification core - #404
Merged
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (7)
📝 WalkthroughWalkthroughGitHub OIDC discovery와 JWKS 검증이 네트워크, JSON, 구조, URI 오류를 처리하도록 변경되었습니다. JWT 오류 분류와 JWK import 오류 처리를 조정했습니다. 캐시 만료, 키 구조, JWT 검증 분기를 검증하는 테스트를 추가했습니다. ChangesOIDC 검증 강화
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant ExchangeEndpoint
participant GitHubOIDC
participant JWTVerifier
ExchangeEndpoint->>GitHubOIDC: discovery 문서 요청
GitHubOIDC-->>ExchangeEndpoint: 검증된 jwks_uri 반환
ExchangeEndpoint->>GitHubOIDC: JWKS 요청
GitHubOIDC-->>ExchangeEndpoint: 검증된 keys 반환
ExchangeEndpoint->>JWTVerifier: JWK와 JWT 서명 검증
JWTVerifier-->>ExchangeEndpoint: 검증 결과 반환
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
marked this pull request as ready for review
August 17, 2026 07:38
Contributor
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
This was referenced Aug 17, 2026
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.
Purpose
Advance issue #84 from current protected
mainwith a bounded OIDC verification coverage/security slice. This PR keeps the OIDC JWT verification core inside owned-production coverage and closes realistic upstream-document and claim-validation branches without restoring broad V8 exclusions or weakening the 100% coverage gate.Current exact state
quality/oidc-core-coverage-slice56fde1865bd8e1ab4798d1650632ba71ba9f5b1c378e8fc76e18d7beb635e75bd97a417247d146f2Coverage and reliability work
The slice removes only the broad V8 exclusion around
base64UrlDecode,base64UrlEncode,decodeJson,fetchGithubOidcKeys, andverifyGithubOidcJwt. Executable public/exchangeregressions now cover or harden:jwks_urivalues;workflow_reffallback handling;kid, missing signing keys with forced refresh, invalid signatures, futurenbf, missingexp, missing workflow ref, malformed payload JSON, workflow-repository mismatch, and unexpected verifier failure.Test-first JWKS entry-shape repair
Exact head
ecfaecad75dc14794151a7866ccd0143449c59bastill failed applicationrelease verifyafter the residual-branch regressions, while reviewer-ci and Security Scan succeeded. During the next RCA pass, source inspection exposed a separate Noema-owned reliability/security classification defect:fetchGithubOidcKeysaccepted any array askeys, so a malformed upstream document such as{ "keys": [null] }reachedkey.kid, raisedTypeError, and was misclassified by the JWT catch boundary as clientERR_TOKEN_MALFORMEDinstead of an upstream OIDC document failure.b77ee98b8180e077df2d36626eb19de80187c1b4adds a public-path regression requiring malformed JWKS key entries to fail closed as HTTP 502 /ERR_OIDC_VERIFICATIONbefore key selection.378e8fc76e18d7beb635e75bd97a417247d146f2validates every JWKS key entry as a plain JSON object before caching/selection and preserves the existing valid-key path. The GREEN commit changes only three production lines insrc/index.tsrelative to the RED head.No source behavior outside this upstream schema boundary, coverage threshold, or central security gate was weakened.
Evidence boundary
Fresh exact-head workflows for
378e8fc76e18d7beb635e75bd97a417247d146f2were queued at the first post-write refetch:31993727469: queued;31993727486: queued;31993727453: queued.Queued/pending evidence is non-passing. Keep Draft and do not merge until the unchanged exact head has terminal-success application CI plus every applicable live central Security/review/governance gate and zero valid unresolved findings. If application CI still fails, identify the new exact first failing boundary before another repair; do not restore broad coverage exclusions or weaken thresholds.
Related: #84.
Summary by CodeRabbit
개선 사항
테스트