Vergelijking van red team-tools
Vergelijking van de belangrijkste AI-redteaming-tools -- Garak, PyRIT, promptfoo en Inspect AI -- met capaciteiten, sterke punten, beperkingen en use cases.
Vergelijking van red team-tools
Deze referentie vergelijkt de belangrijkste open-source tools die gebruikt worden in AI-redteaming-opdrachten. Elke tool heeft eigen sterke punten en is het meest geschikt voor specifieke fases van een assessment.
Snelle vergelijkingsmatrix
| Functie | Garak | PyRIT | promptfoo | Inspect AI |
|---|---|---|---|---|
| Hoofddoel | Geautomatiseerd kwetsbaarheden scannen | Aanvalsorkestratie | LLM-evaluatie en testen | AI-veiligheidsevaluatie |
| Ontwikkelaar | NVIDIA | Microsoft | promptfoo (open-source) | UK AI Safety Institute |
| Taal | Python | Python | TypeScript/Node.js | Python |
| Multi-turn aanvallen | Beperkt | Sterk | Beperkt | Matig |
| Aanvalsgeneratie | Probe-gebaseerd | Converter + orkestrator | YAML-gedefinieerd | Taak + solver |
| Eigen aanvallen | Eigen probes | Eigen converters/orkestrators | Plug-ins + YAML | Eigen solvers |
| Scoring | Detector-gebaseerd | Meerdere scorertypes | Assertion-gebaseerd | Scorer-gebaseerd |
| CI/CD-integratie | Matig | Beperkt | Sterk | Matig |
| Modelondersteuning | Breed (API + lokaal) | Breed (API + lokaal) | Breed (API + lokaal) | Breed (API + lokaal) |
| Leercurve | Laag-gemiddeld | Gemiddeld-hoog | Laag | Gemiddeld |
Garak
Generative AI Red-teaming and Assessment Kit
Overzicht
Garak is een probe-gebaseerde kwetsbaarhedenscanner die LLM's test tegen bekende aanvalspatronen. Hij werkt door aanvalsprompts (probes) te genereren, deze naar het doelmodel te sturen (generators) en de antwoorden te evalueren (detectors).
Architectuur
Probes (aanvalsgenerators) → Generator (modelinterface) → Detectors (antwoord-evaluators)
Sterke punten
- Lage instapdrempel: Voer een baseline-scan uit met één commando
- Brede dekking: Ingebouwde probes dekken de OWASP LLM Top 10-categorieën
- Uitbreidbaar: Schrijf eigen probes en detectors in Python
- Meerdere model-backends: Ondersteunt OpenAI, Hugging Face, lokale modellen en eigen API's
- Rapportage: Genereert gestructureerde rapporten met pass/fail-resultaten
Beperkingen
- Primair single-turn: Beperkte ondersteuning voor multi-turn aanvalsstrategieën
- Patroongebaseerd: Vertrouwt op bekende aanvalspatronen; ontdekt geen nieuwe technieken
- Beperkte orkestratie: Kan geen complexe, meerstaps aanvallen coördineren
- Statische probes: Aanvalsprompts zijn vooraf gedefinieerd in plaats van dynamisch gegenereerd op basis van modelantwoorden
Het beste voor
- Baseline-scans aan het begin van een opdracht
- Regressietesten na model- of guardrail-updates
- Integratie in CI/CD-pipelines voor continue security-tests
- Dekkingsverificatie over bekende aanvalscategorieën heen
Voorbeeld-use case
Garak draaien als eerste pass om te identificeren welke kwetsbaarheidscategorieën dieper handmatig onderzoek rechtvaardigen, en de resultaten gebruiken om het door mensen gedreven deel van het assessment te prioriteren.
PyRIT
Python Risk Identification Tool for Generative AI
Overzicht
PyRIT is het framework van Microsoft voor het orkestreren van complexe, multi-turn red teaming-aanvallen. Het excelleert in geautomatiseerde aanvalscampagnes die zich aanpassen op basis van modelantwoorden.
Architectuur
Orkestrator (aanvalsstrategie) → Converter (payload-transformatie) → Target (model) → Scorer (evaluatie)
Belangrijkste componenten
| Component | Doel | Voorbeelden |
|---|---|---|
| Orkestrators | Beheer aanvalsstrategie en gespreksverloop | Multi-turn, crescendo, tree-of-attacks |
| Converters | Transformeer prompts tussen formaten | Base64, vertaling, leetspeak, homoglyph, unicode |
| Targets | Interface met het te testen model | OpenAI, Azure, Hugging Face, lokale modellen |
| Scorers | Evalueer aanvalsucces | LLM-as-judge, keyword match, classifier |
| Memory | Sla gespreksgeschiedenis en resultaten op | SQLite-gebaseerde persistente opslag |
Sterke punten
- Multi-turn orkestratie: Speciaal gebouwd voor complexe, meerstaps aanvallen
- Converter-keten: Stack meerdere transformaties voor geavanceerde ontwijking
- Adaptieve aanvallen: Orkestrators passen de strategie aan op basis van modelantwoorden
- Persistente memory: Houd gespreksstatus bij over sessies heen
- Research-grade: Ontworpen voor systematische, reproduceerbare experimenten
Beperkingen
- Hogere leercurve: Complexere setup en configuratie dan eenvoudigere tools
- Python-centrisch: Vereist Python-ontwikkelvaardigheden voor maatwerk
- Minder CI/CD-native: Niet primair ontworpen voor pipeline-integratie
- Zwaardere setup: Vereist meer infrastructuur (database, API-keys, configuratie)
Het beste voor
- Complexe multi-turn jailbreak-campagnes
- Geautomatiseerd testen van escalatie (crescendo-aanvallen)
- Onderzoek dat systematische promptvariatie en scoring vereist
- Tests die converter-ketens vereisen (encoding + vertaling + parafrasering)
Voorbeeld-use case
PyRIT's crescendo-orkestrator gebruiken om automatisch een escalatie-aanval van 15 beurten uit te voeren, waarbij converters op strategische punten Base64-encoding en taalvertaling toepassen, beoordeeld door een LLM-as-judge-evaluator.
promptfoo
Overzicht
promptfoo is een YAML-gedreven evaluatie- en red teaming-harness die nadruk legt op gebruiksgemak, brede modelondersteuning en CI/CD-integratie. Het is uitstekend geschikt voor systematische, herhaalbare testsuites.
Architectuur
YAML-config (testcases + assertions) → Provider (modelinterface) → Evaluator (assertion-controle) → Rapport
Sterke punten
- Lage leercurve: YAML-gebaseerde configuratie vereist geen programmeren
- CI/CD-native: Ontworpen voor integratie in testpipelines
- Vergelijkend testen: Test dezelfde aanvalssuite eenvoudig tegen meerdere modellen of configuraties
- Plug-insysteem: Uitbreiden met eigen aanvalstypes via JavaScript/TypeScript-plug-ins
- Ingebouwde red team-module: Speciale red teaming-modus met voorgemaakte aanvalsstrategieën
- Rijke rapportage: Web-UI om resultaten te bekijken, runs te vergelijken en rapporten te delen
Beperkingen
- Primair single-turn: Multi-turn aanvalondersteuning is beperkt vergeleken met PyRIT
- YAML-beperkingen: Complexe aanvalslogica kan onhandelbaar worden in YAML-formaat
- Node.js-ecosysteem: Integreert mogelijk niet naadloos met op Python gebaseerde AI-tooling
- Minder adaptief: Testcases zijn vooraf gedefinieerd in plaats van dynamisch aangepast
Het beste voor
- Integratie in CI/CD-pipelines voor continue red teaming
- Vergelijkende evaluatie (dezelfde aanvallen testen over modelversies of configuraties)
- Teamcollaboratie waar niet-Python-ontwikkelaars testcases moeten kunnen bijdragen
- Regressietesten na guardrail-updates
- Snelle setup voor eenvoudige testsuites
Voorbeeld-use case
Een YAML-gebaseerde testsuite opzetten die 200 aanvalsprompts uitvoert over vijf risicocategorieën tegen zowel de huidige als de voorgestelde modelconfiguraties, met een vergelijkend rapport dat laat zien welke configuratie elke aanvalscategorie beter aanpakt.
Inspect AI
Evaluatieframework van UK AI Safety Institute
Overzicht
Inspect AI is het framework van het UK AI Safety Institute voor het evalueren van AI-systeemveiligheid. Het gebruikt een taakgebaseerde architectuur waarin evaluaties bestaan uit datasets, solvers (hoe het model interageert met de taak) en scorers.
Architectuur
Taak (dataset + instructies) → Solver (model-interactiestrategie) → Scorer (evaluatiecriteria) → Log
Belangrijkste componenten
| Component | Doel | Voorbeelden |
|---|---|---|
| Tasks | Definieer evaluatiescenario's | Veiligheidsbenchmarks, capability-tests, red team-scenario's |
| Datasets | Lever testinvoer | HuggingFace-datasets, CSV, JSON, eigen generators |
| Solvers | Beheers model-interactie | Generate (single-turn), multi-turn, chain-of-thought |
| Scorers | Evalueer outputs | Modelgrading, patroonherkenning, menselijke review |
| Tools | Geef het model capaciteiten | Webbrowsen, code-uitvoering, eigen tools |
Sterke punten
- Samenstelbare architectuur: Mix en match solvers, scorers en datasets
- Veiligheidsgericht: Speciaal ontworpen voor AI-veiligheidsevaluatie
- Agent-evaluatie: Ingebouwde ondersteuning voor het evalueren van tool-gebruikende agents
- Reproduceerbaar: Gedetailleerde logging van elke evaluatiestap
- Community-benchmarks: Groeiende bibliotheek van gedeelde evaluatietaken
Beperkingen
- Evaluatiegericht: Niet primair een offensieve tool; meer evaluatie dan aanval
- Nieuwer ecosysteem: Kleinere community en minder resources vergeleken met meer gevestigde tools
- Minder aanvalsgericht: Minder ingebouwde aanvalstechnieken vergeleken met Garak of PyRIT
- Framework-overhead: Het taak/solver/scorer-patroon voegt abstractie-overhead toe voor eenvoudige tests
Het beste voor
- Gestructureerde veiligheidsevaluaties die aansluiten op regelgevingsvereisten
- Benchmarking van agent-capabilities en -veiligheid
- Reproduceerbare evaluaties met uitgebreide logging
- Evaluatietaken die tool-gebruik moeten beoordelen
- Aanvulling op offensieve tools om defensieve effectiviteit te meten
Voorbeeld-use case
Een Inspect AI-evaluatiesuite bouwen die de veiligheid van een agent test over een reeks scenario's -- meten of de agent taken correct voltooit én of hij veiligheidsgrenzen respecteert wanneer hij geconfronteerd wordt met adversarial invoer.
Toolselectiegids
Gebruik deze beslisboom om de juiste tool voor je scenario te kiezen:
| Scenario | Aanbevolen tool | Reden |
|---|---|---|
| Eerste baseline-scan | Garak | Snelle setup, brede dekking van bekende patronen |
| Multi-turn jailbreak-campagne | PyRIT | Speciaal gebouwde orkestratie voor complexe, adaptieve aanvallen |
| CI/CD-regressietesten | promptfoo | YAML-gedreven, pipeline-native, vergelijkende rapporten |
| Veiligheidsevaluatie voor compliance | Inspect AI | Taakgebaseerd, reproduceerbaar, aansluitend op regelgevingsverwachtingen |
| Vergelijkende modelevaluatie | promptfoo | Ingebouwde ondersteuning voor zij-aan-zij vergelijking |
| Onderzoek met encoding-ontwijking | PyRIT | Converter-ketens voor systematische payload-transformatie |
| Snelle eenmalige test | promptfoo of Garak | Minimale setup vereist |
| Agent-veiligheidstests | Inspect AI | Ingebouwde ondersteuning voor tool-gebruik en agent-evaluatie |
Tools combineren
Professionele opdrachten gebruiken doorgaans meerdere tools:
Baseline-scan
Voer Garak uit voor een snelle baseline over bekende kwetsbaarheidscategorieën. Identificeer welke categorieën zwakheden vertonen.
Diepe exploitatie
Gebruik PyRIT om multi-turn aanvallen uit te voeren tegen de categorieën waar Garak zwakheden vond. Benut converters en orkestrators voor geavanceerde ontwijking.
Veiligheidsevaluatie
Gebruik Inspect AI om gestructureerde veiligheidsevaluaties uit te voeren, vooral voor agent-gebaseerde systemen. Meet defensieve grenzen systematisch.
Regressiesuite
Bouw een promptfoo-testsuite van de geslaagde aanvallen die in voorgaande fases zijn ontdekt. Integreer in CI/CD voor continue monitoring.
Handmatig testen
Vul geautomatiseerde tools aan met door mensen gedreven creatieve tests voor nieuwe technieken die geen enkele tool op eigen houtje zal ontdekken.