Skip to content

Vulnerable Dependencies Analyzer ​

Analyzer IDCategorySeverityTime To Fix
vulnerable-dependencies🛡️ SecurityCritical60 minutes

What This Checks ​

  • Reads composer.lock and your dev dependencies to detect abandoned packages and missing lock files.
  • Queries OSV (Open Source Vulnerability) for each Composer package/version via batch API.
  • Flags every package with recorded CVEs/advisories and annotates severity, CVE, and upgrade guidance.
  • Highlights abandoned packages (including those under packages-dev) and suggests replacements.

Why It Matters ​

  • Actively exploited CVEs: Packagist libraries receive coordinated disclosures—ignoring them leads to remote code execution, SQL injection, or privilege escalation.
  • Transitive exposure: You may not be aware of a vulnerable subdependency; OSV catches both direct and transitive hits because it analyzes the lock file.
  • Abandoned libraries: Packages without maintainers never receive patches, forcing you to fork or replace them before a vulnerability is published.
  • Compliance: Security questionnaires often require proof that you monitor upstream CVEs; this analyzer produces that evidence.

How to Fix ​

Quick Fix (15 minutes) ​

  1. Run Composer’s audit locally for details:
bash
composer audit
  1. Upgrade the vulnerable package:
bash
composer update vendor/package
  1. If the package is abandoned, follow the recommendation to replace it and commit the updated composer.lock.

Proper Fix (60 minutes) ​

  1. Review each advisory: read the linked CVE/advisory summary to confirm impact and any manual remediation steps.
  2. Pin patched versions: adjust composer.json constraints so patched releases remain within your allowed range (e.g., ^3.2.1).
  3. Add regression tests: if the upgrade touches sensitive areas, write smoke tests before deploying.
  4. Remove or fork abandoned packages: if no drop-in replacement exists, fork the package, apply patches, and reference your fork explicitly.
  5. Automate: add composer audit (or this analyzer) to CI so regressions get caught before merges.

References ​