Sicherheitslücken in Laravel automatisch überwachen: das Paket laravel-security
Erstellt:
Aktualisiert:
Kategorien: Projekte
Autor: Tobias Schottstädt
Veraltete Abhängigkeiten sind eines der häufigsten Einfallstore in Webanwendungen – und sie veralten still. Mein Open-Source-Paket laravel-security überwacht Composer- und NPM-Abhängigkeiten automatisch: Ein täglicher Security-Audit meldet bekannte Sicherheitslücken, ein wöchentlicher Check findet veraltete Pakete, und die Ergebnisse erreichen Sie per E-Mail, Datenbank-Benachrichtigung oder Slack.
Das Problem: composer audit reicht nicht
Ein Laravel-Projekt besteht schnell aus weit über hundert Composer- und NPM-Paketen. composer audit und npm audit existieren zwar – aber nur, wenn jemand daran denkt, sie regelmäßig auszuführen. Genau diese Lücke schließt das Paket: Es registriert die Prüfungen automatisch im Laravel Scheduler und meldet sich nur dann, wenn es etwas zu melden gibt.
Was das Paket kann
Täglicher Security-Audit für Composer und NPM (Standard: 02:00 Uhr, konfigurierbar)
Wöchentlicher Outdated-Check für veraltete Pakete
Benachrichtigungen per E-Mail, Datenbank-Notification oder Slack
Fertige Dashboard-Komponente für Ihre Blade-Views
Programmatischer Zugriff auf alle Ergebnisse über ein Eloquent-Model
Installation
composer require xchimx/laravel-security
php artisan vendor:publish --tag="security-migrations"
php artisan migrate
php artisan vendor:publish --tag="security-config"Konfiguration per ENV
Alles Wesentliche steuern Sie über Umgebungsvariablen – hier die wichtigsten:
SECURITY_AUDIT_ENABLED=true
SECURITY_AUDIT_TIME=02:00
SECURITY_OUTDATED_ENABLED=true
SECURITY_NOTIFY_USER_ID=1
SECURITY_NOTIFY_MAIL=true
SECURITY_MAIL_TO=admin@example.com
SECURITY_NOTIFY_SLACK=falseVoraussetzung ist nur, dass der Laravel Scheduler läuft (der übliche schedule:run-Cronjob) – danach arbeiten die Prüfungen vollautomatisch.
Manuell prüfen
Für den sofortigen Check gibt es Artisan-Kommandos, wahlweise auf Composer oder NPM eingegrenzt:
php artisan security:audit
php artisan security:audit --composer
php artisan security:audit --npm
php artisan security:outdatedDashboard und programmatischer Zugriff
Für den schnellen Überblick liefert das Paket eine fertige Blade-Komponente mit:
<x-security-security-dashboard />Wer die Ergebnisse weiterverarbeiten möchte – etwa für ein eigenes Admin-Panel – greift direkt auf das Model zu:
use Xchimx\LaravelSecurity\Models\SecurityAudit;
$audit = SecurityAudit::getLatestAudit('composer');
$issues = SecurityAudit::withIssues()->get();Fazit
Sicherheit ist kein Zustand, sondern ein Prozess – und Prozesse gehören automatisiert. Den Quellcode finden Sie auf GitHub, die Installation läuft über Packagist. Dieselbe Sorgfalt stecke ich übrigens auch in Kundenprojekte – von der Testsuite bis zur laufenden Wartung: Hier finden Sie meine Leistungen rund um Laravel Entwicklung in Kassel.
Autor
Hey 👋 mein Name ist Tobias Schottstädt und ich bin Full-Stack Developer aus Kassel. Als PHP-Spezialist aus Kassel kann ich dich möglicherweise in deinem Projekt unterstützen. Sie planen ein Projekt oder möchten Ihre bestehende Website modernisieren? Werfen Sie einen Blick auf meine Leistungen oder schreiben Sie mir direkt – ich freue mich, von Ihnen zu hören! Über mich | Kontakt
Ich entwickle individuelle Websites und Webanwendungen mit PHP und JavaScript – im Herzen meines Stacks stehen Laravel, Livewire und Vue.js. Vom durchdachten Backend über ein sauberes, responsives Frontend bis zur technischen Suchmaschinenoptimierung bekommen Sie bei mir alles aus einer Hand. Was mich antreibt: Software, die nicht nur heute funktioniert, sondern sich auch in fünf Jahren noch gut warten lässt.