jpskill.com
💬 コミュニケーション コミュニティ

php-wordpress-audit

WordPressフレームワークのセキュリティ脆弱性を特定するため、nonceやAJAXアクション、サニタイズ処理、リダイレクト、ファイルアップロード、リモートリクエストなどのメカニズムを静的分析し、一般的な脆弱性タイプにマッピングするSkill。

📜 元の英語説明(参考)

WordPress 框架特效安全审计工具。针对 WordPress 常见 nonce/capability/check_admin_referer、AJAX action、escape/sanitize、重定向、安全上传与远程请求等机制进行白盒静态审计,并映射到通用漏洞类型体系(AUTH/CSRF/XSS/SQL/CFG/SSRF 等)。

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

一言でいうと

WordPressフレームワークのセキュリティ脆弱性を特定するため、nonceやAJAXアクション、サニタイズ処理、リダイレクト、ファイルアップロード、リモートリクエストなどのメカニズムを静的分析し、一般的な脆弱性タイプにマッピングするSkill。

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

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

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

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

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

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

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

WordPress プロジェクトにおけるフレームワーク固有のセキュリティメカニズムを分析し、以下の点に重点を置きます。

  • nonce 検証と capability 権限チェック(CSRF および権限昇格の防止)
  • WordPress AJAX コールバック(admin-ajax.phpwp_ajax_*wp_ajax_nopriv_*
  • 出力エスケープとテンプレートインジェクションのリスク(esc_html/esc_attr/esc_url/wp_kses など)
  • $wpdb クエリのパラメータ化と直接連結のリスク
  • リダイレクト(wp_redirect と wp_safe_redirect)
  • アップロード処理(wp_handle_upload)と実行可能ファイルのリスク
  • リモート HTTP(wp_remote_get/wp_remote_post)と SSRF 関連

入力

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

  • source_path:WordPress コードディレクトリのルート(wp-content/plugins またはテーマディレクトリを含む) オプション:
  • output_path:出力ディレクトリパス(デフォルトは {source_path}_audit

出力ディレクトリ

以下に出力されます。

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

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

WordPress を識別する証拠点を提示する必要があります(根拠のない断言は許可されません)。

  • ディレクトリの特徴:wp-content/wp-admin/wp-includes/
  • コアファイル:wp-config.php または wp-settings.php
  • プラグイン/テーマディレクトリ:wp-content/plugins/wp-content/themes/

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

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

  • 汎用タイプコード:AUTH / CSRF / XSS / SQL / CFG / SSRF / UPLOAD など
  • マッピング理由:なぜ WordPress のリスクがそのタイプコードに分類されるのか

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

1) nonce と CSRF 防御(CSRF/AUTH)

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

  • フォーム出力 nonce:wp_nonce_field またはカスタム nonce 出力
  • 送信時の検証:check_admin_refererwp_verify_nonce の位置
  • AJAX nonce 検証:check_ajax_referer(存在する場合)

判定ルール:

  • nonce は存在するが検証が欠落している、または一部の分岐でのみ出力されている場合、CSRF または AUTH リスクを出力します。

2) capability 権限検証(AUTH)

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

  • すべての機密操作呼び出し前:current_user_canuser_canis_user_logged_in
  • capability 値がユーザーによって制御されているか、または広すぎるか(例:manage_options のみが欠落しているが、高権限操作が実行される場合)

3) AJAX action とルーティングの露出(AUTH/CSRF)

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

  • add_action('wp_ajax_{action}', {value})add_action('wp_ajax_nopriv_{action}', {value})
  • コールバック関数内部で能力と nonce の検証が行われているか

4) 出力エスケープと XSS(XSS)

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

  • ユーザーデータを直接 echo/print している箇所
  • esc_htmlesc_attresc_urlwp_kses_post などが使用されているか
  • プラグインやテーマがフィルタリングを無効にしているか、または raw 出力を使用しているか

5) $wpdb クエリのパラメータ化(SQL)

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

  • 正しいパス:$wpdb->prepare と prepare プレースホルダーの使用
  • 危険なパス:$wpdb->queryget_resultsget_row での SQL 文字列の直接連結

6) リダイレクトとジャンプの安全性(REDIR/CFG)

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

  • wp_redirectwp_safe_redirect の使用状況
  • 目的地のソース(通常はユーザー入力)と、scheme/host の検証が行われているか

7) アップロードとリモートリクエスト(UPLOAD/SSRF)

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

  • アップロード:wp_handle_uploadmedia_handle_upload、およびファイルタイプ/ディレクトリ/アクセス制御が安全であるか
  • リモートリクエスト:wp_remote_get/wp_remote_post、目的の URL が制御可能であるか、および許可リストが設定されているか

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

以下のいずれか 2 つ以上を提示し、観測点を明確に記述してください。

  • CSRF:nonce 検証が欠落している action で、欠落または誤った nonce リクエストを構築し、応答と状態の変化を観察します。
  • AUTH:capability 検証が欠落している action で、低権限ユーザーを使用して機密 action をリクエストし、成功するかどうかを観察します。

PoC 出力要件:

  • action 識別子、実際の要求エントリ(通常 admin-ajax.php または対応するフォーム送信パス)を必ず含める必要があります。
  • 観察したい結果(HTTP ステータスコードとビジネス側の効果)を必ず説明する必要があります。

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

  • [ ] 出力には、nonce/capability/AJAX/XSS/SQL/REDIR/UPLOAD/SSRF のチェック結果が含まれています。
  • [ ] 各リスクには、マッピングタイプコード + 位置の証拠 + 観測可能な検証フレームワーク + 修正提案が含まれています。
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

PHP WordPress 框架安全审计(php-wordpress-audit)

分析 WordPress 项目中的框架特效安全机制,重点覆盖:

  • nonce 校验与 capability 权限检查(防止 CSRF 与越权)
  • WordPress AJAX 回调(admin-ajax.phpwp_ajax_*wp_ajax_nopriv_*
  • 输出 escaping 与模板注入风险(esc_html/esc_attr/esc_url/wp_kses 等)
  • $wpdb 查询参数化与直接拼接风险
  • 重定向(wp_redirect 与 wp_safe_redirect)
  • 上传处理(wp_handle_upload)与可执行文件风险
  • 远程 HTTP(wp_remote_get/wp_remote_post)与 SSRF 关联

输入

用户提供:

  • source_path:WordPress 代码目录根(含 wp-content/plugins 或主题目录) 可选:
  • output_path:输出目录路径(默认 {source_path}_audit

输出目录

输出到:

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

框架识别(必做)

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

  • 目录特征:wp-content/wp-admin/wp-includes/
  • 核心文件:wp-config.phpwp-settings.php
  • 插件/主题目录:wp-content/plugins/wp-content/themes/

风险类型映射(必做)

每条发现都必须写明:

  • 通用类型码:AUTH / CSRF / XSS / SQL / CFG / SSRF / UPLOAD
  • 映射原因:为什么 WordPress 风险落到该类型码

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

1) nonce 与 CSRF 防护(CSRF/AUTH)

必须定位并输出:

  • 表单输出 nonce:wp_nonce_field 或自定义 nonce 输出
  • 提交处校验:check_admin_refererwp_verify_nonce 的位置
  • AJAX nonce 校验:check_ajax_referer(若存在)

判定规则:

  • 若 nonce 存在但校验缺失或仅做在部分分支输出,则输出 CSRF 或 AUTH 风险

2) capability 权限校验(AUTH)

必须定位并输出:

  • 所有敏感操作调用前:current_user_canuser_canis_user_logged_in
  • capability 值是否被用户控制或过宽(例如只做 manage_options 缺失但仍执行高权限操作)

3) AJAX action 与路由暴露(AUTH/CSRF)

必须定位并输出:

  • add_action('wp_ajax_{action}', {value})add_action('wp_ajax_nopriv_{action}', {value})
  • 回调函数内部是否对能力与 nonce 做校验

4) 输出 escaping 与 XSS(XSS)

必须定位并输出:

  • 直接 echo/print 用户数据的点
  • 是否使用 esc_htmlesc_attresc_urlwp_kses_post
  • 插件主题是否禁用了过滤或使用了 raw 输出

5) $wpdb 查询参数化(SQL)

必须定位并输出:

  • 正确路径:$wpdb->prepare 与 prepare 占位符使用
  • 危险路径:$wpdb->queryget_resultsget_row 直接拼接 SQL 字符串

6) 重定向与跳转安全(REDIR/CFG)

必须定位并输出:

  • wp_redirectwp_safe_redirect 使用情况
  • 目的地来源(通常为用户输入)与是否做 scheme/host 校验

7) 上传与远程请求(UPLOAD/SSRF)

必须定位并输出:

  • 上传:wp_handle_uploadmedia_handle_upload,以及文件类型/目录/访问控制是否安全
  • 远程请求:wp_remote_get/wp_remote_post,目的 URL 是否可控以及是否做 allowlist

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

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

  • CSRF:缺失 nonce 校验的 action,构造缺失或错误 nonce 请求,观察响应与状态变更
  • AUTH:缺失 capability 校验的 action,使用低权限用户请求敏感 action,观察是否成功

PoC 输出要求:

  • 必须包含 action 标识、真实请求入口(通常 admin-ajax.php 或相应表单提交路径)
  • 必须说明你要观察的结果(HTTP 状态码与业务侧效果)

输出完整性检查(强制)

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