Add API cursor pagination evidence gates#2271
Open
Errordog2 wants to merge 1 commit into
Open
Conversation
Open
4 tasks
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.
Skill Improvement ($50-150 Bounty)
Skill Modified
Skill name:
api-securitySkill path:
skills/appsec/api-security/What Was Wrong
Issue #2254 points out that the current API4 pagination guidance focuses on capped page size, which is necessary but not sufficient for cursor pagination.
Cursor values can carry authorization, tenant, filter, sort, and snapshot state. A capped page size can still be unsafe when the cursor is client-controlled, base64-only, reusable across endpoints, missing expiry, or not revalidated against the current principal.
What This PR Fixes
This PR adds cursor pagination evidence gates to
api-security:Cursor and Pagination Evidenceoutput table;api-securitytov1.0.1with a changelog entry.Evidence
Before:
The skill asked reviewers to enforce a maximum pagination size, but did not require evidence for cursor integrity, endpoint audience, tenant/principal binding, stable ordering, cursor expiry, or replay behavior.
After:
The review output now includes:
And the detailed checklist now includes vulnerable and secure cursor examples plus concrete API1/API4 review checklist items.
Test Cases Added/Updated
tests/vulnerable/) - N/A; existing repository format for this skill stores examples in Markdown guidance files.tests/benign/) - N/A; safe and vulnerable examples are included inapi-top10-checklist.md.Bounty Tier
Bounty Info
Pull Request Checklist
injection-hardened: trueset in frontmatterallowed-toolsscoped to minimum necessary permissionsindex.yamlupdated with new skill entry (not applicable: existing skill only)Framework References
Testing
git diff --checkskills/androles/index.yamlpath existence check.github/workflows/injection-scan.ymlrgchecks forCursor and Pagination Evidence,Cursor Pagination Authorization Gate,stable unique sort tuple,endpoint/audience,snapshot,high-watermark,replay, andv1.0.1Fixes #2254