sast-idor 是 sa-skills 集合中的一项安全评估技能,目标是在代码库中聚焦查找 IDOR(不安全的直接对象引用)漏洞。IDOR 指应用使用用户提供的标识符(ID、slug、文件名等)直接访问对象,却未验证请求用户是否有权访问该具体对象,典型表现为认证用户 A 通过更改请求中的标识符访问或修改用户 B 的资源。
主要能力:采用三阶段子代理流程。一、侦察,找出所有使用用户提供标识符读取、修改或删除特定对象的端点、控制器动作或处理器,结果写入 sast/idor-recon.md;二、批量验证,将候选按每组最多 3 个分批并行核查授权,结果写入 sast/idor-batch-N.md;三、合并,把所有批次结果汇总到 sast/idor-results.md。验证时将端点分类为 Vulnerable、Likely Vulnerable、Not Vulnerable 或 Needs Manual Review。
使用方式:前置条件是 sast/architecture.md 必须存在,若不存在需先运行分析技能。技能会根据项目技术栈挑选对应的安全与漏洞代码示例传递给子代理,并检查查询是否按当前用户范围限定、是否有显式所有权检查、策略或授权中间件、租户范围限定等。
适用场景与限制:面向已认证用户之间的水平越权检查。它不将缺少认证、功能级越权(普通用户访问管理后台)、有意公开的资源、非对象字段的参数篡改以及通过 ID 字段的 SQL 注入归为 IDOR;遇到复杂中间件链或服务层授权时可能标记为需人工复查。具体安装或调用命令资料中暂未提供。