Principle:Promptfoo Promptfoo Plugin Selection
| Knowledge Sources | |
|---|---|
| Domains | Security_Testing, Plugin_Architecture |
| Last Updated | 2026-02-14 08:00 GMT |
Overview
A plugin registry mechanism that maps vulnerability category identifiers to test case generators for adversarial security testing.
Description
Plugin Selection governs which vulnerability categories are tested during a red team scan. Each plugin represents a specific vulnerability type (e.g., prompt injection, PII leakage, harmful content generation, SSRF) and contains logic to generate adversarial test cases targeting that vulnerability.
Plugins follow a common interface: each has a key (identifier), optional validate function, and an action function that generates test cases. The abstract RedteamPluginBase class provides shared functionality for LLM-powered test generation with configurable prompts and deduplication.
Usage
Use this principle when configuring which vulnerability categories to include in a red team scan. The `plugins:` array in red team config determines which plugins are activated.
Theoretical Basis
Pseudo-code Logic:
1. Parse plugins from config (string IDs or objects with config)
2. For each plugin ID:
a. Look up in Plugins registry (PluginFactory[])
b. Validate plugin-specific config if validator exists
c. Call action(provider, purpose, injectVar, config, n) → TestCase[]
3. Each plugin generates n test cases targeting its vulnerability type
4. Collect all test cases for strategy application