Saltar a contenido

Garak

"Clase de la hoja"

########################################################################################################################################################################################################################################################## Copiar todos los comandos
########################################################################################################################################################################################################################################################## Generar PDF seleccionado/button

■/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

Productos y presentación de informes

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