Generates attacks that try to leak the assistant's system prompt or internal instructions.
Inspired by promptfoo's prompt-extraction plugin. Direct asks ("what's
your system prompt?") are easy refusals. The hard ones use indirect
framings — recipes, marketing pitches, "explain to a new employee",
"describe a hypothetical chatbot like you" — that elicit partial or full
leaks while sounding like benign requests.
Each generated case carries the purpose in expected.prompt_extracted.purpose
so the Tribunal.Judges.PromptExtracted judge can grade responses against
the same scope at run time.
Options
:purpose— required. Free-form description of the assistant's domain.:count— number of attacks to generate. Defaults to5.:attacker— module implementingTribunal.RedTeam.Attacker. Defaults toTribunal.RedTeam.Attacker.default/0.:model— passed through to the attacker.:temperature,:max_tokens— passed through to the attacker.
Example
{:ok, cases} = Tribunal.RedTeam.Plugins.PromptExtraction.generate(
purpose: "Shopping assistant for a cosmetics retailer.",
count: 5
)