php-vuln-scanner
PHP 依赖漏洞扫描器(php-vuln-scanner)
扫描 PHP 项目的 Composer 依赖,识别已知安全漏洞(CVE/Advisory),并给出与路由/入口的关联推断框架。
输入
source_path:源码根目录
支持目标:
composer.jsoncomposer.lock- 目录递归(在多个子模块下找 composer.lock)
规则与输出
- 规则匹配:使用内置/外部规则集(例如
references/php-vulnerability.yaml,如存在则优先) - 输出到:
{output_path}/vuln_report/
{project_name}_composer_vuln_report_{timestamp}.md
扫描流程(必做)
交叉验证建议:若项目环境中可执行
composer audit,建议将其输出与本 skill 的规则匹配结果交叉比对,以提升 CVE 覆盖率。composer audit使用 Packagist 实时 advisory 数据库,可补充本 skill 内置规则集可能存在的时效性盲区。两者取并集作为最终漏洞清单。
- 依赖枚举
- 解析 composer.lock 获取 package 名称与版本
- 处理多模块时按模块分组输出
- 漏洞匹配
- 针对已知 CVE 规则匹配影响版本区间
- 触发点分析(框架)
- 识别已知高危组件可能进入的功能域:路由入口、序列化/模板、上传/下载、鉴权链
- 建议使用
php-route-mapper输出路由后做“受影响路由推断”
- 组件->路由关联推断(必做,缺失则无法驱动流水线)
- 输入依赖:读取
routes_{timestamp}.md与params_{timestamp}.md(与shared/IO_PATH_CONVENTION.md一致;独立落盘时常为route_mapping/下同名文件;流水线合并时读总报告等价章节) - 证据优先级:
- 代码中直接引用该组件的类/函数(例如
use Vendor\\Pkg\\{value}、new {value}、Vendor\\{value}::) - 通过模板/序列化/上传/网络相关的“已知接入点”识别该组件所在功能域(再反查路由)
- 仅基于命名推断属于兜底:必须标注为
⚠️待验证
- 代码中直接引用该组件的类/函数(例如
- 对每个漏洞组件输出:
- 组件的代码引用位置(文件路径 + 函数/类名,若无行号则写“待定位”但仍给出文件路径)
- 组件可能触发的 sink 功能域(SQL/TPL/DESER/FILE/UPLOAD/SSRF/XSS/AUTH 等)
- 推断受影响路由/入口(必须逐条列出路由条目,禁止省略;每条必须同时给出
route_id与路由字符串,确保可直接回填给php-route-tracer)
- 输入依赖:读取
输出报告结构(强制)
# {project_name} - Composer 组件漏洞扫描报告
生成时间: {timestamp}
分析路径: {source_path}
## 风险统计
(按 Critical/High/Medium/Low 分类,不得省略)
## 漏洞详情(逐条列出)
=== [CVE-xxxx-xxxx] {组件} {版本} ===
- 影响版本:
- 当前版本:
- 严重等级:
- 可能触发点(推断框架):
- 代码引用位置(证据):
- 文件: path/to/xxx.php
- 证据: 函数/类/调用片段(必须给出最小可定位片段)
- 受影响路由/入口(结合 route-mapper,给出“推断理由”):
- 路由清单(逐条列出,禁止省略):(必须同时给出 `route_id` 与路由字符串)
- 推断理由(必须明确是 1/2/3 优先级哪种证据方式)
- 修复建议:
关键组件触发点矩阵(强制:用于驱动流水线阶段 3)
| 组件 | 规则/影响等级 | 对应 sink 功能域 | 受影响路由/入口数量 | 受影响路由/入口(逐条列出) | 证据等级(直接引用/功能域/待验证) |
More from 0xshe/php-code-audit-skill
php-codeigniter-audit
CodeIgniter 框架特效安全审计工具。针对 CodeIgniter 的 CSRF、XSS 输出过滤、数据库查询构造、路由与验证器配置、会话 Cookie 安全等机制进行白盒静态审计,并映射到通用漏洞类型体系(CSRF/AUTH/XSS/SQL/CFG/SESS 等)。
35php-thinkphp-audit
ThinkPHP 框架特效安全审计工具。针对 ThinkPHP 常见的鉴权/CSRF/模板转义/ORM 写入(Mass Assignment)/调试与配置暴露等机制进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/TPL/XSS/LOGIC/CFG/SESS/SQL 等)。
25php-wordpress-audit
WordPress 框架特效安全审计工具。针对 WordPress 常见 nonce/capability/check_admin_referer、AJAX action、escape/sanitize、重定向、安全上传与远程请求等机制进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/XSS/SQL/CFG/SSRF 等)。
22php-symfony-audit
Symfony 框架特效安全审计工具。针对 Symfony 常见 security.yaml、CSRF、Twig/Twig raw、表达式与访问控制等框架机制做白盒静态审计,并将风险映射到通用漏洞类型体系(AUTH/CSRF/CFG/XSS/TPL/LOGIC 等)。
21php-xxe-audit
PHP Web 源码 XXE 审计工具。识别 XML 解析点与实体处理配置,追踪 XML 输入来源与回显,输出可利用性分级、PoC 与修复建议(禁止省略)。
20php-archive-extract-audit
PHP Web 归档解压(Zip Slip/路径穿越)审计工具。识别解压条目名如何与目标目录拼接、是否存在 base dir 约束缺失,输出可利用性分级、可观测 PoC 与修复建议(禁止省略)。
20