# Adversarial rule and privacy enforcement - **Status:** `complete` - **Outcome:** `pass` - **Started:** 2026-07-25 - **Updated:** 2026-07-25 - **Research ID:** `2026-07-25-adversarial-rules-privacy` ## Проверяемый вопрос Отклоняет ли kernel невозможные, повторные, конкурентные и инъекционные команды без mutation и без раскрытия private state? ## Почему решение нужно сейчас Happy-path demo не доказывает, что LLM или игрок не обойдут правила и visibility. ## Scope - Все adversarial категории из session brief. - Property-based проверки invariants. - Idempotency, optimistic concurrency и split-party leakage. ## Non-goals - Network penetration testing. - Prompt-safety quality реальных providers. - Production authorization service. ## Критерии успеха | ID | Обязательный критерий | Ожидаемое поведение | Способ проверки | |---|---|---|---| | AC-01 | Corpus покрывает перечисленные threat classes | Не менее 14 именованных категорий | corpus validation | | AC-02 | Invalid action не меняет state | invalid state transition rate = 0 | adversarial suite | | AC-03 | Private facts не покидают разрешённую projection | private leakage rate = 0 | adversarial suite | | AC-04 | Duplicate/concurrent commit безопасен | duplicate commits = 0; stale version rejected | adversarial suite | | AC-05 | Generated invalid targets безопасны | 200 deterministic runs с seed `20260725` | property test | 2026-07-25: root `test:technical` позже расширили тестами независимых исследований. Для evidence сохранён точный central vertical-slice test glob; критерии и пороги не менялись. ## Рабочие гипотезы - **Hypothesis H-01:** schema + semantic rules + optimistic concurrency + projection-by-construction сохранят invariants независимо от model text. ## Материалы - [Исследование и evidence log](RESEARCH.md) - [Техническое решение и запуск](SOLUTION.md) - [Проверка и итог](VALIDATION.md) - [`prototype/`](prototype/) ## Итог **Да, для зафиксированного corpus и generated properties.** Fresh wrapper run: - corpus version `1.0.0`: 16 cases и 16 уникальных threat categories; - 0 failed cases, invalid state transition rate `0`, private leakage rate `0`; - duplicate commit count `0`, включая stale concurrent command; - 200 generated invalid-target cases и 200 generated replay sequences с fixed seed `20260725` прошли. Evidence: `E-005`–`E-011` в `RESEARCH.md` и AC table в `VALIDATION.md`. Финальный `npm run check` прошёл; status `complete`. ## Ограничения Локальный corpus и генераторы — regression floor, не доказательство полноты threat model, network/auth/storage security или поведения real-model input. ## Следующее решение Принять corpus + fixed-seed property checks как обязательный regression gate. Расширять его каждым подтверждённым контрпримером из STT, provider, network, storage и multiplayer testing.