
Defensa de IA en producción con protección de 7 capas: restricciones matemáticas, acceso por capacidades de objetos, consenso O2 distribuido, ética SVETILO. Primera defensa de código abierto contra ThoughtVirus. BSL 1.1.
Prototipo de investigación para la defensa multicapa de IA: explicabilidad C4, clasificadores ensemble, desofuscación, motor de seguridad O₂, defensa ThoughtVirus y alineación de valores SVETILO. Grado alfa: validado internamente, auditoría externa pendiente.
Versión: 1.0.0-alpha | Estado: Prototipo de investigación | Licencia: BSL 1.1 (gratuita para no producción; producción → comercial)
Autor: I.G. Selyutin. Coautor del modelo C4-META: N.I. Kovalev.
Identidad del producto (2026-08): prototipo de investigación BSL / de profundidad comercial de una pila de defensa C4 multicapa más robusta (ensemble, andamiaje O₂, laboratorio red-team) construida sobrec4protocolcon licencia Apache-2.0.
No es un segundo protocolo abierto. No es una defensa AGI certificada para producción. No es «v8 FINAL».
Auditoría de honestidad:docs/AUDIT-c4-meta-system-2026-08.md.
Ruta de promoción:docs/PROMOTE-FROM-PROTOCOL.md(consumir/fijarc4protocol; sin volcado del ensemble en el SDK ligero).
GitLab Pages =public/(EN +public/ru/). Comprobante del runtime abierto:make conformanceen c4protocol.
C4-META System es un prototipo de investigación para la defensa multicapa de IA que implementa:
Input Sanitization → Semantic Analysis → Behavioral Analysis → Meta-Observer (O₂)
value_verification.py (no es un modelo de ética entrenado)┌──────────────────────────────────────────────┐
│ 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) │
└──────────────────────────────────────────────┘
Votación de los 4 clasificadores:
Lógica OR de doble clasificador: BERT + RuleBased operan como puerta principal con respaldo OR: si cualquiera de los dos marca la entrada, esta pasa a las capas de defensa. Ningún clasificador individual es un cuello de botella.
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
El sistema está totalmente preparado para la contenerización, con configuración sensible al entorno.
# 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 en el puerto 8080GET /health en el puerto 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 ya no bloquea todo el tráfico cuando O2 está deshabilitado.ThreadPoolExecutor ahora se limpia mediante atexit; las devoluciones de llamada asíncronas usan run_coroutine_threadsafe().explainable_o2.py ahora muestrea correctamente la fracción sample_rate en lugar de 1 - sample_rate.o2_shared.py solo registra menciones explícitas @agent en lugar de un clique totalmente conectado.semantic_detector.py normaliza los recuentos de conceptos antes de la comparación con el umbral.Resultados completos de benchmark en 4 conjuntos de datos y 2000 variantes adversariales del pipeline de defensa C4.
Consulta c4protocol/BENCHMARK_RESULTS.md para ver el informe completo.
Nota: el O₂ distribuido requiere un clúster de Redis para producción. El modo de un solo nodo está disponible para desarrollo (consulta la guía de despliegue).
Las defensas de C4-META son sólidas, pero ningún sistema es perfecto. Si encuentras un prompt que evada el clasificador ensemble, los módulos de defensa AoC o el motor O₂, queremos saberlo.
Informa de las evasiones:
Lo que necesitamos: el prompt evasor, la respuesta esperada y qué capa de defensa falló. Reconocemos a todos los informantes en nuestro salón de la fama de seguridad.
C4-META v1.0.0-alpha — prototipo de investigación de defensa de IA multicapa. Validación interna completa. Auditoría externa pendiente.
blockedquarantinedaccess/capabilities.py como security/hardening.py admiten bcrypt y SHA256.ModelIntegrityVerifier lanza RuntimeError si C4_MODEL_SIGNING_KEY no está definida.explainable_o2.py (ya no bloquea el hilo del bucle de eventos).distributed_o2.py para que realmente aplique URL de Redis solo para localhost._active_threat en process_message() ahora está protegida por un bloqueo.save_to_file / load_from_file ahora resuelven contra un directorio base seguro en lugar de una comprobación de prefijo defectuosa.phase3.py siempre aplica hash a ambos operandos, eliminando el canal lateral temporal de la rama de longitud.experiment_reporter, decision_logger, orchestrator, experiment_runner y hardening.py usan archivo temporal + renombrado atómico.archive/Dockerfile.prepared ahora crea explícitamente el usuario/grupo con UID/GID 1000, en correspondencia con runAsUser de K8s.deployment.yaml referencia el Secret c4-meta-api-keys para la inyección de claves API; se añadió un manifiesto de ejemplo en secrets.yaml.disable() y reenable() requieren el hash de CIRCUIT_BREAKER_AUTH_TOKEN.vote_debug() verifica C4_ADMIN_TOKEN_HASH con comparación en tiempo constante.SentimentExtractor ya no elimina palabras duplicadas; ComplexityExtractor limita a [0, 1]._goal_history, que no se usaba; OmegaPrioritizer usa deque(maxlen=1000) para desalojo en O(1).ConvergenceMonitor y PhiAttractorCalculator.o2_shared.py usa datetime.now(timezone.utc) en lugar de fechas y horas naive._regenerate_session, que no se usaba.{"status": "simulated"}._active_threat ahora se limpia cuando el análisis de ventana es seguro; ya no queda fijado permanentemente tras la primera detección.vote_result.is_dangerous=True ahora devuelve un resultado de bloqueo en lugar de pasar directamente a ALLOW.anon_anonymous compartido.get_access_controller() ahora usa bloqueo de doble comprobación para evitar condiciones de carrera en la inicialización.get_learning_loop() ahora usa bloqueo de doble comprobación para evitar condiciones de carrera en la inicialización.pending_operations y approved_operations protegidos por threading.Lock.pending protegido por threading.Lock./v1/chat/completions en lugar del simple /chat/completions.time.monotonic() en lugar de time.time() para evitar latencia negativa en los ajustes de NTP.asyncio.get_event_loop()._last_result en _analyze_window() ahora está protegida por un bloqueo._compile_*_regex() ahora usa el parámetro de patrones recibido en lugar de ignorarlo.filter_attack_prompt() ahora hace una sola llamada de filtrado en lugar de contar las estadísticas dos veces._get_lock() usa un bloqueo de hilos para evitar la condición de carrera en la creación de asyncio.Lock.snapshot_cognition() almacena una copia de C4Coordinate en lugar de una referencia mutable.transition_to() copia el C4Coordinate entrante en lugar de conservar una referencia._save_results() comprueba el traversal ANTES de resolver y garantiza que la ruta permanezca dentro del directorio base.create_session() verifica la propiedad del usuario antes de devolver un ID de sesión existente.retryable_exceptions cambió de (Exception,) a (ConnectionError, TimeoutError, OSError)._audit_log ahora usa deque(maxlen=10000) para evitar un crecimiento sin límite.revoke_all_for_subject() usa un orden de bloqueo coherente (revocados → usados).verify_admin_token() pasa consume_single_use=False para evitar gastar tokens en la verificación.reach_consensus() ahora está protegido por threading.Lock.generate_random_string() usa secrets.SystemRandom() en lugar de random._describe_z_state() maneja T=-1 correctamente.reset_threat_state() ahora limpia realmente manual_quarantine y el estado de emergencia.unquarantine_agent() solo registra en auditoría cuando el agente estaba realmente en cuarentena.build_report() protege treatment_metrics vacío con el mismo patrón que control_metrics.antifragile_growth limitado a 1,000,000.0 para evitar un crecimiento flotante sin límite.| Métrica | Valor |
|---|
| Tasa de detección adversarial | 80.3% |
| Puntuación de robustez | 1.25 |
| Detección limpia (AoC) | 70.9% |
| Tasa de falsos positivos | 14.6% |
| Tasa de bloqueo C4 por LLM | 96.7% |
| Reducción de ASR en GPT-4o-mini | 10.7% → 0.7% (93.2%) |
| Reducción de ASR en Mistral 7B | 22.5% → 0.5% (97.6%) |
| Métrica | Valor |
|---|
| Versión | 1.0.0 FINAL |
| Estado | Prototipo de investigación (validación interna completa) |
| Pruebas | 240 pruebas (19 archivos de prueba) |
| Clasificadores | 4 (ONNX_BERT, RuleBased, Heuristic, LLM_SEMANTIC) |
| Capas de defensa | 4 (Saneamiento de entrada → Semántico → Comportamiento → Meta-Observador) |
| Defensas AoC | 16 (11 originales + 5 ampliadas) |
| ThoughtVirus | defensa de 2 capas (regex + trayectoria C4) |
| SVETILO | 7 sellos integrados |
| Correcciones de errores | Más de 60 resueltas en las rondas de auditoría |
| Build de Docker | Correcto (multi-etapa, listo para distroless) |
| Manifiestos K8s | Listos (endurecidos con secretKeyRef) |
| Licencia | BSL 1.1 |