php-session-cookie-audit
PHPのWebソースコードを分析し、セッション固定、Cookieフラグの不備、JWT検証の欠陥、ログイン保持のリスクを特定し、PoCと修正案を提示するセキュリティ監査ツールです。
📜 元の英語説明(参考)
PHP Web 源码会话与 Cookie 安全审计工具。识别 session 固定、Cookie flags 不安全、JWT 验证缺陷与记住登录风险,输出分级、PoC 与修复建议(禁止省略)。
🇯🇵 日本人クリエイター向け解説
PHPのWebソースコードを分析し、セッション固定、Cookieフラグの不備、JWT検証の欠陥、ログイン保持のリスクを特定し、PoCと修正案を提示するセキュリティ監査ツールです。
※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。
下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o php-session-cookie-audit.zip https://jpskill.com/download/6016.zip && unzip -o php-session-cookie-audit.zip && rm php-session-cookie-audit.zip
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6016.zip -OutFile "$d\php-session-cookie-audit.zip"; Expand-Archive "$d\php-session-cookie-audit.zip" -DestinationPath $d -Force; ri "$d\php-session-cookie-audit.zip"
完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。
💾 手動でダウンロードしたい(コマンドが難しい人向け)
- 1. 下の青いボタンを押して
php-session-cookie-audit.zipをダウンロード - 2. ZIPファイルをダブルクリックで解凍 →
php-session-cookie-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-18
- 同梱ファイル
- 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-{連番}
必須検査内容(強制)
- セッション初期化:
- ログイン後に
session_regenerate_idが行われているか - 適切なタイムアウト、Cookie パラメータが設定されているか
- ログイン後に
- Cookie フラグ:
HttpOnly、Secure、SameSiteが明示的に設定されているか
- JWT:
- decode/verify に使用されるアルゴリズムが固定されているか
exp/nbf/iss/audが検証されているか- secret/公開鍵がハードコードされているか、または安全でない方法で読み込まれているか
- ログアウト/無効化:
- ログアウトがセッションとトークンを実際にクリアしているか
PoC 要件(強制)
- セッションフィクセーションの場合:リクエストシーケンスを提示する(ログイン前にセッションIDを固定 -> ログイン後にセッションの変化を検証)
- Cookie フラグの場合:ブラウザ側で確認できる差異と危険性を説明する(およびHTTP応答ヘッダーの例を提示する)
- JWT の場合:「署名アルゴリズム/クレーム検証の欠落」のリクエスト PoC フレームワークを提示する(ペイロードの構築方法を説明する必要がある)
証拠引用(強制:php-route-tracer から)
各セッションと Cookie セキュリティの疑わしいリスクは、trace 出力中の ## 9) Sink Evidence Type Checklist の SESS 行に対応する証拠要点を項目ごとに引用する必要があります(ステータスが「検証待ち」であっても構いませんが、証拠引用は必須です)。
EVID_SESS_SESSION_INIT_REGEN:ログイン後のsession_regenerate_idなどのセッション固定対策の証拠EVID_SESS_COOKIE_FLAGS:Cookie フラグ(HttpOnly/Secure/SameSite)設定の証拠EVID_SESS_JWT_VERIFY_CLAIMS:JWT 署名アルゴリズムの固定と exp/nbf/iss/aud などのクレーム検証の証拠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-{序号}
必检内容(强制)
- Session 初始化:
- 是否在登录后
session_regenerate_id - 是否设置合理的超时、cookie 参数
- 是否在登录后
- Cookie flags:
HttpOnly、Secure、SameSite是否明确设置
- JWT:
- decode/verify 使用的算法是否固定
- 是否验证
exp/nbf/iss/aud - secret/公钥是否硬编码或读取不安全
- 退出/失效:
- logout 是否真正清除 session 与 token
PoC 要求(强制)
- 对 session fixation:给出请求序列(登录前固定 session id -> 登录后验证会话变化)
- 对 cookie flags:说明浏览器侧可见差异与危害(并给出示例 HTTP 响应头)
- 对 JWT:给出“签名算法/claim 校验缺失”的请求 PoC 框架(必须说明 payload 如何构造)
证据引用(强制:来自 php-route-tracer)
每条会话与 Cookie 安全疑似风险必须逐项引用 trace 输出中 ## 9) Sink Evidence Type Checklist 的 SESS 行对应证据要点(允许状态为待验证,但证据引用必须存在):
EVID_SESS_SESSION_INIT_REGEN:登录后是否session_regenerate_id等会话固定防护证据EVID_SESS_COOKIE_FLAGS:Cookie flags(HttpOnly/Secure/SameSite)设置证据EVID_SESS_JWT_VERIFY_CLAIMS:JWT 签名算法固定与 exp/nbf/iss/aud 等 claim 校验证据EVID_SESS_LOGOUT_CLEAR:logout 是否真正清除 session 与 token 的证据
tracer 证据缺失处理(强制)
- 若 trace 契约校验失败或缺失上述 1~4 任一关键证据点:该风险只能标记为
⚠️待验证,不得给出“已确认可利用”的断言。
报告输出
{output_path}/vuln_audit/sess_{timestamp}.md
条目模板(强制)
必须包含:位置证据 + 数据流链(token/session -> 校验 -> 授权)+ 可利用前置条件 + PoC + 修复建议 + rg 搜索语句。