jpskill.com
🛠️ 開発・MCP コミュニティ

php-session-cookie-audit

PHPのWebサイトにおけるセッションとCookieのセキュリティリスクを診断し、具体的な脆弱性や改善策を提示するSkill。

📜 元の英語説明(参考)

PHP Web 源码会话与 Cookie 安全审计工具。识别 session 固定、Cookie flags 不安全、JWT 验证缺陷与记住登录风险,输出分级、PoC 与修复建议(禁止省略)。

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

一言でいうと

PHPのWebサイトにおけるセッションとCookieのセキュリティリスクを診断し、具体的な脆弱性や改善策を提示するSkill。

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

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

🎯 この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-session-cookie-audit

PHP セッションと Cookie セキュリティ監査(php-session-cookie-audit)

PHP プロジェクトのソースコードにおける認証セッション関連のセキュリティ設定と実装ロジックを分析し、以下の点を重点的に検出します。

  • セッションフィクセーション
  • Cookie フラグの欠落(HttpOnly/Secure/SameSite)
  • JWT 検証の欠陥(署名アルゴリズムの混同、exp/iss/aud の未検証、脆弱な秘密鍵)
  • remember-me/永続ログインの脆弱性(存在する場合)

分類と番号付け

  • 詳細については、shared/SEVERITY_RATING.md を参照してください。
  • 脆弱性番号:{C/H/M/L}-SESS-{連番}

必須検査内容(強制)

  1. セッション初期化:
    • ログイン後に session_regenerate_id が行われているか
    • 適切なタイムアウト、Cookie パラメータが設定されているか
  2. Cookie フラグ:
    • HttpOnlySecureSameSite が明示的に設定されているか
  3. JWT:
    • decode/verify に使用されるアルゴリズムが固定されているか
    • exp/nbf/iss/aud が検証されているか
    • secret/公開鍵がハードコードされているか、または安全でない方法で読み込まれているか
  4. ログアウト/無効化:
    • ログアウトがセッションとトークンを実際にクリアしているか

PoC 要件(強制)

  • セッションフィクセーションの場合:リクエストシーケンスを提示する(ログイン前にセッションIDを固定 -> ログイン後にセッションの変化を検証)
  • Cookie フラグの場合:ブラウザ側で確認できる差異と危険性を説明する(およびHTTP応答ヘッダーの例を提示する)
  • JWT の場合:「署名アルゴリズム/クレーム検証の欠落」のリクエスト PoC フレームワークを提示する(ペイロードの構築方法を説明する必要がある)

証拠引用(強制:php-route-tracer から)

各セッションと Cookie セキュリティの疑わしいリスクは、trace 出力中の ## 9) Sink Evidence Type ChecklistSESS 行に対応する証拠要点を項目ごとに引用する必要があります(ステータスが「検証待ち」であっても構いませんが、証拠引用は必須です)。

  1. EVID_SESS_SESSION_INIT_REGEN:ログイン後の session_regenerate_id などのセッション固定対策の証拠
  2. EVID_SESS_COOKIE_FLAGS:Cookie フラグ(HttpOnly/Secure/SameSite)設定の証拠
  3. EVID_SESS_JWT_VERIFY_CLAIMS:JWT 署名アルゴリズムの固定と exp/nbf/iss/aud などのクレーム検証の証拠
  4. EVID_SESS_LOGOUT_CLEAR:ログアウトがセッションとトークンを実際にクリアしているかどうかの証拠

tracer 証拠欠落の処理(強制)

  • trace 契約検証が失敗した場合、または上記の 1~4 のいずれかの重要な証拠点が欠落している場合:そのリスクは ⚠️検証待ち としかマークできず、「悪用可能であることが確認された」という断言はできません。

報告出力

{output_path}/vuln_audit/sess_{timestamp}.md

項目テンプレート(強制)

以下を必ず含める必要があります:位置証拠 + データフローチェーン(トークン/セッション -> 検証 -> 認可)+ 悪用可能な前提条件 + PoC + 修正提案 + rg 検索ステートメント。

📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

PHP 会话与 Cookie 安全审计(php-session-cookie-audit)

分析 PHP 项目源码中认证会话相关的安全设置与实现逻辑,重点检测:

  • session fixation
  • cookie flags 缺失(HttpOnly/Secure/SameSite)
  • JWT 校验缺陷(签名算法混淆、未校验 exp/iss/aud、弱密钥)
  • remember-me/持久登录弱点(若存在)

分级与编号

  • 详见:shared/SEVERITY_RATING.md
  • 漏洞编号:{C/H/M/L}-SESS-{序号}

必检内容(强制)

  1. Session 初始化:
    • 是否在登录后 session_regenerate_id
    • 是否设置合理的超时、cookie 参数
  2. Cookie flags:
    • HttpOnlySecureSameSite 是否明确设置
  3. JWT:
    • decode/verify 使用的算法是否固定
    • 是否验证 exp/nbf/iss/aud
    • secret/公钥是否硬编码或读取不安全
  4. 退出/失效:
    • logout 是否真正清除 session 与 token

PoC 要求(强制)

  • 对 session fixation:给出请求序列(登录前固定 session id -> 登录后验证会话变化)
  • 对 cookie flags:说明浏览器侧可见差异与危害(并给出示例 HTTP 响应头)
  • 对 JWT:给出“签名算法/claim 校验缺失”的请求 PoC 框架(必须说明 payload 如何构造)

证据引用(强制:来自 php-route-tracer)

每条会话与 Cookie 安全疑似风险必须逐项引用 trace 输出中 ## 9) Sink Evidence Type ChecklistSESS 行对应证据要点(允许状态为待验证,但证据引用必须存在):

  1. EVID_SESS_SESSION_INIT_REGEN:登录后是否 session_regenerate_id 等会话固定防护证据
  2. EVID_SESS_COOKIE_FLAGS:Cookie flags(HttpOnly/Secure/SameSite)设置证据
  3. EVID_SESS_JWT_VERIFY_CLAIMS:JWT 签名算法固定与 exp/nbf/iss/aud 等 claim 校验证据
  4. EVID_SESS_LOGOUT_CLEAR:logout 是否真正清除 session 与 token 的证据

tracer 证据缺失处理(强制)

  • 若 trace 契约校验失败或缺失上述 1~4 任一关键证据点:该风险只能标记为 ⚠️待验证,不得给出“已确认可利用”的断言。

报告输出

{output_path}/vuln_audit/sess_{timestamp}.md

条目模板(强制)

必须包含:位置证据 + 数据流链(token/session -> 校验 -> 授权)+ 可利用前置条件 + PoC + 修复建议 + rg 搜索语句。