Обновить

Сканер prompt injection без PyTorch: как я продолжил заархивированный LLM Guard и научил его находить СНИЛС

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.7K
Всего голосов 2: ↑2 и ↓0+4
Комментарии4

Комментарии 4

Хороший проект, хотелось бы увидеть ещё в планах интерфейс для подключения своих моделей категоризации инъекций и NER-моделей.
Большие компании любят добавлять свои типы чувствительных данных и встраивают в пайплайн проверки свои модели.

Спасибо, очень по делу. Часть уже работает: свой классификатор подключается через PromptInjection(model=Model(path=...)), своя NER-модель с собственными типами данных — через recognizer_conf в Anonymize и Sensitive. Но полноценного интерфейса пока нет: категории инъекций не поддерживаются, NER-модель может быть только одна и только с Hugging Face, а сервер своих моделей почти не принимает. Беру это в следующую версию (0.5.0): свои метки и категории для классификатора инъекций, подключение любых распознавателей Presidio и нескольких NER-моделей, плагины через YAML-конфиг сервера и entry points. Если у вас есть конкретный сценарий — какие модели и типы данных, библиотека или API-сервер — напишите в issues, проверю на нём.

Сейчас сканеры проверяют каждое сообщение отдельно, так что атака, разбитая на несколько сообщений, по частям может пройти. Что можно сделать уже сейчас: склеивать последние сообщения пользователя и проверять их вместе (match_type="chunks") — это ловит инструкцию, разбитую на части. Кроме того, стоит проверять ответ модели сканерами вывода: неважно, за сколько сообщений её «уговорили», результат виден в ответе.

Полноценную проверку диалога добавлю в 0.5.0: историю в формате OpenAI в API, окно из последних сообщений, накопленный риск по диалогу (против постепенного подведения к цели, когда каждое сообщение по отдельности безобидно) и отдельную проверку ответов инструментов и документов RAG. Честно скажу: полной защиты от постепенного подведения к цели классификатором нет ни у кого, поэтому здесь важна связка проверок на входе и на выходе.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации