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

Regelworan Fehlo sie erkenntKennung
React2Shell: Code-Ausführung über React Server ComponentsServer-Action-Anfragen (Header next-action), deren Payload über die Prototypkette Code auf dem Server ausführen willCVE-2025-55182, CVE-2025-66478
Next.js: Middleware umgehengefälschter x-middleware-subrequest-Header, der die Middleware und die Anmeldeprüfung darin überspringtCVE-2025-29927
Log4Shell${jndi:...} in Headern, Adresse, Body oder FehlermeldungCVE-2021-44228
Spring4ShellParameter, die auf class.module.classLoader zielen, um eine Web-Shell zu schreibenCVE-2022-22965
SQL-InjectionUNION SELECT-Proben, Tautologien in Anführungszeichen und Zeitverzögerungen in Adresse, Query oder BodyCWE-89
Path Traversal../-Ketten und absolute Pfade zu /etc/passwd, /proc/self/environ und ähnlichen DateienCWE-22
Suche nach geheimen DateienAnfragen nach /.env, /.git/config, wp-config.php und Zugangsdaten von Cloud-AnbieternCWE-538
WordPress- und PHP-Scansxmlrpc.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

  1. React-Blog, „Critical Security Vulnerability in React Server Components“, react.dev.
  2. Next.js Security Advisory GHSA-f82v-jwr5-mffw (CVE-2025-29927), github.com/vercel/next.js.
  3. CVE-2021-44228, cve.org; CVE-2022-22965, spring.io.
  4. 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.