mcpField
A
auth-review

auth-review

github.com/descope安全1882 次安装1 天前更新
代码仓库

关于 auth-review

Auth Review 是用于审查代码库身份验证与授权的只读、框架无关技能。它生成可供问题跟进的分级报告,包含入口清单、授权矩阵和有证据支持的发现。

主要功能

  1. 01枚举外部及半可信入口
  2. 02构建端点授权矩阵
  3. 03按漏洞类别检查代码
  4. 04生成含问题草稿的日期报告
  5. 05保持静态只读审查

适用场景

  1. 01发布前审查访问控制
  2. 02事件后调查身份验证问题
  3. 03检查代码库中的 IDOR 和授权缺口

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/descope/skills --skill auth-review

安装后在 Claude Code 中输入/auth-review确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
authz-matrix.md
enumeration.md
report-template.md
vulnerability-catalog.md

详细介绍

Auth Review

对当前代码库中的身份验证和授权进行静态、只读安全审查。不依赖特定框架或供应商。输出:在 ./auth-review/ 中生成一份分级报告,其中的发现可直接整理为 issue 或 PR。

使用场景

  • 用户调用 /auth-review。
  • 用户提出“审计身份验证”“查找授权漏洞”“审查访问控制”“检查 IDOR”“身份安全审查”等请求。
  • 发布前加固,或聚焦身份问题的事件后代码取证审查。

工作流

按顺序执行以下阶段。不得跳过阶段。

阶段 1 — 枚举每个入口点

识别外部或半可信调用方可访问的每条代码路径。详见 references/enumeration.md 中的完整模式。单个代码库通常会混合使用 HTTP、GraphQL、WebSocket、队列消费者、无服务器处理程序和管理 CLI——全部列出。

交付物:一张端点清单表,包含以下列:method、path / trigger、handler (file:line)、auth required? (y/n/unknown)、roles or scopes、notes。

在继续之前,对照路由器文件、OpenAPI 规范和 GraphQL schema 核对清单。

阶段 2 — 构建授权矩阵

针对每个端点回答:谁应该能够访问?代码实际执行了什么检查? 使用 references/authz-matrix.md,根据惯例推断预期主体并判定缺口。

交付物:一张授权矩阵表,包含以下列:endpoint、expected principal、enforced check (file:line)、gap。

阶段 3 — 应用漏洞目录

按类别逐项检查 references/vulnerability-catalog.md。针对每类运行检测启发式规则,然后阅读匹配到的文件进行确认。不得仅凭 grep 命中就报告问题。

在判定某项检查缺失之前,确认上游中间件、装饰器、守卫、过滤器、拦截器、框架默认行为或反向代理没有执行该检查。针对每项发现,至少端到端追踪一条具体调用路径。如果检查是有条件的,记录该条件以及攻击者是否可以控制它。

阶段 4 — 编写报告

如果 ./auth-review/ 不存在,则创建该目录。将报告写入 ./auth-review/report-YYYY-MM-DD.md(如果当天已有报告,则追加 -HHMM)。使用 references/report-template.md 中的结构。

报告必须包含:

  1. 按严重程度统计数量的执行摘要。
  2. 端点清单(阶段 1)。
  3. 授权矩阵(阶段 2)。
  4. 发现项——每项包含标题、严重程度、CWE、file:line、证据、利用原理和修复建议。
  5. “待提交的 Issues”——将发现整理为可直接粘贴的 issue 正文。
  6. 需要维护者解答的未决问题。

写入报告后,向用户汇总各严重程度的数量,并指出文件路径。不要创建 issue 或 PR。

严重程度分级

级别含义
High未经身份验证或低权限攻击者可利用;导致账户接管、数据泄露、权限提升或跨租户访问。
Medium需要特定条件、影响有限,或属于纵深防御失效。
Low加固建议;轻微信息泄露;缺少最佳实践。

始终包含 CWE ID(例如 CWE-287、CWE-639、CWE-862、CWE-863)。使用 references/vulnerability-catalog.md 中的标识符——不得自行编造 ID。

不要

  • 不要修改源代码。此技能为只读。
  • 不要运行应用程序、执行网络探测或发送出站请求。
  • 没有 file.ext:line 引用和证据片段时,不要报告发现的问题。
  • 在确认上游中间件、守卫、装饰器或代理均未强制执行检查之前,不要指出缺少检查。
  • 不要臆造 CWE ID、CVSS 分数或框架行为——如果不确定,请将发现标记为“未确认”,并将其移至“开放问题”。
  • 不要在报告中包含机密、令牌、私钥或真实用户数据。请将其编辑为 [REDACTED]。
  • 除非用户要求,否则不要将报告提交到 git。
  • 不要直接创建 GitHub 问题或 PR。请输出可直接用于提交问题的文本,由用户自行提交。
  • 找到一个漏洞后不要停止。请列出所有问题,然后再报告。
  • 不要相信代码注释或文档胜过代码本身。注释中写着“仅限管理员”并不构成安全控制。

参考资料

  • references/enumeration.md — HTTP、GraphQL、WebSocket、RPC、无服务器和后台技术栈中的入口点模式。
  • references/vulnerability-catalog.md — 完整的漏洞分类、检测启发式规则、CWE ID 和修复方法。
  • references/authz-matrix.md — 矩阵架构和预期主体推断规则。
  • references/report-template.md — 精确的报告结构和问题正文格式。

评论

支持 Markdown