
KI-gestütztes reaktives Website-Verteidigungssystem, das Angriffe erkennt, analysiert und mithilfe von LLM-Agenten in Echtzeit automatisch den Quellcode patcht.
KI-gestütztes reaktives Webapp-Verteidigungssystem, das entwickelt wurde, um KI-gestützten Angriffen in Echtzeit standzuhalten.
Mahoraga Defender ist ein PoC eines reaktiven, angreifertyp-agnostischen Echtzeit-Verteidigungssystems. Der Kernmechanismus besteht darin, einen Gegner dazu zu verleiten, Entdeckungen und Angriffe in einer harmlosen, gefälschten Umgebung („Shadow“-Umgebung) durchzuführen, und diese Angriffe zu protokollieren. Dann analysiert ein LLM-Agent die Protokolle und übergibt Details über entdeckte Exploits an weitere LLM-Agenten, um die Schwachstellen zu beheben und die Patches bereitzustellen.
Das System ist auf vollständige Automatisierung unter Berücksichtigung der API-Kostenoptimierung ausgelegt. Eine GUI wurde erstellt, um Datenverkehrsprotokolle, Agentenaktivitäten und die Patching-Pipeline einfach zu überwachen und die Anzahl der bereitzustellenden Agenten zu steuern.
Die Ziel-Website (Opfer-Website) ist ein Fork von crAPI (Completely Ridiculous API), einer absichtlich unsicheren Webanwendung, die von OWASP für das Erlernen von API-Sicherheitstests erstellt wurde. crAPI simuliert eine Fahrzeugbesitzer-Plattform mit Mikrodiensten, die die OWASP Top 10 API-Schwachstellen abdecken. Der Verteidiger ist so ausgelegt, dass klar zwischen normalen und böswilligen Benutzersitzungen unterschieden wird, sodass normale Benutzer keine Einbußen in der Benutzererfahrung erleben, während der Verteidiger die Website vor Angreifern schützt.
Unser Fork (crapi-fork/) fügt hinzu:
Eine unberührte Kopie wird in crapi-original/ aufbewahrt, sodass die Umgebung zwischen Experimenten zurückgesetzt werden kann.
crapi-fork/. Arbeitet in einer gesandboxten Bash-Umgebung mit Zugriff nur auf crapi-fork/.Bei der Bereitstellung werden Python-Dienste über gunicorn heiß nachgeladen (sofort), während Java/Go-Dienste über docker compose up -d --build neu erstellt werden.
Warum kein Tester-Agent? Wir haben erwogen, einen dedizierten Benutzertest-Agenten und eine separate Testumgebung hinzuzufügen, aber beide entfernt, um das System leicht zu halten.
conda create -n XYZ python=3.13, dann conda activate XYZ).pip install -r requirements.txt./start.sh aus dem Projektstammverzeichnis aus – setzt den Quellcode von crapi-fork/ von crapi-original/ zurück, erstellt alle Dienste neu, platziert Flags und Honeypots.python3 -m harness.main --app-url http://localhost:8888 -v.localhost:8888 (Aufgabenbeschreibung unter localhost:8888/challenge) Wenn Sie Pentesting mit einem KI-Agenten durchführen, sollte der Agent keinen Zugriff auf interne Docker-Prozesse haben, da dies als Betrug angesehen würde.localhost:3000, um Echtzeit-Protokolle, Agentenaktionen, Patches, erbeutete Flags usw. zu sehen.docker compose down -v aus, um die Docker-Container und Datenbanken zu entfernen, die für dieses Projekt gestartet wurden.Dashboard: http://localhost:3000
Eine globale Agenten-Statusleiste ist auf allen Registerkarten sichtbar, die den Agentenstatus (aktiv/hängend/im Leerlauf/Fehler) mit Skalierungssteuerungen anzeigt.
Echtzeit-Ansicht mit geteiltem Bildschirm für Produktions-/Shadow-Anfrageprotokolle mit nach Schweregrad farbig markierten Einträgen und Verkehrsgruppierung
Pro-Agent-Aktivitätsfeed mit Systemaufforderungen, Tool-Aufrufen und LLM-Modellbezeichnungen
Kanban-Board: Erkannt → In Bearbeitung → In Prüfung → Bereitgestellt, mit größenveränderbarem Detailbereich