Problems / AI security and governance, hard

Poisoned web pages in RAG

A web-search assistant retrieves pages that contain hidden instructions. 300 poisoned requests a second arrive alongside real users.

Free to open. Runs in your browser, no sign-up.

Your goals

Success ≥ 98%, block ≥ 95% of the injections.

The traffic

15 requests a second for 30 seconds: 100% request (reads).

The system

What each component does in this design, and what calls it. The simulator mimics each one from these settings.

ComponentIts job hereSettings
Load balancerLoad balancerTraffic enters here.Calls AI app.Layer 4 balancers route by IP and port; layer 7 balancers read HTTP and can route by path or header.–
AI appApp serviceLoad balancer forwards to it.Calls Web search, Model.Little's law: throughput ≈ concurrency ÷ latency. 200 slots at 50 ms serve about 4,000 req/s.3 replicas × 500 slots · timeout 30 s
Web searchHybrid searchAI app calls it.Hybrid search combines keyword matching (BM25) with vector similarity.2000 slots · 2 steps
ModelLLM endpointAI app calls it.Latency has two parts: time to the first token, then a steady stream of tokens per second.3000 streams

Hints

Try it first. Open one hint at a time if you get stuck.

Hint 1

Retrieved text is untrusted input too.

Hint 2

Look at what got through, or what was wrongly blocked: which filter is responsible for this kind of traffic?

One way to solve it

Put a prompt-injection filter in front.

More ai security and governance problems