fix(security): preserve private-reporting oversize failure through cleanup faults - #673
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough응답 본문이 크기 제한을 초과하면 동기적인 Changes취약점 보고 응답 처리
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Merge Risk: ⚪ Minimal · up to The bounded-response cleanup path now reports the intended size-limit failure even when cancellation itself fails. The relevant regression is covered and the change is ready for normal final checks. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ 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
left a comment
There was a problem hiding this comment.
Exact-head review: hosted RED 34689976768 proved the synchronous cleanup fault replaced the already-decided oversize rejection. The smallest GREEN candidate catches only a synchronous cancel() cleanup fault; it does not weaken the 16 KiB limit or other parser gates, and releaseLock() remains in the existing terminal cleanup. The new exact-head gates are queued, so this is evidence commentary—not approval or completion.
seonghobae
left a comment
There was a problem hiding this comment.
Exact-head review for 6f9dc4ca047817e4c9ef5ae8a55816493b1c558d: the hosted RED at 03e71f503d21eb633a9429eb454e012fa48fd953 demonstrates the synchronous cancel() fault replacing the stable 16 KiB oversize decision; this head contains the minimum causal containment. The source patch preserves the byte/media-type/UTF-8/duplicate-key admission boundaries and finally lock release, while the hostile regression verifies primary-error authority plus cleanup. CodeRabbit reports no actionable finding on this exact and current inline-thread count is zero. Application CI, reviewer-ci, and patch-validator-image are GREEN; required Security Scan is still pending, so this COMMENT is not an approval or merge claim.
…ncel-authority-20260912 docs(noema): converge #673 private-reporting cancellation authority
Problem
readBoundedJsoncorrectly treats cancellation as cleanup after the 16 KiB GitHub response ceiling is exceeded, butvoid reader.cancel().catch(...)still let a synchronously throwingcancel()replace the already-decided size-limit failure. That contradicted the cleanup-authority invariant and made failure classification depend on cleanup behavior.This lane stays inside Noema's security/read-only operational evidence boundary. It does not alter private-vulnerability-reporting setting authority, GitHub identity, provider routing, quarantine, outbound policy, release, deployment, or production evidence.
RED → minimum GREEN
03e71f503d21eb633a9429eb454e012fa48fd953added a hostile reader whose first chunk exceeds 16 KiB, whosecancel()throws synchronously, and whosereleaseLock()is observable.34689976768reproduced the intended failure after exact checkout/install/typecheck: release tests failed on the hostile cleanup path and later release steps were skipped.6f9dc4ca047817e4c9ef5ae8a55816493b1c558dwraps only synchronous cancellation cleanup intry/catch. The primary oversize error remains authoritative; asynchronous rejection handling and reader-lock release remain unchanged.Exact-head checks
For
6f9dc4ca047817e4c9ef5ae8a55816493b1c558d:34690213329: SUCCESS; release tests, security step, KPI verification, dependency-license inventory, acquisition manifest/integrity, and base-drift guard all completed.34690213314: SUCCESS.34690213322: SUCCESS.34690213336: SUCCESS.Acceptance
Summary by CodeRabbit
버그 수정
테스트