php-audit-pipeline

Installation
SKILL.md

运行依赖说明(避免误导)

本 skill 在当前安装形态下是“文档编排/方法论”版本,通常不会在本地仓库中提供可执行脚本(例如 scripts/*.py)。 当环境中不存在对应执行器时,应直接使用文档里描述的阶段化流程(route-mapper / auth-audit / vuln-scanner / route-tracer 等)进行源码分析与报告生成;如果看到“正在寻找执行器脚本”的提示,可将其视为“未找到执行器,改走阶段化降级流程”,不要把它当作路径错误。

无执行器时的人工等价落地(推荐)

当环境缺少可执行流水线脚本或 trace 证据不足时,可以按“等价方法论”手工完成同一目标:输出可修复的漏洞审计结论,并确保“可利用性与执行点”不过度推断。

  1. 先做关键字/函数抓手定位(Source/Sink)

    • source_path 根目录开始递归遍历(不限定具体业务目录;默认仍排除 vendor/、缓存目录,可按需要调整)检索 Source/Sink 候选。
    • 对每个命中的 Sink,记录:文件路径、函数/方法签名、所在控制器/中间件/服务类上下文、sink 参数变量名。
  2. 再做参数可控性验证(可控性矩阵)

    • 追踪 sink 参数变量来自哪里:例如 get_params()request()->post()$_GET/$_POST/$_REQUEST、body(php://input)、header/cookie。
    • 判断该参数在进入危险拼接/执行前是否被:白名单/枚举校验、类型转换、转义/过滤、长度/字符集约束等硬化覆盖。
    • 输出可控性状态:✅完全可控 / ⚠️条件可控 / ❌不可控,并写出拦截/硬化点的代码证据位置。
  3. 最后做执行点确认(真实落点)

    • 确认该 sink 参数最终是否真的在危险上下文执行,而不是仅被传入后又被安全处理或未真正触发。
    • 若无法证明“真实落点执行”,一律标记为 ⚠️待验证 / 🔍环境依赖,不要写 ✅已确认可利用
Related skills

More from 0xshe/php-code-audit-skill

Installs
23
GitHub Stars
310
First Seen
Mar 25, 2026