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

php-yii-audit

Yiiフレームワークのアクセス制御やCSRF対策、入力フィルタリング、URLの安全性などを静的に分析し、一般的な脆弱性タイプにマッピングすることで、セキュリティ監査を支援するツールです。

📜 元の英語説明(参考)

Yii 框架特效安全审计工具。针对 Yii(通常指 Yii2)访问控制(AccessControl/RBAC)、CSRF、输入过滤规则、输出编码策略、URL/重定向安全等进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/XSS/CFG/LOGIC 等)。

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

一言でいうと

Yiiフレームワークのアクセス制御やCSRF対策、入力フィルタリング、URLの安全性などを静的に分析し、一般的な脆弱性タイプにマッピングすることで、セキュリティ監査を支援するツールです。

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

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

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

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

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

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して php-yii-audit.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → php-yii-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-yii-audit

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

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

  • アクセス制御:AccessControlフィルター、rolesルール、matchCallbackの使用
  • RBAC:user->can/can()パスの認証の完全性
  • CSRF:enableCsrfValidationとクッキー検証
  • 出力エンコーディング:ビューがHtml::encodeHtmlPurifierを使用しているか、および危険な生出力
  • URLとリダイレクト:リダイレクト/URL生成が信頼できない入力によって制御されているか
  • 入力フィルタリング:rules()safeAttributes()、シナリオがマスアサインメントを引き起こすか

入力

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

  • source_path:Yiiプロジェクトのルートディレクトリ オプション:
  • output_path:出力ディレクトリパス(デフォルトは{source_path}_audit

出力ディレクトリ

以下に出力されます。

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

フレームワーク識別(必須)

Yii識別の証拠点を提示する必要があります(根拠のない主張は許可されません):

  • 依存関係の証拠:composer.jsonyiisoft/yii2または関連コンポーネントが含まれていること
  • エントリポイントの証拠:web/index.phpまたはyiiエントリスクリプト
  • アプリケーションディレクトリ:controllers/models/views/

リスクタイプマッピング(必須)

すべての発見について、以下を明記する必要があります。

  • 汎用タイプコード:AUTH / CSRF / XSS / CFG / LOGIC など
  • マッピング理由

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

1) AccessControl認証ルールの正確性(AUTH)

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

  • behaviors()内のAccessControl設定:rulesrolesmatchCallbackとアクションのカバー範囲
  • matchCallbackのみに依存する緩いモードが存在するか
  • カスタム認証ロジックがあるが、統一されたフィルターに適用されていないか

判定ルール:

  • AccessControlまたはルールが広すぎて迂回できるパスがある場合、AUTHリスクを出力します。

2) RBAC/権限検証の完全性(AUTH/LOGIC)

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

  • コントローラー/サービス層のuser->can({value})can()または同等の権限判断
  • オブジェクトの所有権検証:owner_id/user_idまたはリソースの所有関係が同時に検証されているか

判定ルール:

  • 「ユーザーが権限タイプを持っている」とだけ判断し、オブジェクトの所有権を検証していない場合、AUTHまたはLOGICリスクを出力します。

3) CSRF(CSRF)

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

  • enableCsrfValidationとクッキー検証の設定
  • トークン受信フィールドと検証失敗時の処理方法(早期終了するかどうか)

4) 出力エンコーディングとXSS(XSS)

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

  • ビューに生出力が存在するか:Html::encodeが迂回されている状況、またはrawのようなメカニズムの使用
  • テンプレートでユーザー入力がHTML属性/JS/URLに直接連結されているか

5) 入力フィルタリングとマスアサインメント(LOGIC)

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

  • モデルのrules()safeAttributes()scenarios()の設定
  • load($request->post())後に直接保存され、機密フィールドが禁止されていない状況が存在するか

観測可能なPoC(必須:フレームワークの特性を観測可能な検証フレームワーク)

以下のいずれか少なくとも2種類を提示し、観測点を明確に記述してください。

  • AUTH:保護されていると思われるアクションに対し、低権限ユーザーでリクエストを送信し、応答の差異またはビジネス上の副作用を観察します。
  • CSRF:保護されていると思われる状態変更POSTリクエストに対し、CSRFトークンを欠落させ、エラーと実行が成功するかどうかを観察します。

PoC出力要件:

  • コントローラー/アクションのルーティングとパラメータフィールドを含める必要があります。
  • 観察するHTTPステータスコードとビジネス結果を説明する必要があります。

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

  • [ ] 出力に以下が含まれているか:AccessControl/RBAC/CSRF/出力エンコーディング/入力フィルタリングのチェック結果
  • [ ] すべてのリスクに以下が含まれているか:マッピングタイプコード + 位置の証拠 + 観測可能な検証フレームワーク + 修正提案
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

PHP Yii(Yii2)框架安全审计(php-yii-audit)

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

  • 访问控制:AccessControl filter、roles 规则、matchCallback 的使用
  • RBAC:user->can/can() 路径的鉴权完整性
  • CSRF:enableCsrfValidation 与 cookie validation
  • 输出编码:views 是否使用 Html::encodeHtmlPurifier,以及危险的原样输出
  • URL 与跳转:redirect/Url 生成是否受信任输入控制
  • 入参过滤:rules()safeAttributes()、场景(scenario)是否导致 Mass Assignment

输入

用户提供:

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

输出目录

输出到:

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

框架识别(必做)

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

  • 依赖证据:composer.json 包含 yiisoft/yii2 或相关组件
  • 入口证据:web/index.phpyii 入口脚本
  • 应用目录:controllers/models/views/

风险类型映射(必做)

每条发现都必须写明:

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

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

1) AccessControl 鉴权规则正确性(AUTH)

必须定位并输出:

  • behaviors() 中的 AccessControl 配置:rulesrolesmatchCallback 与 action 覆盖范围
  • 是否存在只依赖 matchCallback 的宽松模式
  • 是否有自定义认证逻辑但未落到统一 filter

判定规则:

  • 有路径能绕过 AccessControl 或 rules 过宽,则输出 AUTH 风险

2) RBAC/权限校验完整性(AUTH/LOGIC)

必须定位并输出:

  • 控制器/服务层的 user->can({value})can() 或等价权限判断
  • 对象归属校验:是否同时验证 owner_id/user_id 或资源的归属关系

判定规则:

  • 若仅判断“用户有权限类型”,但未校验对象归属,输出 AUTH 或 LOGIC 风险

3) CSRF(CSRF)

必须定位并输出:

  • enableCsrfValidation 与 cookie validation 设置
  • token 接收字段与验证失败处理方式(是否早退)

4) 输出编码与 XSS(XSS)

必须定位并输出:

  • views 中是否存在原样输出:Html::encode 被绕过的情况、或使用 raw 类机制
  • 模板中是否将用户输入直接拼接到 HTML 属性/JS/URL 中

5) 输入过滤与 Mass Assignment(LOGIC)

必须定位并输出:

  • 模型 rules()safeAttributes()scenarios() 的配置
  • 是否存在 load($request->post()) 后直接保存,而敏感字段未被禁止

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

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

  • AUTH:对疑似受保护 action,用低权限用户请求,观察响应差异或业务副作用
  • CSRF:对疑似受保护的状态变更 POST 请求,缺失 CSRF token,观察错误与是否仍成功执行

PoC 输出要求:

  • 必须包含 controller/action 路由与参数字段
  • 必须说明你要观察的 HTTP 状态码与业务结果

输出完整性检查(强制)

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