Защитные меры и фильтрация контента
Тема дорожной карты · Большие языковые модели (LLM)
Guardrails представляют собой набор рантайм-проверок, выполняемых вокруг вызова больших языковых моделей (LLM), которые обеспечивают соблюдение строгих политик безопасности. Эти меры включают фильтрацию входных данных для предотвращения prompt injection и утечки личной информации (PII), фильтрацию выходных данных для предотвращения распространения небезопасного или нерелевантного контента, валидацию схем tool-calls, а также использование классификаторов для определения тематики и обнаружения попыток jailbreaking. В производственной среде защитные меры LLM часто сочетаются с использованием специализированных библиотек для валидации данных, таких как Guardrails AI и NeMo Guardrails. Эти инструменты помогают убедиться, что каждый вызов модели проходит через несколько уровней проверки, что позволяет минимизировать риск эксплуатации уязвимостей модели.
Как это работает
Защитные меры и фильтрация контента включают в себя различные механизмы, такие как валидация входных данных, фильтрация выходных данных, границы system-промпта, capability-изоляция, аудит логов, red-teaming и различные уровни привилегий между пользовательским вводом и инструкциями. Эти меры помогают предотвратить атаки, такие как prompt injection (попытка вставить в user-input инструкции, которые заставят LLM выполнить определенные действия), data exfiltration через output (попытка обмануть модель для выдачи секретных данных), jailbreaks (обход системы безопасности), training data poisoning (отравление данных обучения) и supply chain (компрометация весов модели или вредоносных инструментов). Среди наиболее эффективных защитных мер можно выделить использование валидаторов входных данных, фильтров для выходных данных, границ для system-промпта, capability-изоляции, аудита логов и red-teaming.
Когда применять
Защитные меры и фильтрация контента следует применять с самого начала работы с LLM. Это означает, что каждый вызов модели должен проходить через систему проверок безопасности, где пользовательский ввод и выходные данные модели проходят через границу безопасности. Следует использовать OWASP LLM Top 10 как чек-лист для обеспечения безопасности. Важно санитизировать tool-input, так как LLM может сгенерировать вредоносные команды, такие как ; DROP TABLE users;. Для обеспечения безопасности рекомендуется использовать различные LLM для контекстов "untrusted user" и "trusted system", где это необходимо. Также следует red-team ваш продукт до запуска, чтобы выявить и устранить возможные уязвимости.
Типичные ошибки
Типичные ошибки при использовании защитных мер и фильтрации контента включают доверие system-промпту, которое может быть перебит пользовательским вводом ("ignore previous instructions" иногда работает). Другая распространенная ошибка — это предоставление LLM доступа к вашим секретам в контексте, что может привести к утечке данных. Также стоит избегать ситуации, когда агенты пишут в базу данных без подтверждения, что может привести к later movement. Наконец, важно логировать LLM I/O для дальнейшего расследования инцидентов.