Audit your application for 26 vulnerability categories — from CVEs and hardcoded secrets to SSRF, path traversal, weak crypto, supply-chain freshness and suspicious vendor autoloads — with a single Artisan command.
██████╗██╗ ██╗███████╗ ██████╗██╗ ██╗██████╗ ██████╗ ██╗███╗ ██╗████████╗ ██╔════╝██║ ██║██╔════╝██╔════╝██║ ██╔╝██╔══██╗██╔═══██╗██║████╗ ██║╚══██╔══╝ ██║ ███████║█████╗ ██║ █████╔╝ ██████╔╝██║ ██║██║██╔██╗██║ ██║ ██║ ██╔══██║██╔══╝ ██║ ██╔═██╗ ██╔═══╝ ██║ ██║██║██║╚████║ ██║ ╚█████╗██║ ██║███████╗ ╚█████╗██║ ██╗██║ ╚█████╔╝██║██║ ╚███║ ██║ ╚════╝╚═╝ ╚═╝╚══════╝ ╚════╝╚═╝ ╚═╝╚═╝ ╚════╝ ╚═╝╚═╝ ╚══╝ ╚═╝
Every scan covers the OWASP Top 10, Laravel-specific pitfalls, and modern supply-chain risk — automatically.
composer audit
and reports known advisories in your PHP dependencies.npm audit and
flags critical and high-severity vulnerabilities.autoload.files outside a baked-in whitelist —
the mechanism abused by the May 2026 Laravel-Lang supply-chain attack. Whitelist via config.Install as a dev dependency. Auto-discovers itself via Laravel's service provider — no registration needed.
composer require --dev andreapollastri/checkpoint
php artisan checkpoint:scan
php artisan checkpoint:scan --only="SQL Injection Risks,CSRF Protection"
php artisan checkpoint:scan --json | tee checkpoint-report.json
# .github/workflows/security.yml - name: Security audit run: php artisan checkpoint:scan --json | tee checkpoint-report.json
class MyCheck extends AbstractCheck { public function name(): string { return 'My Custom Check'; } public function run(): CheckResult { // your logic here return CheckResult::pass('All good.'); } }
Three commands to wire Checkpoint into your CI/CD provider and your Composer lifecycle — no copy-pasting YAML, no manual setup.
.github/workflows/checkpoint.yml — triggers on
push to main/master and every pull request, with Composer caching baked in.php artisan checkpoint:github
.gitlab-ci.yml — runs on merge requests and
default-branch pushes via the composer:2
image.php artisan checkpoint:gitlab
composer.json — the scan runs after every composer install / update. Idempotent and removable.php artisan checkpoint:install-hooks
config/checkpoint.php to toggle individual
checks, set the Package Freshness window, or whitelist trusted vendors.php artisan vendor:publish --tag=checkpoint-config
composer install, npm install and the scan inside a
container — never let untrusted post-install scripts touch your host. Checkpoint's CI scaffolds
already mirror this pattern.docker compose exec app php artisan checkpoint:scan
npm install -g @aikidosec/safe-chain safe-chain setup
minimum_age_days to 0 to bypass the gate entirely without disabling
the check.[a1b2c3d4e5f6]. Drop the hash into config/checkpoint.php → suppressed to silence false positives. Hashes are
content-stable across line-shifting refactors.Designed for developers who ship fast and need security that keeps up.