Appearance
如何使用 AI 对 Django 项目进行权限与 IDOR 安全审计
解决 Django 项目中常见的权限漏洞:通过引导 AI 深入分析代码的数据流向,确认“用户 A 是否能访问、修改或删除用户 B 的数据”,从而精准定位 IDOR(不安全直接对象引用)漏洞。
为什么需要这个技能
在 Django 或 Django REST Framework (DRF) 项目中,简单的登录校验(如 IsAuthenticated)并不等于拥有正确的权限。很多开发者会忘记在查询数据库时过滤用户 ID,导致攻击者只需修改 URL 中的主键 ID 就能访问他人的私有数据。
传统的静态扫描工具依赖于模式匹配,容易产生大量误报或漏报。本技能将 AI 的角色转变为一名“安全调查员”,要求它必须先理解项目的权限模型,通过追踪代码路径来证实漏洞的存在,而不是盲目猜测。
适用场景
- 需要对 Django/DRF 的 View、ViewSet 或 ORM 查询进行安全审计时。
- 在进行代码评审(Code Review)时,需要确认对象级权限(Object-level Authorization)是否完整。
- 处理涉及多租户(Tenant)或复杂组织架构的资源访问控制检查。
核心工作流
AI 将遵循以下五个阶段进行深度审计:
- 理解权限模型:研究代码库如何实施授权。检查是否使用了装饰器(
@login_required)、中间件、DRF 的permission_classes或自定义的Manager。 - 映射攻击面:识别所有处理用户特定数据的端点(Endpoint),重点关注通过 URL 或请求体传递 ID 的接口。
- 提出核心质疑:针对每个端点询问:“如果我是用户 A,且我知道用户 B 的资源 ID,我能访问它吗?”
- 追踪执行流:
- 确认 ID 进入系统的位置 寻找 ORM 查询语句 检查两者之间是否存在权限校验。
- 检查
get_queryset()是否被重写以过滤当前用户,或是否实现了has_object_permission()。
- 报告可证实结果:仅报告通过代码追踪确认的漏洞。提供的修复方案必须是实际的逻辑代码(如增加
PermissionDenied抛出),而非简单的文档注释。
下载和安装
下载 django-access-review 中文版 Skill ZIP
解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md。
你可能还需要
暂无推荐