npx skills add ...
npx skills add getsentry/sentry-skills --skill django-access-review
Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python/Django code handling user authorization. Trigger keywords: "IDOR", "access control", "authorization", "Django permissions", "object permissions", "tenant isolation", "broken access".
This repo is now called getsentry/skills. Both names install the same content, but the install count here only covers this one.
npx skills add getsentry/sentry-skills --skill django-access-review
Find access control vulnerabilities by investigating how the codebase answers one question:
Can User A access, modify, or delete User B's data?
Do NOT scan for predefined vulnerable patterns. Instead:
Every codebase implements authorization differently. Your job is to understand this specific implementation, then find gaps.
Before looking for bugs, answer these questions about the codebase:
Research the codebase to find:
Do not proceed until you understand the authorization model.
Identify endpoints that handle user-specific data:
For each resource, map:
For each endpoint that handles user data, ask:
"If I'm User A and I know the ID of User B's resource, can I access it?"
Trace the code to answer this:
Pick a concrete endpoint and trace it completely.
Only report issues you've confirmed through investigation.
| Level | Meaning | Action |
|---|---|---|
| HIGH | Traced the flow, confirmed no check exists | Report with evidence |
| MEDIUM | Check may exist but couldn't confirm | Note for manual verification |
| LOW | Theoretical, likely mitigated | Do not report |
Bad fix: Adding a comment saying "caller must validate permissions" Good fix: Adding code that actually validates permissions
A comment or docstring does not enforce authorization. Your suggested fix must include actual code that:
Example of a BAD fix suggestion:
Example of a GOOD fix suggestion:
If you can't determine the right enforcement mechanism, say so - but never suggest documentation as the fix.
These are patterns you might find - not a checklist to match against.
Use this to guide your review, not as a pass/fail checklist: