# INUM — модель угроз первого выпуска

20 сентября 2026 · Объекты защиты: исходные данные, полномочия, версии расчётов, решения, история событий, доступность вычислений. Локальный стенд содержит вымышленные примеры. Таблица описывает реализованные механизмы и оставшиеся задачи, а не сертификат защищённости.

| Угроза | Реализованная граница | Остаток / промышленная мера |
|---|---|---|
| Подмена организации или роли в запросе | Идентичность извлекается по проверенному ключу; клиентские поля не повышают права | Корпоративный IdP, MFA, независимая процедура выдачи прав |
| Чтение карточки по чужому UUID | FORCE RLS, транзакционный tenant context, проверка допуска; единый 404 | Отдельные БД/ключи/развёртывания для особых контуров |
| Компрометация общей роли приложения | Минимальные SQL-привилегии, параметризованные запросы | Общая роль может менять tenant context; сетевые границы и выделение владельцев обязательны при высоких требованиях |
| Незаметное изменение прогноза | Версии и наблюдения только добавляются; UPDATE/DELETE запрещены роли приложения; конфликт версии | Независимое подписание артефактов и внешние якоря истории |
| Злоупотребление утверждением | Автор текущей организационной версии не утверждает её; пересмотр возвращает в черновик | Политика разделения обязанностей, подтверждение значимых действий, коллегиальные мандаты |
| Кража API-ключа из серверной сессии | В браузер передаётся отдельный часовой session handle, исходный API-ключ не входит в LiveView session | Аппаратные ключи/SSO, привязка и отзыв устройств, ротация |
| CSRF / подмена WebSocket origin | CSRF-токены, SameSite, проверка origin, серверная аутентификация каждого события | TLS, строгий CSP, аудит интерфейса и доверенного прокси |
| Отозванный/истёкший доступ | Проверяется при каждом API-запросе и событии; выход отзывает browser session | Операционный регламент немедленного отзыва и завершения сессий |
| Prompt injection в карточке | Данные отделены от инструкций; нет инструментов записи/SQL/URL; проверка допуска до контекста | Набор атакующих примеров, независимые оценки, отсутствие доверия к самому ответу |
| Подмена цели или устаревшая версия запроса ИИ | Закрытый перечень целей; обязательная ожидаемая версия; сверка версии после вычисления; серверные сведения о происхождении ответа | Семантическая проверка текста; цели и основания обработки конкретного заказчика |
| Выдуманные ссылки в ответе ИИ | Допускается только точный идентификатор переданной версии карточки | Проверка семантической обоснованности человеком; ссылка не доказывает истинность |
| Утечка во внешний ИИ | Непубличная информация запрещена внешней политикой; адаптер только loopback; cloud-режим Ollama отключён | Сетевая egress-политика; эксплуатационная проверка конфигурации и поставщика |
| Обход ACL через поиск | В текущей реализации передаётся только явно доступная карточка; общего поиска нет | ACL до retrieval, отдельные индексы и кеши, удаление отозванных документов |
| Вредоносный импорт / SQL | Нет публичной загрузки; локальный CLI; фиксированные операции; расширения DuckDB не устанавливаются автоматически | Карантин, антивирус, проверка архивов, лимиты распаковки и потоков, sandbox исполнителя |
| Подмена позиции реестра / перебор больших страниц | Шифрованный переход на 15 минут, привязка tenant/actor/role/clearance, проверка допуска и RLS на каждой странице, лимит 100 | Нагрузочные испытания большого реестра и пагинация истории одной карточки |
| Перегрузка ИИ / API | Лимит тела, частоты и ответа; время вызова; один вызов LLM на узел; 32 незавершённых расчёта и 1000 запусков/24 ч на организацию | Общие ресурсные бюджеты, gateway limiter, бюджеты стоимости, мониторинг очередей |
| Подмена результата Python | Loopback, внутренний bearer-ключ, проверка контракта и совпадения учебной модели | mTLS, подписанные образы, закреплённые версии модели, независимые эталоны |
| Потеря данных | Проверенный локальный dump→restore в отдельную новую БД | PITR, шифрованные внешние копии, off-site восстановление и измеренные RPO/RTO |
| Утечка из логов и резервных копий | Фильтрация параметров, SQL-лог выключен, аудит без сырых обоснований; локальные файлы с ограниченными правами | Централизованное управление секретами и ключами; DLP журналов; сроки хранения |
| Контроль администратора БД | Разделение ролей приложения/владельца; хэш-цепь событий | Администратор остаётся доверенной стороной до внедрения внешнего подписания/WORM и независимого контроля |

## Границы тестов

Проверены негативные случаи идентификаторов, ролей, допуска, внешней обработки, изменения версии и ссылок ИИ; серверный пользовательский цикл; базовое восстановление. Не проводились полноценный пентест, проверка цепочки поставок всех транзитивных зависимостей, сертификация, отказ целого дата-центра, доказательство конфиденциальности модели или независимый аудит отраслевого алгоритма.

## Принцип остановки

Если нельзя установить владельца, источник, допуск, версию или основание операции, система должна отказать либо потребовать отдельную проверку. Недоступность ИИ не блокирует доступ к зафиксированным данным и детерминированному сравнению.
