NVIDIA Garak: herramienta de código abierto para detectar vulnerabilidades LLM y asegurar la IA generativa
Introducción general
NVIDIA Garak es una herramienta de código abierto diseñada específicamente para detectar vulnerabilidades en Large Language Models (LLMs). Comprueba el modelo en busca de múltiples debilidades como ilusiones, fugas de datos, inyección de pistas, generación de mensajes de error, generación de contenido dañino, etc. mediante sondeos estáticos, dinámicos y adaptativos.Garak es similar a nmap en ciberseguridad pero se centra en la evaluación de la seguridad de los LLM.
Herramientas relacionadas: https://github.com/msoedov/agentic_security

Lista de funciones
- exploración de vulnerabilidadesDetecta una variedad de vulnerabilidades potenciales en LLM, incluyendo phantom, fuga de datos, inyección de pistas, etc.
- Evaluación de la IA GenerativaEvaluación del rendimiento de los modelos de IA generativa en diferentes contextos.
- Pruebas del sistema de diálogoPrueba la respuesta del sistema de diálogo a diferentes entradas para identificar posibles problemas de seguridad.
- Compatibilidad con varios modelosCompatible con Hugging Face, OpenAI, Replicate y otros modelos generativos.
- herramienta de línea de comandos: Funciona desde la línea de comandos y está disponible para sistemas Linux y OSX.
- RegistroRegistros detallados del proceso de escaneado y de los resultados para su posterior análisis y mejora.
Utilizar la ayuda
Proceso de instalación
- Instalación estándar::
- Instalar desde PyPI usando pip:
python -m pip install -U garak
- Instalar desde PyPI usando pip:
- Instalación de la versión de desarrollo::
- Consigue la última versión en GitHub:
python -m pip install -U git+https://github.com/NVIDIA/garak.git@main
- Consigue la última versión en GitHub:
- Clonación desde el origen::
- Crea un entorno Conda e instala las dependencias:
conda create --name garak "python>=3.10,<3.12" conda activate garak gh repo clone NVIDIA/garak cd garak python -m pip install -e .
- Crea un entorno Conda e instala las dependencias:
Utilización
- uso básico::
- Garak necesita saber qué modelo escanear y por defecto todas las sondas conocidas para ese modelo. Utilice el siguiente comando para ver la lista de sondas:
garak --list_probes
- Especifica el tipo de generador y el nombre del modelo:
garak --model_type huggingface --model_name RWKV/rwkv-4-169m-pile
- Ejecuta una sonda específica:
garak --model_type openai --model_name gpt-3.5-turbo --probes encoding
- Garak necesita saber qué modelo escanear y por defecto todas las sondas conocidas para ese modelo. Utilice el siguiente comando para ver la lista de sondas:
- Leer los resultados::
- Al finalizar cada sondeo, Garak genera una barra de progreso y emite los resultados de la evaluación al finalizar. Si alguno de los intentos de sondeo da como resultado un mal comportamiento, la respuesta se marca como FAIL y se indica el porcentaje de fallos.
- Registros e informes::
- Los errores se registran en el archivo garak.log y los detalles del tiempo de ejecución se registran en el archivo .jsonl. Esto se puede analizar utilizando el script analyse/analyse_log.py.
- ejemplo típico::
- detección ChatGPT Vulnerabilidad a ataques de inyección de código:
export OPENAI_API_KEY="sk-123XXXXXXXXXXXX" python3 -m garak --model_type openai --model_name gpt-3.5-turbo --probes encoding
- detección ChatGPT Vulnerabilidad a ataques de inyección de código:
- Desarrollo de plug-ins::
- Hereda la clase base y anula los métodos necesarios para probar el nuevo código:
import garak.probes.mymodule p = garak.probes.mymodule.MyProbe() python3 -m garak -m test.Blank -p mymodule -d always.Pass
- Hereda la clase base y anula los métodos necesarios para probar el nuevo código:
© declaración de copyright
El artículo está protegido por derechos de autor y no debe reproducirse sin autorización.
Artículos relacionados
Sin comentarios...