Содержание статьи
Процесс тестирования ИИ больше похож на социальную инженерию, чем на технический взлом. Как телефонный мошенник убеждает жертву перевести деньги на «безопасный счет», так и хакер убеждает нейросеть «безопасно» показать секретные данные.
Автоматизация в таких условиях должна быть построена тонко. Пришлось хорошенько покопаться, чтобы найти достойные инструменты. Кроме эффективности, я ориентировался еще на два требования: инструмент должен быть бесплатным, в том числе работать без подписок на нейросети; требования к ресурсам компьютера должны быть минимальными. Не все сидят на топовом железе и могут свободно запускать несколько нейросетей — одну для теста, еще одну или несколько для атак.
warning
Статья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону.
Тестовые среды
Какой смысл в тулзах, если их нельзя сразу использовать? Я подготовил несколько вариантов тестового стенда, которые ты сможешь развернуть прямо на своей машине.
Для тестов в статье будем использовать интерактивную песочницу DVAIA. Приложение похоже на DVWA, но специально создано для обучения атакам на LLM- и RAG-системы. Оно рассчитано на ручное тестирование, но какая, в сущности, разница?
info
RAG (Retrieval-Augmented Generation, «генерация, дополненная поиском») — это технология, улучшающая ответы LLM (языковых моделей) за счет предоставления им актуальных внешних данных. Система ищет релевантную информацию в базе знаний (документах, базах данных) и подставляет ее в запрос модели, что повышает точность и снижает количество галлюцинаций.
DVAIA базируется на Ollama, работает локально, нет нужды подключать какие‑то API. Но тебе потребуется современный процессор, который поддерживает инструкции AVX2. Оперативной памяти — минимум 8 Гбайт, но лучше 16 Гбайт. Понадобится и место на диске. Ну а наличие GPU значительно ускорит работу. Чем хуже твои железяки, тем медленнее работает нейронка и тем больше времени нужно на каждый тест.
Плюс этой лабы — в разнообразном наборе уязвимостей. Есть классическая инъекция промпта для отработки джейлбрейков и попыток поднять привилегии. Секция Document Injection нужна, чтобы ты поработал над своим навыком атак через загрузку файлов: PDF, DOCX, изображений с OCR. В Web Injection можешь подложить вредоносный URL. Пробуй RAG и инъекцию через шаблоны. Коротко — полноценная среда для апа навыков.
Установка и запуск DVAIA:
git clone https://github.com/genbounty/DVAIA.git
cd DVAIA
sudo ./run-docker.sh
Дождись сообщения success.

Уязвимое приложение доступно по адресу http://. Открой его в браузере, и увидишь полноценное веб‑приложение, написанное на Flask. Уязвимости разбиты по типам, переключение — через левое меню.

Есть и другие лабы и модели, направленные на обучение пентесту ИИ. Если только вкатываешься в тестирование LLM, есть небольшой набор лаб на PortSwigger. На сегодня их всего четыре, но, пройдя их, получишь базовые навыки.
DVLA
Попрактиковаться в атаках на чат‑бота можешь в Damn Vulnerable LLM Agent. Подобный проект использовался как CTF на конференции BSides London 2023. Он построен на архитектуре ReAct (Reasoning + Acting). Запускать лабу можешь как с подключением к OpenAI, так и с моделями с Hugging Face или локально с Ollama. Для работы с OpenAI или HF в файл . пропиши актуальные ключи API.
Перед установкой лабы разверни Ollama. Учти, что для DVAIA ты устанавливал все в виртуальном окружении. DVLA работает в своем виртуальном окружении. Поэтому придется установить Ollama снова.
git clone https://github.com/ReversecLabs/damn-vulnerable-llm-agent.git
cd damn-vulnerable-llm-agent/
python3 -m venv envsource env/bin/activate
# Виртуальное окружение создано и активировано, установи Ollamacurl -fsSL https://ollama.com/install.sh | sh
# Проверь версиюollama --versionollama pull mistral-nemo
cp .env.ollama.template .env
vim .env
В . поправь:
model_name="ollama-mistral-nemo"OLLAMA_HOST=http://localhost:11434
Продолжи установку лабы:
pip install -r requirements.txt
pip install python-dotenv
Запуск лабы:
python -m streamlit run main.py
Скрипт спросит email — введи любой. Приложение автоматически откроется в браузере.

Folly
Неплохой вариант для тренировки навыков — Folly. Это инструмент для тестирования устойчивости LLM к инъекциям промптов и джейлбрейкам. Он построен вокруг библиотеки заданий, вроде «извлечь секрет SECRET123».
К Folly подключается любая модель — напрямую или через API. Собственной LLM нет. Берешь и тестируешь реальную живую модель, пытаешься ее взломать. Для этого у Folly есть свой UI в вебе, CLI и API. Например, старенькая Llama подойдет идеально.
Установка:
git clone https://github.com/user1342/folly.git
cd folly
pip install -e .Garak
Это опенсорсный фреймворк, разработанный в Nvidia. В арсенале Garak более 50 классов атак (prompt injection, jailbreak, hallucination, toxicity и прочие), включающих более 160 проб. Много детекторов для оценки успешности атаки. При тестировании применяются многократные запросы, что позволяет убедиться в надежности обнаруженной уязвимости.
Продолжение доступно только участникам
Материалы из последних выпусков становятся доступны по отдельности только через два месяца после публикации. Чтобы продолжить чтение, необходимо стать участником сообщества «Xakep.ru».
Присоединяйся к сообществу «Xakep.ru»!
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
