
Passive Laravel-Middleware, die SQL-Injection, XSS, RCE, Bot-Scanner und über 175 Angriffsmuster erkennt und protokolliert. Verfügt über ein integriertes Dashboard, Slack-Benachrichtigungen, REST-API und Geo-Anreicherung. IDS, kein WAF.
Sicherheitsüberwachung und Angriffsprotokollierung für Laravel. Erkennt und protokolliert SQL-Injection,
XSS, RCE, Directory Traversal, Bot-Scanner und /wp-admin-artige Recon-Probes —
jede feindliche Anfrage wird mit vollständigem Anwendungskontext in deiner Datenbank aufgezeichnet.
Es ist ein IDS, kein WAF: Es blockiert, filtert oder verändert niemals eine Anfrage.
GET /wp-admin/setup-config.php 404 — on a site that isn't WordPress
GET /.env 404 — someone wants your database password
GET /?id=1' UNION SELECT password FROM 200 — SQL injection against a real route
GET /phpmyadmin/index.php 404 — scanning for an admin panel
Diese Anfragen erreichen deine Laravel-App bereits. Dein Access-Log zeigt die URL und den Statuscode, und sonst nichts — nicht die dekodierte Payload, nicht welche deiner Routen angegriffen wurde, nicht ob dieselbe IP in dieser Stunde schon vierzig andere Dinge versucht hat.
Dieses Paket beantwortet diese Fragen. Integriere es in jede Laravel-10–13-App und es beginnt jede HTTP-Anfrage gegen 150+ Angriffsmuster zu prüfen, jeden Treffer nach Konfidenz zu bewerten und in deine Datenbank zu schreiben — mit integriertem Dashboard, Slack-Alerts, Geo-Anreicherung und fail2ban/Blocklist-Exporten. Keine Anfrage wird jemals blockiert. Denk an eine Überwachungskamera, nicht an ein Schloss: Sie zeigt dir genau, wer deine Routen sondiert, wie oft und mit welchen Techniken.
Aus einer Produktions-App extrahiert und im echten Traffic erprobt. 2.400+ Tests, keine Laufzeit- Abhängigkeiten außer Laravel selbst und keine Internetverbindung für die Erkennung erforderlich.
Upgrade? Siehe UPGRADING.md. Mitwirken? Siehe CONTRIBUTING.md.
composer require jayanta/laravel-threat-detection
php artisan vendor:publish --tag=threat-detection-migrations
php artisan migrate
Dann füge die Middleware zu deiner web-Gruppe hinzu (eine Zeile in bootstrap/app.php unter Laravel 11+,
oder app/Http/Kernel.php unter Laravel 10) — vollständiger Ausschnitt in Quick Start unten.
Das war's; die Erkennung ist aktiv.
php artisan threat-detection:doctor # confirms it is actually recording
Dieses Paket ist ein passives IDS auf Anwendungsebene — es beobachtet und protokolliert, es blockiert nicht. Es ist dafür gedacht, neben einer WAF oder einem Edge-Dienst zu stehen, nicht einen zu ersetzen. Jede Schicht sieht etwas, das die anderen nicht sehen können:
| Dieses Paket (App-IDS) | WAF (ModSecurity + OWASP CRS, Cloudflare WAF) | Edge / CDN (Cloudflare) | |
|---|---|---|---|
| Blockiert bösartige Anfragen | ❌ nur Protokollierung | ✅ | ✅ |
| Voller App-Kontext (exakte URL, dekodierte Payload, authentifizierter Benutzer) | ✅ | ⚠️ teilweise | ❌ |
| Integriertes Dashboard + Bedrohungsprotokoll in deiner DB | ✅ | ⚠️ variiert | ⚠️ nur Edge |
| App-spezifische Erkennungen (z. B. Aadhaar / PAN / IFSC PII) | ✅ integriert + benutzerdefiniert | ⚠️ eigene Regeln schreiben | ⚠️ benutzerdefinierte Regeln, planabhängig |
| Funktioniert offline / kein externer Dienst | ✅ | ⚠️ abhängig | ❌ |
| Stoppt Traffic, bevor er deinen Server erreicht | ❌ | ⚠️ nur Cloud-WAF | ✅ |
| Einrichtung | composer require, migrieren, eine Middleware-Zeile | mittel–hoch | niedrig–mittel |
| Kosten | kostenlos, MIT | variiert | kostenlose Stufe + kostenpflichtig |
Die Kurzfassung: Ein Edge/WAF ist dein Schloss an der Tür; dies ist die Überwachungskamera im Inneren, mit dem App-Kontext, um dir genau zu sagen, was auf welcher Route versucht wird, von wem und wie oft. Nutze es, um echte Entscheidungen zu speisen — fail2ban-Bans, Rate Limits, Geo-Blocking — mit Daten, die deine Edge-Schicht nie sieht.