A Composer package that blocks installation of PHP dependencies with known security vulnerabilities.
Roave Security Advisories is a Composer package that blocks the installation of PHP dependencies with known security vulnerabilities. It integrates into the Composer workflow to automatically check packages against updated security advisory databases, preventing developers from accidentally introducing vulnerable code into their projects.
PHP developers and teams using Composer for dependency management who want to automate security checks and prevent vulnerable dependencies from being installed.
It provides a simple, automated way to enforce security at the dependency installation stage without runtime overhead, leveraging authoritative sources like FriendsOfPHP/security-advisories and GitHub Advisory Database for comprehensive coverage.
:closed_lock_with_key: Security advisories as a simple composer exclusion list, updated daily
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Prevents `composer require` or `composer update` from installing packages with known security issues, as demonstrated in the README with examples like blocking old Symfony versions.
Functions purely as a version constraint in `composer.json` with no API or classes, ensuring no performance impact on the application.
Leverages hourly updates from FriendsOfPHP/security-advisories and GitHub Advisory Database, providing up-to-date protection against new vulnerabilities.
Designed to be installed as a `require-dev` dependency, avoiding production deployment issues while securing development workflows.
Only executes checks during `composer require` or `update`, not for vulnerabilities in already installed packages unless manually triggered with `--dry-run`, leaving runtime gaps.
The README states it's only suited for installation in the root of deployable projects, making it ineffective for libraries or sub-dependencies that need security checks.
Relies on third-party advisory databases; if these sources are incomplete, delayed, or miss advisories, vulnerabilities might not be blocked, as admitted in the sources section.