← ClaudeAtlas

review-phplisted

Use when reviewing or auditing PHP code - .php files, a composer.json project, "review this PHP app", "audit this endpoint", "check this before I deploy" - covering superglobal data flow into sinks, unserialize on untrusted input, local and remote file inclusion, weak session configuration, SQL built by concatenation, and missing output escaping.
mrevjd/claude-review-suite · ★ 0 · Code & Development · score 62
Install: claude install-skill mrevjd/claude-review-suite
# Review PHP Correctness and security review for PHP. PHP's defaults are permissive and its superglobals put attacker-controlled data one variable away from every sink in the file, so data flow is where the review lives. The checklist runs whether or not any tool is installed. ## Procedure Follow `../../references/procedure.md`. Probe, scope, run what exists, walk the checklist by hand, score per `../../references/rubric.md`, emit both artifacts. ## Capability probe ```bash command -v php command -v phpstan command -v composer ``` | Tool | Invocation | If absent | |---|---|---| | `php -l` | `php -l <file>` — one file per invocation | install PHP; nothing else here runs without it | | `phpstan` | `phpstan analyse --level max <paths>` | `composer require --dev phpstan/phpstan`, or `vendor/bin/phpstan` if already vendored | | `composer audit` | `composer audit` — needs a `composer.lock` in scope | `composer install` first, or note the project does not use Composer | Several missing at once? The suite ships `review-tools.sh`, which probes and installs the whole toolchain in one pass. **Name it in `## Checks skipped` and leave running it to the user** — a review reports, it does not install. Check `vendor/bin/` before concluding a tool is absent — PHP projects vendor their tooling far more often than they install it globally. `php -l` reports syntax errors only; a clean lint says nothing about the checklist below. A missing `composer.lock` means `composer audit` did not r