jpskill.com
📦 その他 コミュニティ

php-codeigniter-audit

CodeIgniterフレームワークのCSRF、XSS、SQLインジェクション、設定、セッションCookieなどのセキュリティ脆弱性を、静的解析によって特定し、一般的な脆弱性タイプにマッピングする監査ツールです。

📜 元の英語説明(参考)

CodeIgniter 框架特效安全审计工具。针对 CodeIgniter 的 CSRF、XSS 输出过滤、数据库查询构造、路由与验证器配置、会话 Cookie 安全等机制进行白盒静态审计,并映射到通用漏洞类型体系(CSRF/AUTH/XSS/SQL/CFG/SESS 等)。

🇯🇵 日本人クリエイター向け解説

一言でいうと

CodeIgniterフレームワークのCSRF、XSS、SQLインジェクション、設定、セッションCookieなどのセキュリティ脆弱性を、静的解析によって特定し、一般的な脆弱性タイプにマッピングする監査ツールです。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o php-codeigniter-audit.zip https://jpskill.com/download/5998.zip && unzip -o php-codeigniter-audit.zip && rm php-codeigniter-audit.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/5998.zip -OutFile "$d\php-codeigniter-audit.zip"; Expand-Archive "$d\php-codeigniter-audit.zip" -DestinationPath $d -Force; ri "$d\php-codeigniter-audit.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して php-codeigniter-audit.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → php-codeigniter-audit フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] php-codeigniter-audit

PHP CodeIgniter フレームワークセキュリティ監査(php-codeigniter-audit)

CodeIgniter プロジェクトのフレームワークメカニズムと設定の落とし穴を分析します。特に以下の点を重点的にカバーします。

  • CSRF 保護が有効になっているか、およびトークン名/検証ロジックが正しいか
  • 出力フィルタリングと XSS 防御(CI 付属のフィルターが無効になっているか、または誤用されているか)
  • データベースクエリ構築:ユーザー入力が $this->db->query またはネイティブ SQL に連結されているか
  • フォームバリデーターがオーバーライドまたはバイパスされているか
  • セッション Cookie フラグのセキュリティ(CI セッション設定)

入力

ユーザーが提供するもの:

  • 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 / XSS / SQL / AUTH / CFG / SESS / LOGIC など
  • マッピング理由

必須監査チェックリスト(必須:各項目をチェックし、結果を出力)

1) CSRF 保護(CSRF)

以下を特定し、出力する必要があります。

  • CSRF が有効になっているか(CI 3:config.php の csrf 設定、CI 4:Security クラス設定)
  • トークン名、検証エントリ、およびスキップルール(特定のコントローラー/メソッドで検証が有効になっていないか)

判定ルール:

  • 状態変更ルートが存在するが CSRF が有効になっていない場合、CSRF リスクを出力します。

2) XSS 出力保護(XSS/CFG)

以下を特定し、出力する必要があります。

  • CI の XSS フィルターが有効になっているか(例:global_xss_filteringSecurity::xss_clean など)
  • ビュー層でユーザー入力が正しく html_escape または同等のエスケープ処理されているか

判定ルール:

  • フィルターが無効になっているか、出力がエスケープされていない場合で、ユーザー入力がビュー出力に入る可能性がある場合、XSS を出力します。

3) データベースクエリ連結(SQL)

以下を特定し、出力する必要があります。

  • ネイティブクエリ:$this->db->query($sql) または ->query($userInput) の連結証拠
  • 正しいパス:Query Builder とバインドパラメータの使用

判定ルール:

  • ユーザー入力が SQL 文字列連結に入っている場合、SQL リスクを出力します。

4) セッションと Cookie(SESS/CFG)

以下を特定し、出力する必要があります。

  • cookie フラグ:HttpOnly/Secure/SameSite(プロジェクトで設定されている場合)
  • session 設定:セッションタイムアウト、固定保護(存在する場合)

5) 認証とアクセス制御(AUTH)

以下を特定し、出力する必要があります。

  • コントローラー内のアクセス保護モード:カスタム auth ヘルパー、基底クラスコントローラーの検証、フィルター
  • ルート層フィルターまたはミドルウェア(CI 4 filters)

判定ルール:

  • 機密性の高いコントローラーまたはメソッドに統一された認証が欠けている場合、AUTH リスクを出力します。

可観測 PoC(必須:フレームワークの特殊効果を可観測に検証するフレームワーク)

以下のいずれか 2 つのうち少なくとも 1 つを提示し、観察点を明確に記述してください。

  • CSRF:CSRF トークンなしで状態変更ルートを呼び出し、成功と副作用を観察します。
  • SQL:注入ペイロードを使用して疑わしい連結 SQL パスを呼び出し、戻り値の差異またはエラーの表示を観察します。

出力完全性チェック(必須)

  • [ ] 出力に以下が含まれていること:CSRF/XSS/SQL/Session/Auth のチェック結果
  • [ ] 各リスクに以下が含まれていること:マッピングタイプコード + 位置証拠 + 可観測検証フレームワーク + 修正提案
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

PHP CodeIgniter 框架安全审计(php-codeigniter-audit)

分析 CodeIgniter 项目的框架机制与配置踩坑,重点覆盖:

  • CSRF 保护是否启用与 token 名称/校验逻辑是否正确
  • 输出过滤与 XSS 防护(CI 自带过滤器是否被禁用或错误使用)
  • 数据库查询构造:是否存在用户输入拼接到 $this->db->query 或原生 SQL
  • 表单验证器是否被覆盖或绕过
  • 会话 Cookie flags 安全性(CI 会话设置)

输入

用户提供:

  • source_path:CodeIgniter 项目根目录 可选:
  • output_path:输出目录路径(默认 {source_path}_audit

输出目录

输出到:

{output_path}/framework_audit/
  codeigniter_{timestamp}.md

框架识别(必做)

必须给出识别证据(不允许空口断言):

  • 典型目录:application/system/
  • 配置文件:application/config/config.php 或会话/安全配置文件
  • 版本线索:composer.jsonsystem/core/ 结构

风险类型映射(必做)

每条发现都必须写明:

  • 通用类型码:CSRF / XSS / SQL / AUTH / CFG / SESS / LOGIC
  • 映射原因

必审清单(必做:逐项检查并输出结果)

1) CSRF 保护(CSRF)

必须定位并输出:

  • CSRF 是否启用(CI 3:config.php 的 csrf 配置,CI 4:Security 类配置)
  • token 名称、校验入口与跳过规则(是否某些控制器/方法未启用校验)

判定规则:

  • 存在状态变更路由但未启用 CSRF,则输出 CSRF 风险

2) XSS 输出防护(XSS/CFG)

必须定位并输出:

  • CI 的 XSS 过滤器是否启用(如 global_xss_filteringSecurity::xss_clean 等)
  • 视图层是否对用户输入做了正确 html_escape 或等价转义

判定规则:

  • 如果禁用过滤或未转义输出,且用户输入能进入视图输出,则输出 XSS

3) 数据库查询拼接(SQL)

必须定位并输出:

  • 原生查询:$this->db->query($sql)->query($userInput) 的拼接证据
  • 正确路径:Query Builder 与绑定参数使用

判定规则:

  • 若存在用户输入进入 SQL 字符串拼接,输出 SQL 风险

4) 会话与 Cookie(SESS/CFG)

必须定位并输出:

  • cookie flags:HttpOnly/Secure/SameSite(如在项目中配置)
  • session 配置:会话超时、固定防护(如存在)

5) 鉴权与访问控制(AUTH)

必须定位并输出:

  • 控制器中访问保护模式:自定义 auth helper、基类 controller 的校验、过滤器
  • 路由层过滤器或中间件(CI 4 filters)

判定规则:

  • 若敏感控制器或方法缺少统一鉴权,输出 AUTH 风险

可观测 PoC(必做:框架特效可观测验证框架)

至少给出以下两类其一并写清观察点:

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

输出完整性检查(强制)

  • [ ] 输出包含:CSRF/XSS/SQL/Session/Auth 的检查结果
  • [ ] 每条风险都有:映射类型码 + 位置证据 + 可观测验证框架 + 修复建议