PHP Composer Package Health
Check any Composer package for latest version, known CVEs, and active maintenance before composer require.
Check any Composer package for latest version, known CVEs, and active maintenance before composer require.
📦 More Dependency Health Tools
Browse all 19 free tools in the Dependency Health collection — npm, PyPI, Go, Rust, Maven, PHP Composer, NuGet, RubyGems health checkers and more.
Composer is PHP's dependency manager, handling package installation, version resolution, and autoloading for millions of PHP projects. Whether you're running Laravel, Symfony, WordPress with Composer, or a standalone PHP application, the packages declared in your composer.json form the dependency surface that attackers look for vulnerabilities in.
The PHP ecosystem has been the target of multiple high-profile supply chain attacks and CVEs, including vulnerabilities in popular packages like Guzzle, PHPMailer, and SwiftMailer. Keeping packages current is not optional — it's operational security hygiene.
The PHP Composer Package Health checker accepts your composer.json content (or just the require and require-dev blocks) and runs it against:
Results are scored by severity: critical (active CVE in locked version), high (outdated major version), medium (minor version behind with known fixes), and low (minor patch behind).
Composer version ranges work differently than many developers expect:
^1.2 means >=1.2.0 <2.0.0 — allows minor and patch updates, blocks major~1.2 means >=1.2.0 <1.3.0 — allows only patch updates* or @dev — allows any version including dev releases, never use in production=1.2.3 — exact version lock, prevents security patches from applying automaticallyThe health checker flags constraints that are too loose (wildcards, dev) or too tight (exact pins on packages with known CVEs).
* or dev-master as version constraints in productioncomposer audit on every composer install in CIcomposer.lock in version control — alwayscomposer update on major framework packagesA Composer package with no code — its only purpose is to declare conflicts against all known vulnerable PHP package versions. Adding it as a dev dependency means Composer will refuse to install or update to a package version with a known CVE.
Use this health checker — paste your composer.json or composer.lock and get results without needing a local PHP environment. Alternatively, use the local-php-security-checker CLI tool (by Fabien Potencier) which reads composer.lock directly.
See also: PHP Developer Tools — all related tools and version tracking on ReleaseRun.