Zum Inhalt springen
Sicherheitslücken in Laravel automatisch überwachen: das Paket laravel-security

Sicherheitslücken in Laravel automatisch überwachen: das Paket laravel-security

Erstellt:

Aktualisiert:

Kategorien: Projekte

Autor: Tobias Schottstädt

Sicherheitslücken in Laravel automatisch überwachen: das Paket laravel-security

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=false

Voraussetzung 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:outdated

Dashboard 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.

Tobias Schottstädt

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! |

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.