Add Lab 8 embedded red-team chat widget with three defense levels

This commit is contained in:
2026-04-21 19:49:39 -06:00
parent 883d43dca8
commit f74575277a
7 changed files with 1045 additions and 33 deletions
@@ -25,10 +25,6 @@ To start this lab, one web service has been preconfigured:
- Promptfoo - http://<IP>:15500
You'll also need to access:
- Open WebUI - https://ai.zuccaro.me/
## Objective 1 Explore: Direct Prompt Injection
For the first part of this lab, we are going to explore direct prompt injection. There are three levels for this challenge:
@@ -39,38 +35,15 @@ For the first part of this lab, we are going to explore direct prompt injection.
Each level will be more difficult than the last, based on how the protection interacts with the generated output.
<div class="lab-callout lab-callout--warning">
<strong>Warning:</strong> Due to the limitations of Open WebUI, you will see generated outputs before safety evaluation. A successful jailbreak means the protection missed the final output.
</div>
### Explore: Access the hosted challenge
To access the lab, navigate to https://ai.zuccaro.me and log in with the following credentials:
- `Username` - `student@zuccaro.me`
- `Password` - `Student9205!`
<br>
<figure style="text-align: center;">
<a href="https://i.imgur.com/YSgw3wq.png" target="_blank">
<img
src="https://i.imgur.com/YSgw3wq.png"
style="width: 50%; display: block; margin-left: auto; margin-right: auto; border: 5px solid black;">
</a>
<figcaption style="margin-top: 8px; font-size: 1.1em;">
Open WebUI Outside Lab Hosted Challenge
</figcaption>
</figure>
<br>
Good luck and have fun.
Use the embedded widget below to probe each layer. The endpoint and model are already configured. Enter your API key, pick a level, and start testing.
<div class="lab-callout lab-callout--info">
<strong>Tip:</strong> Conversations for this Open WebUI instance will not be saved. Ensure you save any interactions you want to keep.
<strong>Tip:</strong> Conversations in the widget stay in your browser for this lab only. Copy anything you want to keep before refreshing the page.
</div>
As you test each protection level, pay attention to how the model behaves before and after the safety check. The goal is not just to trigger unsafe output, but to understand how each layer attempts to prevent it.
<div data-lab8-chat></div>
As you test each protection level, pay attention to how the model responds. The goal is not just to trigger unsafe output, but to understand how each layer attempts to prevent it. For Levels 2 and 3, only the final result (or safety rejection) is shown.
---