SuperAPI AI 工具集

php-codeigniter-audit

安全与审计

查看项目

更新于 10-15 10:41

技能介绍

PHP CodeIgniter 框架安全审计(php-codeigniter-audit)是一套针对 CodeIgniter 项目的白盒静态审计技能,重点分析框架机制与配置踩坑。

用途 面向使用 CodeIgniter(CI 3 或 CI 4)的 PHP 项目,对其框架层面的安全配置与代码写法进行审计,把发现映射到通用漏洞类型体系,辅助定位框架特性引起的安全风险。

主要能力 覆盖以下必审清单,并要求逐项检查后输出结果:

  1. CSRF 保护:定位 CSRF 是否启用(CI 3 看 config.php 的 csrf 配置,CI 4 看 Security 类配置),输出 token 名称、校验入口与跳过规则,判断是否存在状态变更路由但未启用 CSRF 的情况。
  2. XSS 输出防护:检查 CI 的 XSS 过滤器是否启用(如 global_xss_filtering、Security::xss_clean 等),检查视图层是否对用户输入做了正确的 html_escape 或等价转义;若禁用过滤或未转义输出且用户输入进入视图,则输出 XSS。
  3. 数据库查询拼接:定位 $this->db->query($sql) 或 ->query($userInput) 等原生查询的拼接证据,对照 Query Builder 与绑定参数的正确路径;若用户输入进入 SQL 字符串拼接,则输出 SQL 风险。
  4. 会话与 Cookie:检查 cookie flags(HttpOnly/Secure/SameSite,如在项目中配置)、会话超时与固定防护(如存在)。
  5. 鉴权与访问控制:检查控制器中的访问保护模式(自定义 auth helper、基类 controller 校验、过滤器)、路由层过滤器或中间件(CI 4 filters);若敏感控制器或方法缺少统一鉴权,则输出 AUTH 风险。 此外还要求将每条发现映射到通用类型码(CSRF / XSS / SQL / AUTH / CFG / SESS / LOGIC 等),并写明映射原因。

使用方式 用户提供 source_path(CodeIgniter 项目根目录),可选提供 output_path(输出目录路径,默认 {source_path}audit)。输出文件位于:{output_path}/framework_audit/codeigniter{timestamp}.md。 审计开始时须先做框架识别并给出识别证据,例如典型目录 application/、system/,配置文件 application/config/config.php 或会话/安全配置文件,版本线索来自 composer.json 或 system/core/ 结构,不允许空口断言。

可观测验证 要求至少给出以下两类其一,并写清观察点:

  • CSRF:缺失 CSRF token 调用状态变更路由,观察是否成功与副作用。
  • SQL:使用注入 payload 调用疑似拼接 SQL 路径,观察返回差异或错误回显。

输出完整性要求 输出须包含 CSRF/XSS/SQL/Session/Auth 的检查结果;每条风险都有映射类型码、位置证据、可观测验证框架与修复建议。

适用场景 适用于对 CodeIgniter 项目进行框架配置与代码层面的安全自查、代码审计前的框架机制排查,以及需要把框架问题归入通用漏洞类型体系的场景。

限制 该技能聚焦 CodeIgniter 框架机制与配置,不针对业务逻辑漏洞做穷尽性挖掘;审计结论依赖所提供源码路径的可访问性与完整性。关于运行环境依赖、安装命令、收费与价格等信息,资料未提供。