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本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
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
$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. 下の青いボタンを押して
php-codeigniter-audit.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
php-codeigniter-auditフォルダができる - 3. そのフォルダを
C:\Users\あなたの名前\.claude\skills\(Win)または~/.claude/skills/(Mac)へ移動 - 4. Claude Code を再起動
⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。
🎯 このSkillでできること
下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。
📦 インストール方法 (3ステップ)
- 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
- 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
- 3. 展開してできたフォルダを、ホームフォルダの
.claude/skills/に置く- · macOS / Linux:
~/.claude/skills/ - · Windows:
%USERPROFILE%\.claude\skills\
- · macOS / Linux:
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_filtering、Security::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.json或system/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_filtering、Security::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)
必须定位并输出:
- 控制器中访问保护模式:自定义
authhelper、基类 controller 的校验、过滤器 - 路由层过滤器或中间件(CI 4 filters)
判定规则:
- 若敏感控制器或方法缺少统一鉴权,输出 AUTH 风险
可观测 PoC(必做:框架特效可观测验证框架)
至少给出以下两类其一并写清观察点:
- CSRF:缺失 CSRF token 调用状态变更路由,观察是否成功与副作用
- SQL:使用注入 payload 调用疑似拼接 SQL 路径,观察返回差异或错误回显
输出完整性检查(强制)
- [ ] 输出包含:CSRF/XSS/SQL/Session/Auth 的检查结果
- [ ] 每条风险都有:映射类型码 + 位置证据 + 可观测验证框架 + 修复建议