noorqureshi/security-skills/code-review-php

Claude Code and agent skill by noorqureshi/security-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Security review of PHP code — dangerous sinks and framework pitfalls (Laravel/Symfony/WordPress). Load when reviewing a PHP codebase/PR, on .php source in scope, or "review this PHP". Signals: composer.json, index.php, Laravel/Symfony/WP, unserialize, include/require with variables, mysqli/PDO.

Install

npx vskill@latest install noorqureshi/security-skills/code-review-php

SKILL.md

PHP source review

When it applies

Reviewing PHP source (a repo, a PR, or a leaked webroot). PHP's defaults and dynamic features make several classes easy to introduce, so a grep-then-trace pass finds most of them fast.

Why it works

Many PHP sinks execute or include whatever string they're given, and loose typing turns comparison and casting into logic bugs. Tracing each sink back to a request source ($_GET/$_POST/$_REQUEST/ $_COOKIE/$_SERVER, php://input) tells you which are actually reachable.

Sinks & patterns (grep, then trace to user input)

  • Code exec: eval, assert, preg_replace with /e, create_function, call_user_func(_array).
  • Command exec: system, exec, shell_exec, passthru, proc_open, popen, backticks.
  • File include (LFI/RFI): include/require(_once) with a variable; allow_url_include.
  • SQLi: string-interpolated queries into mysqli_query/PDO::query (vs prepared statements).
  • Deserialization: unserialize() on input (POP chains); phar:// via file functions.
  • File / path: file_get_contents, fopen, readfile, move_uploaded_file with user paths.
  • Other: extract() on input (variable overwrite), parse_str, SSRF via curl/file_get_contents.

Framework specifics

  • Laravel: DB::raw/whereRaw, Blade {!! !!} (unescaped), mass assignment ($guarded=[]),

unserialize in queues, Storage path traversal.

  • Symfony: unsafe deserialization, Twig |raw, expression-language injection.
  • WordPress: unsanitised $wpdb->query, missing nonce/cap checks, unsafe add_query_arg,

unauthenticated AJAX/REST callbacks.

Method

  1. rg the sinks above; for each, trace the argument back to a request source.
  2. Note type-juggling auth checks (== vs ===, strcmp returning 0/null) and loose casts.
  3. Check upload handlers (extension/content-type allowlist, exec in upload dir).
  4. Confirm exploitability with the matching runtime skill (web-command-injection,

web-deserialization, web-lfi-path-traversal, web-sqli).

Gotchas

  • A sink is only a bug if input reaches it — don't report unreachable eval.
  • WordPress plugins: unauthenticated wp_ajax_nopriv_* and REST endpoints are the high-value paths.
  • == type juggling ("0e123"=="0e456") still breaks weak hash/token comparisons.

References

OWASP PHP security; RIPS/progpilot sink catalogue; PHP unserialize POP-chain research (PHentication).

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
23
Repository forks
7
7-day trend score
0

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/noorqureshi/security-skills/code-review-php/badge)](https://verified-skill.com/skills/noorqureshi/security-skills/code-review-php)

Something wrong with this skill or its page? Tell us.