django-access-review

Audit Django authorization checks for access control and IDOR vulnerabilities.

905|47|Updated Jan 5, 2026
One-click install
npx skills add https://github.com/getsentry/skills --skill django-access-review-getsentry
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: django-access-review
Source: https://github.com/getsentry/skills/tree/main/skills/django-access-review
Command: npx skills add https://github.com/getsentry/skills --skill django-access-review-getsentry

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Django access control and IDOR vulnerabilities are a common risk in Django applications. This skill helps security reviewers systematically audit how the code enforces authorization, focusing on ownership, permissions, and tenant isolation to prevent unauthorized access or modification of user data.

Core Features & Use Cases

  • Understand and map the application's authorization model, including where permission checks occur (decorators, mixins, or DRF permissions) and how queries are scoped.
  • Trace endpoints from URL/view to the database query to ensure data access is properly restricted to the intended user or tenant.
  • Provide concrete remediation guidance with evidence-based, codified fixes for Django views, DRF viewsets, and ORM queries to close gaps.

Quick Start

Begin by selecting a Django project, identify a user-owned resource endpoint, and trace authorization checks from the view to the query to verify proper scoping.

Frequently Asked Questions about django-access-review

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit Django access controls for IDOR vulnerabilities?

Django access control auditing involves tracing endpoints from view to ORM query to verify where permission decorators, mixins, or DRF permissions restrict data access to the intended user or tenant, preventing unauthorized modification of user data.

What is tenant isolation in Django and how does get_queryset enforce it?

Tenant isolation in Django restricts data access to specific tenants. It is enforced by scoping the get_queryset method in DRF viewsets, ensuring ORM queries filter objects so users only access their own tenant's resources.

How do I review DRF viewsets to ensure proper authorization checks?

Reviewing DRF viewsets for authorization involves evaluating how has_object_permission is implemented and whether get_queryset is scoped to the user or tenant, preventing unauthorized access or modification of user data.

Does this access control audit cover multi-tenant Django applications?

Yes, this access control audit covers multi-tenant Django applications by systematically reviewing ownership models and tenant isolation scenarios across views, DRF viewsets, and ORM queries to prevent unauthorized tenant data access.

What is the best way to fix IDOR vulnerabilities in Django ORM queries?

The best way to fix IDOR vulnerabilities in Django ORM queries is to apply evidence-based remediation that strictly scopes get_queryset to the authenticated user or tenant, ensuring all data access is properly restricted.

Why does my Django view expose user data despite having permission decorators?

Django views may expose user data when permission decorators only check authentication but fail to scope ORM queries or implement has_object_permission, leaving gaps in object-level authorization that allow IDOR attacks.