Token导航 LogoToken导航TokenDH.com
开发需要联网github未标认证来源可访问许可证需确认审计提醒

php-auth-auditPHP auth 审核

Agent Skill

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

总安装

423

周安装

18

GitHub Stars

291

下载量

148
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:php-auth-audit(PHP auth 审核)
来源仓库:https://github.com/0xshe/php-code-audit-skill
仓库路径:skills/php-auth-audit
安装命令:
npx skills add https://github.com/0xshe/php-code-audit-skill --skill php-auth-audit
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/0xshe/php-code-audit-skill --skill php-auth-audit

简介

用于 PHP 认证流程与权限安全检查。

  • 适合分析登录逻辑、令牌管理与会话机制。
  • 可通过 npx 命令从 php-code-audit-skill 仓库安装。
  • 不能将工具输出直接当作最终结论。php-auth-audit 属于开发类 Skill,可作为该场景下的辅助能力补充。
  • 注意最小权限原则与用户数据脱敏处理。

SKILL.md

PHP 鉴权机制审计(Auth Audit)

分析 PHP Web 项目源码,识别认证与授权链路,判断每条路由的鉴权状态,并检测鉴权绕过/越权/IDOR 风险。

CRITICAL:完整分析(强制)

  • 必须处理所有在 php-route-mapper 中出现的路由
  • 必须识别认证链:Session/JWT/中间件/自定义校验函数
  • 必须输出路由-鉴权映射表(不做省略)
  • 对所有可疑点给出:位置证据 + 数据流链 + 可利用性分析 + 验证 PoC + 修复建议

运行模式(强制:与流水线阶段对齐)

此技能支持两种模式,用于解决“尚未生成 trace 之前无法引用 EVID_*”的问题:

  1. STATIC_MAPPING(推荐用于流水线阶段 1)

- 只生成 auth_mapping_{timestamp}.md(以及可选的 auth_README_{timestamp}.md) - 允许缺少 php-route-tracerEVID_* 证据点引用 - 必须给出:鉴权状态分级(✅/⚠️/❌/❓)与 P0/P1 分桶依据(不需要 PoC)

  1. TRACE_AUDIT(推荐用于流水线阶段 4,trace 已存在)

- 生成完整的 auth_audit_report_{timestamp}.md,并强制逐条引用 trace 契约中的 EVID_* 证据点 - PoC/修复建议必须齐全

漏洞分级

详见:shared/SEVERITY_RATING.md

输入依赖

建议输入(与 shared/IO_PATH_CONVENTION.md 一致;合并流水线时读总报告中等价章节):

  • routes_{timestamp}.md(独立落盘时常为 route_mapping/routes_{timestamp}.md
  • params_{timestamp}.md(独立落盘时常为 route_mapping/params_{timestamp}.md

可选:

  • source_path

识别鉴权实现(必做)

按框架识别:

  • Laravel:

- middleware('auth'|'can'|'role:') - Auth::check()/Auth::user() - Policies/Gates:Gate::allows->can({value}) - 路由保护:Route::middleware([{value}])->group({value})

  • Symfony:

- security.yaml / access_control - denyAccessUnlessGrantedisGranted - voter/policy

  • 原生 PHP:

- session_start + $_SESSION 判断 - if (!isset($_SESSION['user']))/requireLogin() - 自定义函数:checkAuth/authorize/hasRole/isAdmin

路由-鉴权映射(必做)

对每条路由输出以下状态:

  • ✅ 公开:显式允许,无鉴权检查
  • ✅ 受保护:存在完整认证/授权检查
  • ⚠️ 仅认证:只校验登录态,无角色/资源级授权
  • ❌ 无鉴权:没有任何鉴权链路命中
  • ❓ 不确定:动态权限/复杂自定义逻辑导致难判(仍必须写出证据点)

并输出风险类型:AUTH,包括:

  • 认证绕过(登录态校验被绕过)
  • 授权绕过/越权(角色校验缺失或错误)
  • IDOR(对象访问缺少所有权/归属校验)

可疑模式检测(必做,给出证据链)

1) 路径/URI 匹配导致鉴权绕过

在 PHP 中常见根因:

  • 用原始 $_SERVER['REQUEST_URI']parse_url 结果做白名单匹配,但路径未规范化
  • 编码/大小写/重复斜杠/尾部字符差异导致匹配失败(实际路由进入受保护 handler)

必须输出:

  • 白名单检查位置与代码片段
  • 绕过请求(PoC)与命中的 handler 证据

2) 仅校验登录态,缺少角色/资源授权

必须输出:

  • 路由的“认证检查”位置
  • “授权检查缺失”位置(例如只判断 user!=null 后直接执行敏感操作)

3) IDOR/越权

必须输出:

  • 敏感对象 id 来自哪里(GET/POST/URL)
  • 用于查询/更新的“归属校验”是否存在(WHERE 里是否包含 user_id/owner_id)
  • 未校验的原因与可达性

报告输出(按运行模式)

输出到:

{output_path}/auth_audit/
├── auth_audit_report_{timestamp}.md
├── auth_mapping_{timestamp}.md
└── auth_README_{timestamp}.md

强制规则:

  • STATIC_MAPPING:必须生成 auth_mapping_{timestamp}.mdauth_audit_report_{timestamp}.md 可以省略或生成空壳(并标注:仅分桶映射,不含 trace 证据)
  • TRACE_AUDIT:必须生成完整三文件,并要求 trace 证据点齐全

文件1:主报告 auth_audit_report_{timestamp}.md

包含:

  • 鉴权框架识别(含版本/实现证据)
  • 鉴权架构概览(middleware/函数/handler)
  • 风险统计
  • 每条风险的完整漏洞结构(编号/分级/数据流/PoC/修复)

文件2:映射表 auth_mapping_{timestamp}.md

只列路由与鉴权状态、所需角色/条件(不要放漏洞详细分析)。 但必须新增分桶字段(用于流水线阶段 3 选路):

  • p_bucketP0P1

- P0:❌ 无鉴权 - P1:⚠️ 仅认证,或检测到存在授权绕过/越权/IDOR 风险(即使鉴权状态显示为“仅认证”,也要在 p1_reason 里说明为什么进入 P1)

  • p1_reason:一段简短静态依据(如“仅登录态,缺少 hasRole/authorize 或缺少 owner_id 校验”)

文件3:说明文档 auth_README_{timestamp}.md

只说明方法论、工具与验证指南,不包含具体漏洞细节。

PoC 验证模板(强制)

必须区分至少以下场景:

  • 未登录访问(无 cookie/session/JWT)
  • 普通用户访问(普通账号 cookie/JWT)
  • 管理员/高权限对照(如适用)

PoC 必须是可执行 HTTP 请求代码块,并且路由路径必须使用真实路由规则。

证据引用(按运行模式强制)

  • STATIC_MAPPING:不强制引用 trace 的 EVID_* 证据点(只需输出鉴权分级与 P0/P1 分桶依据)。
  • TRACE_AUDIT:每条疑似鉴权风险必须逐项引用 trace 输出中的证据(允许状态标记为待验证,但证据引用必须存在):
  1. EVID_AUTH_PATH_PROTECTED_MATCH:路由进入受保护 handler 的路径匹配证据(对应 trace 的分支路径证据)
  2. EVID_AUTH_TOKEN_DECODE_JUDGMENT:登录态/Token 解码结果如何被判断的证据(对应 trace 中 session/JWT 读取与条件分支)
  3. EVID_AUTH_PERMISSION_CHECK_EXEC:权限判断函数或条件语句(如 hasRole/authorize)的执行证据(trace sink 定位或分支证据)
  4. EVID_AUTH_IDOR_OWNERSHIP_CONDITION:IDOR 归属校验(WHERE/条件)是否包含 owner_id/user_id 的证据(trace 中最终查询条件或状态更新语句)

tracer 证据缺失处理(强制)

  • STATIC_MAPPING:不适用(分桶依据以静态代码证据为准)。
  • TRACE_AUDIT:若 trace 契约校验失败或无法定位 1~4 任一关键证据点:该风险只能标记为 ⚠️待验证,不得给出 ✅已确认可利用 或“确定可绕过”的结论。

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

35.05%
按下载量换算52

Claude

30.53%
按下载量换算45

Cursor

20.53%
按下载量换算30

Gemini CLI

10.57%
按下载量换算16

安全审计

Gen Agent Trust Hub

通过

Socket

可疑

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills