
Защита ИИ для production с 7-уровневой защитой: математические ограничения, доступ на основе object-capability, распределённый консенсус O2, этика SVETILO. Первая open-source защита от ThoughtVirus. BSL 1.1.
Исследовательский прототип многоуровневой ИИ-защиты: объяснимость C4, ансамблевые классификаторы, деобфускация, движок безопасности O₂, защита ThoughtVirus и ценностное выравнивание SVETILO. Уровень Alpha — внутренняя валидация пройдена, внешний аудит ожидается.
Версия: 1.0.0-alpha | Статус: исследовательский прототип | Лицензия: BSL 1.1 (бесплатно вне продакшена; продакшен → коммерческая)
Автор: И.Г. Селютин. Соавтор модели C4-META: Н.И. Ковалев.
Идентичность продукта (2026-08): BSL-исследовательский / коммерчески-углублённый прототип более тяжёлого многоуровневого стека защиты C4 (ансамбль, каркас O₂, red-team лаборатория), построенный на Apache-2.0c4protocol.
Не второй открытый протокол. Не сертифицированная продакшен-защита AGI. Не «v8 FINAL».
Аудит честности:docs/AUDIT-c4-meta-system-2026-08.md.
Путь продвижения:docs/PROMOTE-FROM-PROTOCOL.md(потреблять/пинитьc4protocol; без выгрузки ансамбля в тонкий SDK).
GitLab Pages =public/(EN +public/ru/). Подтверждение открытого рантайма:make conformanceв c4protocol.
C4-META System — это исследовательский прототип многоуровневой ИИ-защиты, реализующий:
Input Sanitization → Semantic Analysis → Behavioral Analysis → Meta-Observer (O₂)
value_verification.py (не обученная модель этики)┌──────────────────────────────────────────────┐
│ LAYER 1: Input Sanitization │
│ Deobfuscation (homoglyphs, leetspeak, etc.) │
├──────────────────────────────────────────────┤
│ LAYER 2: Semantic Analysis │
│ 4-Classifier Ensemble: ONNX_BERT (~50ms) │
│ + RuleBased + Heuristic + LLM_SEMANTIC │
│ Dual classifier OR-logic (BERT+RuleBased) │
├──────────────────────────────────────────────┤
│ LAYER 3: Behavioral Analysis │
│ 16 AoC Defense Modules (11 original + 5 │
│ extended), Pattern matching, Trajectory │
│ anomaly detection, ThoughtVirus defense │
├──────────────────────────────────────────────┤
│ LAYER 4: Meta-Observer (O₂) │
│ Transfer entropy, BFT consensus, │
│ semantic entanglement, causal graphs, │
│ Kill-Switch, SVETILO value verification │
├──────────────────────────────────────────────┤
│ C4 Core Engine (Z₃³) │
│ pipeline_orchestrator.py, event_bus.py │
│ c4_meta_monitor.py — self-awareness deque │
├──────────────────────────────────────────────┤
│ Defenses: Anti-Deadlock, Anti-Emergence, │
│ Anti-Hijack, Circuit Breaker, O₂ Kill-Switch│
├──────────────────────────────────────────────┤
│ Red Team Lab: AOC scenarios, experiment │
│ runner, LLM client, adapters │
├──────────────────────────────────────────────┤
│ Routing: Smart Router, Quarantine, │
│ Antifragile Scoring (capped growth) │
└──────────────────────────────────────────────┘
Голосование 4 классификаторов:
OR-логика двойного классификатора: BERT + RuleBased работают как основной шлюз с OR-фолбэком — если любой из них помечает входные данные, они передаются на уровни защиты. Ни один классификатор не является узким местом.
c4-meta-system/
├── v4_1/
│ ├── core/
│ │ ├── pipeline.py # Main entry points (re-exports)
│ │ ├── __main__.py # HTTP server entrypoint for Docker
│ │ ├── pipeline_stages.py # Individual processing stages
│ │ ├── pipeline_orchestrator.py # Main orchestration (thread-safe)
│ │ ├── result_factory.py # Standardized C4v4Result factory
│ │ ├── event_bus.py # Organic event bus (atexit cleanup)
│ │ └── c4_meta_monitor.py # Z³ self-awareness (deque bounded)
│ ├── security/
│ │ ├── o2_engine.py # O₂ defense (kill-switch self-DoS fixed)
│ │ ├── explainable_o2.py # O₂ explainability (sampling inverted)
│ │ ├── o2_shared.py # Window structures (@mention comms)
│ │ ├── semantic_detector.py # Concept graphs (normalized entanglement)
│ │ ├── secure_debug_endpoints.py # Debug endpoints (UTC + rate limits)
│ │ ├── hardening.py # Model signing / admin token verification
│ │ ├── behavioral_profiler.py # Drift detection (thread-safe singleton)
│ │ ├── distributed_o2.py # SQLite/Redis backend (BEGIN IMMEDIATE)
│ │ ├── swarm_orchestrator.py # Anti-virus swarm
│ │ └── ...
│ ├── defenses/
│ │ ├── anti_deadlock.py # Resource deadlock prevention
│ │ ├── anti_emergence.py # State convergence (async release fixed)
│ │ └── ...
│ ├── redteam/
│ │ ├── orchestrator.py # Main orchestrator (target_callback parsing)
│ │ ├── scenario_manager.py # AOC scenarios management
│ │ ├── adapters/ # LLM backend adapters
│ │ ├── experiment_executor.py # Async execution (FPR logic fixed)
│ │ ├── experiment_services.py # Service locator
│ │ ├── experiment_runner.py # Web UI + REST API
│ │ ├── llm_client.py # Async-safe LLM client (empty choices guarded)
│ │ └── ...
│ ├── classifiers/ # 4-classifier ensemble
│ ├── config/ # Configuration management
│ ├── access/ # Access control
│ ├── explainability/ # C4 explainability
│ ├── learning/ # Learning loop
│ ├── plugins/ # Plugin system
│ ├── quarantine/ # Quarantine management
│ ├── router/ # Smart routing
│ ├── scoring/ # Antifragile scoring
│ └── tests/ # 240 tests (19 test files)
├── formal/ # TLA+ specifications
├── models/ # ONNX model + tokenizer
├── archive/Dockerfile.prepared # Multi-stage production build (archived)
├── Dockerfile.distroless # Distroless-ready builder pattern
├── archive/docker-compose.yml.prepared # Full stack (Ollama + UI + Monitoring) (archived)
├── .dockerignore # Security-hardened exclusion list
├── infra/k8s/ # Kubernetes manifests (hardened)
└── README.md # This file
Система полностью подготовлена к контейнеризации с конфигурацией, учитывающей окружение.
# Full stack (C4-META + Ollama + UI)
docker compose --profile experiment up -d
# Build image
docker build -t c4-meta-system -f archive/Dockerfile.prepared .
# Run with local Ollama
OLLAMA_BASE_URL=http://host.docker.internal:11434 docker run -p 8080:8080 c4-meta-system
# Red Team runner
docker build -t c4-redteam -f redteam/Dockerfile.redteam.prepared .
docker run -p 8081:8081 c4-redteam
GET /health на порту 8080GET /health на порту 8081pip install -r requirements.txt
# Optional Docker deps
pip install -r requirements-docker.txt
python -m v4_1.core
# or explicitly
python -m v4_1.core.__main__
python -m v4_1.redteam.experiment_runner --web --port 8080
o2_engine.py больше не блокирует весь трафик, когда O2 отключён.ThreadPoolExecutor теперь очищается через atexit; асинхронные колбэки используют run_coroutine_threadsafe().explainable_o2.py теперь корректно сэмплирует долю sample_rate вместо 1 - sample_rate.o2_shared.py записывает только явные упоминания @agent вместо полностью связной клики.semantic_detector.py нормализует количество концептов перед сравнением с порогом.blocked/ из ответов защиты вместо предположения, что успех = блокировка.Полные результаты бенчмарков по 4 наборам данных и 2000 adversarial-вариантам из конвейера защиты C4.
См. c4protocol/BENCHMARK_RESULTS.md для полного отчёта.
Примечание: Распределённый O₂ требует Redis-кластер для продакшена. Для разработки доступен одноузловой режим (см. руководство по развёртыванию).
Защита C4-META сильна — но ни одна система не идеальна. Если вы найдёте промпт, который обходит ансамблевый классификатор, модули защиты AoC или движок O₂, мы хотим об этом знать.
Сообщить об обходах:
Что нам нужно: обходящий промпт, ожидаемый ответ и какой уровень защиты не сработал. Мы отмечаем всех сообщивших в нашем зале славы безопасности.
C4-META v1.0.0-alpha — исследовательский прототип многоуровневой ИИ-защиты. Внутренняя валидация завершена. Внешний аудит ожидается.
quarantinedaccess/capabilities.py, и security/hardening.py поддерживают bcrypt и SHA256.ModelIntegrityVerifier вызывает RuntimeError, если C4_MODEL_SIGNING_KEY не задан.explainable_o2.py (больше не блокирует поток event-loop).distributed_o2.py исправлен, чтобы реально обеспечивать Redis URL только для localhost._active_threat в process_message() теперь защищено блокировкой.save_to_file / load_from_file теперь разрешают пути относительно безопасной базовой директории вместо некорректной проверки префикса.phase3.py всегда хеширует оба операнда, устраняя тайминговый побочный канал из ветки длины.experiment_reporter, decision_logger, orchestrator, experiment_runner и hardening.py используют временный файл + атомарное переименование.archive/Dockerfile.prepared теперь явно создаёт пользователя/группу с UID/GID 1000, соответствуя K8s runAsUser.deployment.yaml ссылается на Secret c4-meta-api-keys для инъекции API-ключей; пример манифеста добавлен в secrets.yaml.disable() и reenable() требуют хеш CIRCUIT_BREAKER_AUTH_TOKEN.vote_debug() проверяет C4_ADMIN_TOKEN_HASH сравнением за константное время.SentimentExtractor больше не дедуплицирует слова; ComplexityExtractor ограничивает значения диапазоном [0, 1]._goal_history; OmegaPrioritizer использует deque(maxlen=1000) для вытеснения за O(1).ConvergenceMonitor и PhiAttractorCalculator.o2_shared.py использует datetime.now(timezone.utc) вместо наивных datetime._regenerate_session.{"status": "simulated"}._active_threat теперь очищается, когда анализ окна безопасен; больше не остаётся постоянно залипшим после первого обнаружения.vote_result.is_dangerous=True теперь возвращает результат блокировки вместо прохождения до ALLOW.anon_anonymous.get_access_controller() теперь использует блокировку с двойной проверкой для предотвращения гонки при инициализации.get_learning_loop() теперь использует блокировку с двойной проверкой для предотвращения гонки при инициализации.pending_operations и approved_operations защищены threading.Lock.pending защищён threading.Lock./v1/chat/completions вместо голого /chat/completions.time.monotonic() вместо time.time() для предотвращения отрицательной задержки при корректировках NTP.asyncio.get_event_loop()._last_result в _analyze_window() теперь защищена блокировкой._compile_*_regex() теперь использует переданный параметр patterns вместо его игнорирования.filter_attack_prompt() теперь выполняет один вызов фильтра вместо двойного подсчёта статистики._get_lock() использует threading-блокировку для предотвращения гонки при создании asyncio.Lock.snapshot_cognition() сохраняет копию C4Coordinate вместо изменяемой ссылки.transition_to() копирует входящий C4Coordinate вместо хранения ссылки._save_results() проверяет обход каталогов ДО разрешения пути и гарантирует, что путь остаётся внутри базовой директории.create_session() проверяет владельца перед возвратом существующего ID сессии.retryable_exceptions изменено с (Exception,) на (ConnectionError, TimeoutError, OSError)._audit_log теперь использует deque(maxlen=10000) для предотвращения неограниченного роста.revoke_all_for_subject() использует согласованный порядок блокировок (revoked → used).verify_admin_token() передаёт consume_single_use=False, чтобы не расходовать токены при проверке.reach_consensus() теперь защищён threading.Lock.generate_random_string() использует secrets.SystemRandom() вместо random._describe_z_state() корректно обрабатывает T=-1.reset_threat_state() теперь действительно очищает manual_quarantine и аварийное состояние.unquarantine_agent() пишет в журнал только когда агент действительно был помещён в карантин.build_report() защищает пустые treatment_metrics тем же паттерном, что и control_metrics.antifragile_growth ограничен значением 1,000,000.0 для предотвращения неограниченного роста float.| Метрика | Значение |
|---|
| Уровень обнаружения adversarial-атак | 80.3% |
| Показатель устойчивости | 1.25 |
| Чистое обнаружение (AoC) | 70.9% |
| Уровень ложных срабатываний | 14.6% |
| Уровень блокировки LLM C4 | 96.7% |
| Снижение ASR GPT-4o-mini | 10.7% → 0.7% (93.2%) |
| Снижение ASR Mistral 7B | 22.5% → 0.5% (97.6%) |
| Метрика | Значение |
|---|
| Версия | 1.0.0 FINAL |
| Статус | Исследовательский прототип (внутренняя валидация завершена) |
| Тесты | 240 тестов (19 файлов с тестами) |
| Классификаторы | 4 (ONNX_BERT, RuleBased, Heuristic, LLM_SEMANTIC) |
| Уровни защиты | 4 (Очистка входных данных → Семантический → Поведенческий → Мета-наблюдатель) |
| Защиты AoC | 16 (11 оригинальных + 5 расширенных) |
| ThoughtVirus | 2-уровневая защита (regex + траектория C4) |
| SVETILO | 7 печатей интегрировано |
| Исправления ошибок | 60+ устранено в ходе раундов аудита |
| Сборка Docker | Успешно (multi-stage, distroless-ready) |
| K8s-манифесты | Готовы (усилены secretKeyRef) |
| Лицензия | BSL 1.1 |