Корпоративный RAG-чат на своём inference (LiteLLM, vLLM, on-prem API) даёт контроль над данными, но не снимает риски OWASP Top-10 for LLM. Ниже — практический чеклист для команд DevOps и разработки, как мы закрываем его в Adminica.
LLM01: Prompt injection
Контекст из библиотеки и загруженных файлов помечается как UNTRUSTED: модель не должна выполнять инструкции из этих блоков. Дополнительно PromptGuard режет типовые injection-паттерны (RU/EN) и лимиты размера запроса до вызова LLM. Метрика: adminica_prompt_guard_blocked_total.
LLM02: Небезопасный вывод
Постобработка ответа собирает answer_issues (пустой ответ, обрывы, ошибки). Эвристика system prompt leak ловит утечки фрагментов policy/system в текст для пользователя. Счётчики попадают в GET /api/v1/quality/report и Grafana.
LLM07: Небезопасные плагины
Загруженные файлы — только контекст, без исполнения на сервере. Для code_generation — ast.parse для Python, без exec. Отдельные лимиты частоты и модель по intent.
LLM09: Чрезмерное доверие к модели
RAG Triad: релевантность контекста, темы в ответе, groundedness по цитатам. Негативный feedback (👎) усиливает обучение на ошибках. Перед релизом прогоняйте набор эталонных вопросов (smoke или полный golden harness).
On-prem контракт
Базовый путь — api.adminica.ru, не облачный MaaS. В GET /health → features: streaming_supported, prompt_cache_supported, опционально premium_model_available. Prefix cache: логируем cached_tokens из usage в metadata ответа и Prometheus.
| Риск OWASP | Инструмент Adminica |
|---|---|
| LLM01 Injection | policy_untrusted, PromptGuard |
| LLM02 Output | answer_issues, system_prompt_leak |
| LLM09 Overreliance | эталонные кейсы RAG, Triad, 👎 feedback |
| Операции | SLO §4.15, loadtest, release checkpoint |
Практики применения
- Перед сменой модели генерации — loadtest и прогон эталонных кейсов; модель эмбеддингов не меняйте без полной переиндексации векторного хранилища.
- Любая правка системных промптов — зафиксируйте версию и прогоните golden-набор (см. quality report и манифест версий промптов).
- Включайте stream и prefix cache только после подтверждения gateway; в CI проверяйте health inference до релиза.
Итог: on-prem LLM без слоя безопасности — это тот же RAG с новым адресом API. OWASP-чеклист, метрики и golden harness делают риски видимыми до того, как их заметят пользователи.