Garak
"Clase de la hoja"
########################################################################################################################################################################################################################################################## Copiar todos los comandos
■/div titulada
Garak es un marco de equipo rojo de código abierto diseñado para probar y evaluar la seguridad y la robustez de los grandes modelos de lenguaje (LLMs) y sistemas AI a través de pruebas adversarias.
Instalación
Command |
Description |
pip install garak |
Install Garak via pip |
git clone https://github.com/leondz/garak.git |
Clone from GitHub |
cd garak && pip install -e . |
Install in development mode |
garak --help |
Display help and available options |
garak --list-probes |
List all available probes |
garak --list-detectors |
List all available detectors |
garak --list-generators |
List all available generators |
Uso básico
Command |
Description |
garak --model-type openai --model-name gpt-3.5-turbo |
Test OpenAI GPT-3.5-turbo |
garak --model-type huggingface --model-name microsoft/DialoGPT-medium |
Test HuggingFace model |
garak --model-type replicate --model-name replicate/llama-2-70b-chat |
Test Replicate model |
garak --probes encoding |
Run encoding vulnerability probes |
garak --probes malwaregen |
Run malware generation probes |
garak --probes promptinject |
Run prompt injection probes |
Probe Categories
Security Probes
Command |
Description |
garak --probes encoding.InjectBase64 |
Test base64 encoding injection |
garak --probes encoding.InjectHex |
Test hexadecimal encoding injection |
garak --probes encoding.InjectMorse |
Test Morse code encoding injection |
garak --probes encoding.InjectROT13 |
Test ROT13 encoding injection |
garak --probes malwaregen.Evasion |
Test malware generation evasion |
garak --probes promptinject.AttackPrompt |
Test prompt injection attacks |
Sondas de Bias y Toxicity
Command |
Description |
garak --probes bias.BiasProbe |
Test for bias in model responses |
garak --probes toxicity.ToxicityProbe |
Test for toxic content generation |
garak --probes hate.HateSpeechProbe |
Test for hate speech generation |
garak --probes discrimination.DiscriminationProbe |
Test for discriminatory content |
Sondas de almacenamiento de datos
Command |
Description |
garak --probes leakage.PIILeakage |
Test for PII data leakage |
garak --probes leakage.TrainingDataLeakage |
Test for training data exposure |
garak --probes leakage.SystemPromptLeakage |
Test for system prompt exposure |
Configuración avanzada
Command |
Description |
garak --config config.yaml |
Use custom configuration file |
garak --output-dir results/ |
Specify output directory |
garak --report-prefix test_run_ |
Set report file prefix |
garak --parallel-requests 5 |
Set number of parallel requests |
garak --temperature 0.7 |
Set model temperature |
garak --max-tokens 150 |
Set maximum tokens per response |
Sondas personalizadas
Command |
Description |
garak --probes myprobe.CustomProbe |
Run custom probe |
garak --probe-options '{"param": "value"}' |
Pass parameters to probe |
garak --probe-tags security,injection |
Filter probes by tags |
Detectores y Evaluación
Command |
Description |
garak --detectors always.Pass |
Use always-pass detector |
garak --detectors mitigation.MitigationBypass |
Use mitigation bypass detector |
garak --detectors specialwords.SlursReclaimedSlurs |
Detect slurs and reclaimed slurs |
garak --detectors toxicity.ToxicityClassifier |
Use toxicity classifier |
Command |
Description |
garak --report-format json |
Generate JSON report |
garak --report-format html |
Generate HTML report |
garak --report-format csv |
Generate CSV report |
garak --verbose |
Enable verbose output |
garak --log-level DEBUG |
Set debug logging level |
Modelo de integración
OpenAI Models
Command |
Description |
garak --model-type openai --model-name gpt-4 |
Test GPT-4 |
garak --model-type openai --model-name gpt-3.5-turbo-16k |
Test GPT-3.5-turbo with 16k context |
export OPENAI_API_KEY=your_key |
Set OpenAI API key |
Hugging Modelos faciales
Command |
Description |
garak --model-type huggingface --model-name facebook/opt-1.3b |
Test OPT model |
garak --model-type huggingface --model-name EleutherAI/gpt-j-6B |
Test GPT-J model |
export HF_TOKEN=your_token |
Set HuggingFace token |
Modelos locales
Command |
Description |
garak --model-type ggml --model-name path/to/model.bin |
Test GGML model |
garak --model-type llamacpp --model-name path/to/model.gguf |
Test llama.cpp model |
Pruebas de lotes
Command |
Description |
garak --model-list models.txt |
Test multiple models from file |
garak --probe-list probes.txt |
Run multiple probes from file |
garak --generations 10 |
Set number of generations per probe |
garak --seed 42 |
Set random seed for reproducibility |
Corrientes de trabajo de pruebas de seguridad
Escáneos de Seguridad Integral
Command |
Description |
garak --model-type openai --model-name gpt-4 --probes encoding,malwaregen,promptinject --generations 20 |
Full security probe suite |
Pruebas de sesgo y equidad
Command |
Description |
garak --model-type huggingface --model-name microsoft/DialoGPT-medium --probes bias,toxicity,hate --detectors specialwords |
Bias testing suite |
Pruebas de privacidad de datos
Command |
Description |
garak --model-type openai --model-name gpt-3.5-turbo --probes leakage --detectors pii |
Privacy testing suite |
Archivos de configuración
Config básico (config.yaml)
model:
type: openai
name: gpt-3.5-turbo
temperature: 0.7
max_tokens: 150
probes:
- encoding
- promptinject
- malwaregen
detectors:
- always.Pass
- mitigation.MitigationBypass
output:
directory: results/
format: json
prefix: garak_test_
Configuración avanzada
parallel_requests: 5
generations: 10
seed: 42
log_level: INFO
model:
type: huggingface
name: microsoft/DialoGPT-medium
device: cuda
batch_size: 4
probe_options:
encoding.InjectBase64:
payload_count: 50
promptinject.AttackPrompt:
attack_types: ["jailbreak", "roleplay"]
Solución de problemas
Command |
Description |
garak --check-models |
Verify model connectivity |
garak --dry-run |
Test configuration without running probes |
garak --debug |
Enable debug mode |
garak --list-model-types |
Show supported model types |
pip install garak[dev] |
Install with development dependencies |
Integración con CI/CD
Command |
Description |
garak --model-type openai --model-name gpt-3.5-turbo --probes security --exit-on-fail |
Fail CI on security issues |
garak --config ci_config.yaml --report-format json > results.json |
Generate CI-friendly output |
Buenas prácticas
- Modelos de prueba siempre antes del despliegue de producción
- Utilice múltiples categorías de sonda para pruebas integrales
- Establecer los recuentos de generación apropiados para significación estadística
- Configuración adecuada Límites de la tasa de API para evitar tropezar
- Claves de API sensibles como variables ambientales
- Revisar y analizar los informes generados a fondo
- Realizar pruebas continuas en las tuberías de desarrollo
- Documentos y seguimiento de los resultados de las pruebas de seguridad con el tiempo