AI policy and validation loop
Research-схема: модель предлагает, policy решает, детерминированный validator доказывает, а отчёт фиксирует только проверенные факты.
Коротко: AI полезен как двигатель гипотез и критик отчёта. Он становится опасным, когда контент цели может управлять исполнением или когда уверенность модели принимают за доказательство.

Проблема

Исследования угроз 2026 года показывают переход от единичных AI-экспериментов к повторяемым рабочим процессам: анализу уязвимостей, подготовке initial access, фишинговым операциям и ускоренному масштабированию. Главный сигнал здесь — скорость, а не научная фантастика.

Защитная платформа проигрывает, если отправляет каждый сигнал сканера в LLM и публикует её ответ. Такая архитектура умножает false positives, раскрывает контекст и даёт prompt injection путь к control plane.

Рабочая модель контроля

  • Observe: собрать redacted fact pack из inventory, traces, ролей и состояния инструментов.
  • Hypothesize: дать модели ранжировать следующие проверки и явно указать prerequisites.
  • Policy: сопоставить каждое предложение с allowlisted-техникой, scope, request budget и action class.
  • Validate: применить детерминированный verifier и сохранить redacted evidence с digest.
  • Reflect: использовать отклонённые гипотезы, tool failures и QA feedback для ranking, но не для самовольной правки policy.

Безопасный пример кода

Минимальная policy-граница для плана модели. Модель выбирает идентификатор, фактическим действием управляет доверенный код.

ALLOWED = {
    "web.baseline": {"class": "A1", "max_requests": 1},
    "tls.certificate": {"class": "A1", "max_requests": 1},
    "business.workflow_inventory": {"class": "A0", "max_requests": 0},
}

def authorize(action: dict, context: dict) -> tuple[bool, str]:
    technique = ALLOWED.get(action.get("technique_id"))
    if not technique:
        return False, "unknown technique"
    if action.get("target") not in context["signed_scope"]:
        return False, "outside signed scope"
    if technique["class"] not in context["allowed_classes"]:
        return False, "action class not authorized"
    if technique["max_requests"] > context["remaining_requests"]:
        return False, "request budget exhausted"
    return True, "authorized by policy"

Что обязан показать зрелый отчёт

  • Какие выводы являются confirmed findings, какие — hypotheses, а какие — coverage gaps.
  • Evidence identifier, validator result, affected asset и воспроизводимый критерий ретеста.
  • Что именно сделал AI: приоритизация, attack-path hypothesis или critique отчёта, но не выдуманное доказательство.
  • Как при отказе AI система безопасно переходит к deterministic checks, а не теряет весь assurance.
Этическая рамка: Материал описывает контролируемую и согласованную defensive-валидацию. Здесь нет exploit payload, persistence, кражи credentials и разрушительных действий.