> For the complete documentation index, see [llms.txt](https://owasp-ai-security.gitbook.io/owasp-ai-security-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://owasp-ai-security.gitbook.io/owasp-ai-security-docs/trippy-planner-einfuhrung.md).

# Trippy Planner: Einführung

## Der dritte Angriffstyp: zurück zur indirekten Prompt Injection — diesmal über eine Webseite

Mit Trippy Planner schließt sich der Kreis zurück zu **indirekter Prompt Injection** — aber über einen anderen Kanal als bei MindfulChat. Statt eines Memory-Eintrags ist der Angriffsweg diesmal eine ganz gewöhnliche **Webseite**, die ein KI-Agent im Rahmen seiner Recherche besucht.

## Das Szenario

Trippy Planner ist ein KI-Reiseassistent, der Empfehlungen, Flüge, Hotels und Sehenswürdigkeiten findet, indem er **das Web durchsucht** und daraus Tag-für-Tag-Reisepläne erstellt. Ein Opfer hat den Assistenten gebeten, einen 7-tägigen Abenteuer-Trip nach Armenien zu planen. Der Assistent durchsucht dabei Reise-Webseiten und Blogs — und stößt dabei auf **deine präparierte Webseite**.

## Welche Schwachstelle nutzen wir aus?

Das Angriffsziel: **Schmuggle einen Phishing-Link in den generierten Reiseplan** — konkret die Zeile *"Book cheap tickets here"* mit einem Link zu einer gefälschten Zahlungsseite.

Das ist **LLM01 — Prompt Injection** in ihrer *indirekten* Form, wie du sie schon aus dem Grundlagen-Kapitel kennst: Die Anweisung steckt nicht im Chat, sondern in Daten, die das Modell im Rahmen einer eigentlich harmlosen Aufgabe verarbeitet — hier eine Webseite statt eines PDFs oder einer E-Mail. Gleichzeitig ist das ein direktes Praxisbeispiel für das, was wir bei **RAG** besprochen haben: Der Agent "holt" sich Informationen aus dem Web (Retrieval) und baut sie direkt in seine Antwort ein (Generation) — inklusive allem, was in den abgerufenen Inhalten steckt, auch wenn es schädlich ist.

Der Angriffsvektor: Du erstellst eine **bösartige Reise-Webseite**, die in Suchergebnissen auftaucht. Deinen Angriff schmuggelst du in den Seiteninhalt, den der KI-Reiseassistent findet und verwendet.

> 💡 **Warum das besonders wichtig ist:** Bei MindfulChat musstest du dir erst Zugriff auf eine interne Datenbank verschaffen, um deinen Angriff einzuschleusen. Hier reicht eine öffentlich erreichbare Webseite — das ist der Angriffsweg mit der niedrigsten Eintrittshürde von allen, die wir heute behandeln, und entspricht ziemlich genau echten Angriffen auf KI-Systeme mit Websuche.

> 🎮 **Diese App hat mehrere Level** — achtet auf den Hinweis zu "View all Levels" auf der ersten Level-Seite.

***

Los geht's: [**Trippy Planner — Level 1**](/owasp-ai-security-docs/level-1-der-angriff-1.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://owasp-ai-security.gitbook.io/owasp-ai-security-docs/trippy-planner-einfuhrung.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
