How the RAGSec Challenge Server Works
Level 0 — Orientation. This page explains the Challenge Server environment, tooling, and rules before you attempt any challenge level.

What is the Challenge Server?

The RAGSec Challenge Server is a set of purpose-built, isolated RAG applications with deliberately introduced security weaknesses. Each challenge asks you to find, reproduce, or prove a specific vulnerability class — the same classes that RAGSec detects in authorized scans of real systems.
Every challenge environment is synthetic. The data, users, credentials, and application behavior are all fabricated for the challenge. You are never testing a real organization’s system.
How challenges are structured

- Context. Each challenge begins with a description of the application, the data it handles, and the security goal you are trying to achieve.
- Access. You are given one or two synthetic test identities — usernames, tenant labels, and application credentials — specific to the challenge environment.
- Objective. You must prove that a security invariant is violated (or intact), document the evidence, and submit the result.
- Hints. Optional hints are available at each level. Using a hint does not disqualify your completion.
- Flag. A confirmed finding produces a challenge flag — a verifiable token proving you completed the objective.
Tools you will use
- HTTP client (curl, Postman, or your preferred tool) for direct API calls to the challenge application
- The RAGSec Free Scan (optional) to generate a structured posture report on the challenge environment
- Your browser for reading challenge documentation and submitting flags
- Any vector database SDK for supported languages (Python, TypeScript) — optional
What counts as a completed challenge
A challenge is complete when you can show:
- The request that triggered the unexpected behavior
- The response showing the failure (the returned record, the leaked identifier, or the accepted poisoned document)
- The identity used and the tenant boundary that was crossed or violated
- The challenge flag extracted from the response