jorijn/laravel-security-checker
Laravel Security Checker scans your Composer dependencies for known vulnerabilities using the FriendsOfPHP security advisories database. Run it via an Artisan command or schedule it, and get notified through email, Slack, Telegram, or Discord when security issues affect your app.
Package: jorijn/laravel-security-checker — v3.1.0 (minor release, no breaking changes)
Baseline note: No prior assessment existed. This establishes the baseline and incorporates v3.1.0.
config/*.php + .env convention.exclude_dev, allow_list) move the package from "informational scanner" toward "governable CI gate." That is the single most important architectural shift in this release: an alerting tool that cannot be tuned gets muted, and a muted scanner provides zero assurance.exclude_dev maps cleanly onto the common two-stage pipeline (dev builds vs. production artifacts) and removes a well-known noise source: advisories against require-dev tooling that never ships to production.allow_list is the practically necessary escape hatch for risk acceptance. Without it, every accepted-risk advisory becomes a permanently red build, which in practice leads teams to disable the check entirely..env. This is workable in a committed .env.example, but awkward in secret managers and CI variable injection, where quoting and shell interpolation are frequent sources of silent misconfiguration.exclude_dev change what is audited (dependency graph resolution) or only what is reported? These have different assurance implications.^3.1, run composer update jorijn/laravel-security-checker, republish/merge the config if new keys are added there.LCS_* environment variables continue to work..env handling of the JSON array is the only real compatibility wrinkle: values must be single-quoted, and any deployment path that rewrites .env programmatically (container entrypoints, templating, secret injection) must preserve that quoting. Test this in the actual deployment mechanism, not just locally..env origins is three chances to break quoting.exclude_dev in CI first. Low-risk, immediately reduces noise, and produces a cleaner signal to evaluate before introducing suppression.allow_list incrementally, starting with entries that are genuinely accepted risk (no fix available, or mitigated by compensating controls). Prefer CVE identifiers over titles.exclude_dev should be reviewed whenever the dev dependency set is reorganized — a package moved from require-dev to require would silently enter scope, which is the correct behavior but worth confirming rather than assuming.LCS_ALLOW_LIST is logged and ignored. Behavior degrades to "no allow list," which is noisy and safe, but the operator may not realize their suppression intent was dropped.How can I help you explore Laravel packages today?