«Ein Saftladen, wer sich hacken lässt», das könnte ein Gedanke gewesen sein, als die gemeinnützige Organisation Open Worldwide Application Security Project (OWASP) ihre Übungssoftware erstellt hat. Der Juice Shop ist eine Anwendung mit lauter Schwachstellen, die angehende Hacker finden sollen. OWASP will zur allgemeinen Sicherheit von Software beitragen und fördert daher auch das Bug Bounty Hunting.
Für die Suche nach Sicherheitslücken engagieren Softwareproduzenten, Konzerne und öffentliche Organisationen nicht nur spezialisierte Firmen, sondern auch Hobbyisten. Konzerne wie Microsoft zahlen mehrere Hunderttausend Dollar Bountys für erfolgreiche Angriffe auf ihre Dienste.
Alle können dabei mitmachen, nach Bugs jagen und so vielleicht eine Belohnung einfahren. Auch unser Mitarbeiter David Übelacker hat sich darin versucht. Weniger wegen der Belohnung, ihm mache das Jagen nach Bugs Spass. «Ich bin kein Gamer, aber ich löse sehr gerne Rätsel. Bug Bounty Hunting ist ähnlich. Ich schaue mir was an und überlege, wo es ein Problem geben könnte. Genau wie bei einem Detektiv-Spiel».
Dem Publikum könne er es nur empfehlen, sagt er bei seinem Vortrag an der diesjährigen BaselOne. An der Basler IT-Konferenz spricht David darüber, wie er beim Bug Bounty Hunting einen Schritt weiterging und die KI für ihn zum Hacker machte.
«Die KI ist überall Thema Nummer Eins und ich wollte mich auch damit beschäftigen. Beruflich ergab sich keine Gelegenheit, darum kam ich auf die Idee, es mit meinem Hobby zu versuchen.» Dem BaselOne-Publikum zeigt er live, wie wenige Zeilen Code genügen, um die KI zum Hacker zu machen.
Die Werkzeuge: LangChain, LangGraph und Juice Shop
Da OpenAI mit einem Brief ungehalten auf seinen ersten Versuch reagierte, mit Chat GPT Tesla.com zu hacken, reduzierte David seine Ambitionen vorerst auf den Juice Shop. Die KI sollte die über 170 Schwachstellen selbstständig finden.
Die KI programmiert David mit LangChain, einem Abstraktionsframework speziell für die Arbeit mit Sprachmodellen. Für den Workflow nutzt David die Engine LangGraph. Beide Tools sind sowohl in Python als auch in Java verfügbar.
David beginnt mit einem einfachen Agenten, den er mit create_react_agent aus LangGraph erstellt. Als Modell nutzt er Claude von Anthropic, kombiniert mit einem Request Toolkit für HTTP-Anfragen. Der Prompt ist klar formuliert:
«Du bist mein persönlicher Assistent für die Bug-Bounty-Jagd. Du hilfst mir dabei, Schwachstellen in Webanwendungen zu finden.»
Wichtig bevor es losgeht: das Rekursionslimit setzen. Sonst könnte die KI uneingeschränkt weiterarbeiten und dabei beim Anbieter des Sprachmodells laufend kostenpflichtige Tokens verbrauchen.
David setzt die Limite auf 100 Wiederholungen und gibt die lokale URL des Juice Shops ein. Der Agent legt los. Schon nach wenigen Minuten hat er mehrere Schwachstellen entdeckt: Fehler in der Fehlerbehandlung, Admin-Zugänge, Passwortlücken. Insgesamt 11 Sicherheitslücken findet die KI in nur 2,5 Minuten. Mit rund einer Million Tokens für rund 3,50 US-Dollar kosten und mit gerade einmal 30 Zeilen Code.


