NVIDIA Garak: инструмент с открытым исходным кодом для обнаружения уязвимостей LLM и обеспечения безопасности генеративного ИИ
Общее введение
NVIDIA Garak - это инструмент с открытым исходным кодом, специально разработанный для обнаружения уязвимостей в больших языковых моделях (LLM). Он проверяет модель на наличие множества слабых мест, таких как иллюзии, утечка данных, внедрение подсказок, генерация сообщений об ошибках, генерация вредоносного содержимого и т.д. с помощью статического, динамического и адаптивного зондирования. Garak похож на nmap в области кибербезопасности, но фокусируется на оценке безопасности LLM.
Сопутствующие инструменты: https://github.com/msoedov/agentic_security

Список функций
- проверка на уязвимость: Обнаруживает различные потенциальные уязвимости в LLM, включая фантомы, утечки данных, инъекции подсказок и т.д.
- Оценка генеративного ИИ: Оценка производительности генеративных моделей ИИ в различных контекстах.
- Тестирование диалоговой системы: Протестируйте реакцию диалоговой системы при различных входных сигналах, чтобы выявить потенциальные проблемы безопасности.
- Поддержка нескольких моделей: Поддерживает Hugging Face, OpenAI, Replicate и другие генеративные модели.
- инструмент командной строки: Работает из командной строки и доступен для систем Linux и OSX.
- Ведение журнала: Подробные записи процесса и результатов сканирования для последующего анализа и улучшения.
Использование помощи
Процесс установки
- Стандартная установка::
- Установите из PyPI с помощью pip:
python -m pip install -U garak
- Установите из PyPI с помощью pip:
- Установка версии для разработчиков::
- Получите последнюю версию с GitHub:
python -m pip install -U git+https://github.com/NVIDIA/garak.git@main
- Получите последнюю версию с GitHub:
- Клонирование из источника::
- Создайте окружение Conda и установите зависимости:
conda create --name garak "python>=3.10,<3.12" conda activate garak gh repo clone NVIDIA/garak cd garak python -m pip install -e .
- Создайте окружение Conda и установите зависимости:
Использование
- основное использование::
- Гараку необходимо знать, какую модель сканировать, и по умолчанию он выбирает все известные зонды для этой модели. Чтобы просмотреть список зондов, выполните следующую команду:
garak --list_probes
- Указывает тип генератора и название модели:
garak --model_type huggingface --model_name RWKV/rwkv-4-169m-pile
- Запустите определенный зонд:
garak --model_type openai --model_name gpt-3.5-turbo --probes encoding
- Гараку необходимо знать, какую модель сканировать, и по умолчанию он выбирает все известные зонды для этой модели. Чтобы просмотреть список зондов, выполните следующую команду:
- Прочитать результаты::
- По завершении каждой попытки Garak выдает индикатор выполнения и выводит результаты оценки по завершении. Если в результате попыток пробника было обнаружено плохое поведение, ответ помечается как FAIL и указывается процент неудач.
- Журналы и отчеты::
- Ошибки записываются в файл garak.log, а подробности выполнения - в файл .jsonl. Его можно проанализировать с помощью скрипта analyse/analyse_log.py.
- типичный пример::
- зондирование ChatGPT Уязвимость к атакам с внедрением кода:
export OPENAI_API_KEY="sk-123XXXXXXXXXXXX" python3 -m garak --model_type openai --model_name gpt-3.5-turbo --probes encoding
- зондирование ChatGPT Уязвимость к атакам с внедрением кода:
- Разработка плагинов::
- Наследуйте базовый класс и переопределите необходимые методы, чтобы протестировать новый код:
import garak.probes.mymodule p = garak.probes.mymodule.MyProbe() python3 -m garak -m test.Blank -p mymodule -d always.Pass
- Наследуйте базовый класс и переопределите необходимые методы, чтобы протестировать новый код:
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...