Laravel Auditor ist eine Development-Dependency von Punyapal Shah, die ein bekanntes Problem angeht: Bittet man einen KI-Agenten, eine Laravel-App zu prüfen, bekommt man eine Mischung aus echten Bugs, als kritische Probleme verkleideten Stil-Meinungen und nicht existierenden Schwachstellen. Das Paket führt selbst keine Prüfungen durch. Stattdessen installiert es Skills und Richtlinien für den bereits genutzten Agenten, darunter Claude Code, Codex, Cursor, Copilot, Gemini CLI, Junie, Zed oder opencode, und lässt diesen dann einen Discover-, Scope-, Verify-, Report-Durchlauf ausführen.

terminal
composer require --dev mrpunyapal/laravel-auditor
php artisan auditor:install --agents=claude_code
php artisan auditor:rules --applicable
php artisan auditor:report --findings=storage/auditor-findings.json --format=sarif
php artisan auditor:ci --findings=storage/auditor-findings.json --fail-on=high

Der Audit-Katalog umfasst 75 Regeln mit stabilen IDs, etwa AUD-SEC-001 für eine fehlende Autorisierungsgrenze oder AUD-PER-011 für eine Query in einer Schleife. Bedingte Regelpakete für Livewire, Filament, Inertia, Sanctum und Pest werden nur aktiv, wenn diese Pakete installiert sind. Der 0.1.x-Katalog deckt sechs Bereiche ab: Sicherheit, Performance, Architektur, Datenbank, Testing und Laravel-Konventionen. Der Artisan-Befehl auditor:rules listet sie auf, mit dem Flag --applicable für das, was tatsächlich auf das Projekt zutrifft.

Bevor Quellcode gelesen wird, holt der Agent deterministische Fakten über elf schreibgeschützte Kontext-Kollektoren zu Routes, Models, Schema, Policies, Jobs und Tests. Diese sind als MCP-Tools (project_info, routes, models, migrations, database_schema, dependencies, configuration, policies_authorization, jobs_events_schedules, tests, subsystems) verfügbar oder direkt über auditor:context. Mit installiertem Laravel Boost registrieren sich die Kollektoren automatisch im eigenen MCP-Server von Boost. Filter erlauben es, nur eine Teilmenge abzurufen, etwa Routes für eine bestimmte URI.

Findings werden als strukturiertes JSON geschrieben, mit Regel-ID, Schweregrad von critical bis info, einem separaten Konfidenzwert, Datei-und-Zeilen-Nachweis und einer Fix-Empfehlung. Der Befehl auditor:report rendert sie als Markdown, JSON, CLI-Text oder SARIF, sodass Ergebnisse inline in Pull Requests erscheinen können. auditor:ci --fail-on=high wandelt Findings in einen Exit-Code für CI um. Ein separater laravel-audit-dsa-Skill inventarisiert Subsysteme, schickt begrenzte Worker darüber, dann dedupliziert und rankt er Findings von P0 bis P3.

Das Paket benötigt PHP 8.3+ und Laravel 12 oder 13. Die Installation erfolgt mit composer require --dev mrpunyapal/laravel-auditor gefolgt von auditor:install --agents=claude_code. Danach weist man den Agenten an, das Audit mit dem laravel-audit-Skill auszuführen. Der Quellcode liegt auf GitHub, und der Autor weist darauf hin, dass sich das Paket in früher Entwicklung befindet.