fix(rubric): reject executable integer controls - #892
Conversation
|
Warning Review limit reached
Next review available in: 44 minutes You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
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 |
Scope
Closes #891 by hardening rubric-centered integer validation before caller-dispatchable conversion can occur.
Test-first lineage
b4670ce3ed8d95f42a9eccccdb878aeefc5b02deadds public-constructor regressions for arbitrary__index__providers, caller-defined Python/NumPy integer subclasses, and genuine NumPy integer scalar compatibility.69921806a005a980280de9f94ad3c82400b7d961replaces protocol-first admission with exact built-in / genuine supported NumPy integer scalar identity checks before normalization.f5765979d1967b680c63c770a65925c4a3d1dc49and9a25eab37923258dd384b84213e23bc3c1feec0badd canonical changelog and security doctoring evidence.cce9478eef9cc0daea1a121092733b67857fbfb4strengthens hostile public-constructor regressions so arbitrary providers and caller-defined Python/NumPy integer subclasses prove zero conversion, representation, equality, hashing, and rich-comparison callback execution.Preserved boundary
__index__providers, and caller-defined Python/NumPy integer subclasses fail before caller numeric callbacks can participate.Standards / doctoring
The doctoring records CWE-1287, OWASP ASVS 5.0.0 V2.2 input-validation guidance, final NIST SP 800-218 SSDF 1.1, and the newer SP 800-218 Rev. 1 / SSDF 1.2 Initial Public Draft without representing the draft as final normative guidance.
Verification
fb67ced09d8ee00542c05d56374537a9a7239751at the latest refetch.cce9478eef9cc0daea1a121092733b67857fbfb4; GitHub reports the PR mergeable and Draft.cce9478eef9cc0daea1a121092733b67857fbfb4.Any source-head or protected-base movement invalidates predecessor evidence and requires a fresh exact-head sweep. Protected integration still requires every live exact-head gate plus the qualifying independent non-author approval and last-push approval rules; no automated review or author action substitutes for those gates.