Angriffsversuche in Fehlerberichten erkennen.
Ein Teil deiner Fehler sind keine Bugs, sondern Scanner, die bekannte Lücken ausprobieren. Fehlo markiert sie als Angriffsversuch, fasst sie zusammen und lässt sie nicht alarmieren.
Das Problem
Scanner probieren jede öffentliche Website durch. Ein Teil dieser Anfragen lässt dein Framework abstürzen, und das SDK meldet den Absturz als Fehler. Ein Beispiel aus Next.js: Eine Anfrage mit gefälschtem x-middleware-subrequest-Header und einem React-Server-Components-Payload wirft „Invariant: Expected RSC response“. Fehlo gruppiert solche Ereignisse nach Route, also siehst du nach einem Scan ein Dutzend neue Fehler, deren Titel das Framework beschuldigen, und dein Handy klingelt nachts für nichts.
Fehlo erkennt bekannte Angriffsmuster in Anfrage und Fehlermeldung und markiert die betroffenen Fehler als „Angriffsversuch“.
Welche Muster Fehlo erkennt
| Regel | woran Fehlo sie erkennt | Kennung |
|---|---|---|
| React2Shell: Code-Ausführung über React Server Components | Server-Action-Anfragen (Header next-action), deren Payload über die Prototypkette Code auf dem Server ausführen will | CVE-2025-55182, CVE-2025-66478 |
| Next.js: Middleware umgehen | gefälschter x-middleware-subrequest-Header, der die Middleware und die Anmeldeprüfung darin überspringt | CVE-2025-29927 |
| Log4Shell | ${jndi:...} in Headern, Adresse, Body oder Fehlermeldung | CVE-2021-44228 |
| Spring4Shell | Parameter, die auf class.module.classLoader zielen, um eine Web-Shell zu schreiben | CVE-2022-22965 |
| SQL-Injection | UNION SELECT-Proben, Tautologien in Anführungszeichen und Zeitverzögerungen in Adresse, Query oder Body | CWE-89 |
| Path Traversal | ../-Ketten und absolute Pfade zu /etc/passwd, /proc/self/environ und ähnlichen Dateien | CWE-22 |
| Suche nach geheimen Dateien | Anfragen nach /.env, /.git/config, wp-config.php und Zugangsdaten von Cloud-Anbietern | CWE-538 |
| WordPress- und PHP-Scans | xmlrpc.php, wp-login.php und wp-admin gegen eine App, die gar kein PHP ist |
Genauigkeit geht vor Vollständigkeit. Ein echter Fehler, der als Angriff markiert und stumm geschaltet wird, wäre schlimmer als ein Angriff, der als normaler Fehler durchgeht. Deshalb markiert Fehlo einen Fehler nur, wenn schon sein erstes Ereignis zum Muster passt. Landet ein Angriffsereignis in einem Fehler, den echte Abstürze angelegt haben, bleibt die Markierung weg.
Was dann passiert
- Keine Alarme. Markierte Fehler lösen keinen Alarm aus. Die Prüfung läuft auch unmittelbar vor jedem Alarm, damit ein frischer Angriff gar nicht erst meldet. Pro Projekt lässt sich das abschalten.
- Ein Angriff, nicht zwölf Fehler. Fehler desselben Projekts und derselben Regel, die innerhalb von 30 Minuten auftreten, fasst Fehlo zu einem Angriff zusammen. Auf der Fehlerseite siehst du den Beleg (welcher Header, welcher Parameter) und alle Fehler des Angriffs.
- Aufräumen mit einem Klick. „Alle ignorieren“ oder „Zusammenführen“ für den ganzen Angriff. Liegt Fehlo falsch, nimmst du mit „Kein Angriff“ die Markierung zurück; spätere Prüfungen lassen den Fehler dann in Ruhe.
- Filter in der Fehlerliste: alle Fehler, Angriffe ausblenden oder nur Angriffe. Die Übersicht zeigt die Angriffe der letzten sieben Tage.
Fehlo prüft alle zwei Minuten das neueste Ereignis jedes Fehlers, der gerade Ereignisse bekommt, und bei seinem ersten Lauf rückwirkend die letzten 14 Tage. Die Ereignisse selbst werden beim Empfang nicht verändert.
Was das nicht ist
Fehlo ist keine Web Application Firewall. Es blockiert keine Anfrage, es erkennt nachträglich, welche Fehler ein Angriff verursacht hat. Muster, die keine Regel kennt, bleiben normale Fehler. Eine markierte React2Shell- oder Middleware-Anfrage heißt auch nicht, dass sie erfolgreich war, aber sie ist ein guter Anlass, deine Next.js- und React-Versionen zu prüfen. Welche Versionen du einsetzt, zeigt der Schwachstellen-Scan.
Die Erkennung ist in jedem Plan enthalten. Über den MCP-Server sehen KI-Agenten die Markierung an jedem Fehler und rufen die Angriffe der letzten Tage ab.
Quellen
- React-Blog, „Critical Security Vulnerability in React Server Components“, react.dev.
- Next.js Security Advisory GHSA-f82v-jwr5-mffw (CVE-2025-29927), github.com/vercel/next.js.
- CVE-2021-44228, cve.org; CVE-2022-22965, spring.io.
- OWASP, „SQL Injection“, „Path Traversal“, „Forced browsing“, owasp.org.
Die Regeln sind in Fehlo hinterlegt; zu jeder zeigt die Fehlerseite die Quelle.
Häufige Fragen
Blockiert Fehlo Angriffe?
Nein. Fehlo sieht Anfragen erst, wenn sie einen Fehler ausgelöst haben, und markiert diese Fehler. Zum Blockieren brauchst du eine Firewall oder Regeln im Reverse Proxy.
Was, wenn ein echter Fehler als Angriff markiert wird?
Ein Klick auf „Kein Angriff“ entfernt die Markierung, und spätere Prüfungen lassen den Fehler in Ruhe. Fehlo markiert ohnehin nur Fehler, deren erstes Ereignis zum Muster passt.
Bekomme ich für Angriffe gar keine Meldung?
Markierte Fehler lösen keinen Alarm aus. Die Übersicht zeigt die Angriffe der letzten sieben Tage. Willst du auch für Angriffe Alarme, schaltest du das in den Projekteinstellungen ab.
Brauche ich dafür ein anderes SDK?
Nein. Fehlo liest die Anfragedaten, die das SDK ohnehin mitschickt: Methode, Adresse, Header und Body, soweit dein SDK sie sendet.