Documentos de Decision Gate

Evaluación de puertas determinista, reproducible con decisiones auditables.

Documentación de Asset Core

Modelo de Amenaza de Puerta de Decisión

Resumen

Decision Gate es un plano de control determinista y reproducible para la divulgación controlada y el avance de etapas. Evalúa condiciones respaldadas por evidencia, emite decisiones auditables y admite verificación fuera de línea a través de runpacks. No ejecuta conversaciones de agentes.

La Puerta de Decisión está compuesta por:

  • Control plane core (scenario engine, evidence evaluation, run state, runpack Núcleo del plano de control (motor de escenarios, evaluación de evidencia, estado de ejecución, constructor/verificador de runpack).
  • Servidor MCP (JSON-RPC sobre stdio/HTTP/SSE) y herramientas de línea de comandos.
  • Federación de proveedores (proveedores integrados más proveedores MCP externos).
  • Capa de despacho/corretaje (resolución y entrega de carga útil).
  • Storage layers (SQLite or in-memory run state + schema registry, optional Capas de almacenamiento (SQLite o estado de ejecución en memoria + registro de esquemas, almacenamiento de objetos opcional para runpacks).
  • Visión general del repositorio y postura de seguridad: README.md y SECURITY.md.
  • Orientación operativa y controles: Guía de seguridad.
  • Standards and investigation workflow: Docs/standards/codebase_engineering_standards.md, Normas y flujo de trabajo de investigación: Docs/standards/codebase_engineering_standards.md, Docs/standards/agent_investigation_guide.md.
  • Architecture references: Docs/architecture/decision_gate_auth_disclosure_architecture.md, Docs/architecture/decision_gate_evidence_trust_anchor_architecture.md, Docs/architecture/decision_gate_runpack_architecture.md, Docs/architecture/decision_gate_namespace_registry_rbac_architecture.md, Referencias de arquitectura: Docs/architecture/decision_gate_auth_disclosure_architecture.md, Docs/architecture/decision_gate_evidence_trust_anchor_architecture.md, Docs/architecture/decision_gate_runpack_architecture.md, Docs/architecture/decision_gate_namespace_registry_rbac_architecture.md, Docs/architecture/decision_gate_provider_capability_architecture.md.
  • Component READMEs: crates/decision-gate-core/README.md, crates/decision-gate-mcp/README.md, READMEs de componentes: crates/decision-gate-core/README.md, crates/decision-gate-mcp/README.md, crates/decision-gate-broker/README.md, crates/decision-gate-providers/README.md.

Objetivos de Seguridad

  • Evaluación determinista sin mutación oculta del estado.
  • Evidence-backed disclosure only; fail closed on missing, invalid, or Divulgación respaldada por evidencia únicamente; falla cerrada ante evidencia faltante, inválida o no verificable.
  • Auditabilidad y detección de manipulación para el estado de ejecución y runpacks.
  • Exposición de datos minimizada; por defecto a resúmenes seguros y evidencia redactada.
  • Clear trust boundaries between control plane, providers, dispatch targets, Límites de confianza claros entre el plano de control, proveedores, objetivos de despacho y almacenamiento.
  • Acceso a herramientas y operaciones de registro con el principio de menor privilegio y autorización explícita.
  • Uso de recursos limitados (tamaño de la solicitud, tamaño de la respuesta del proveedor, límites de tasa).

Non-Goals / Fuera de Alcance

  • Proteger la confidencialidad después de que los datos se divulgan a sistemas posteriores.
  • Proteger contra el compromiso total del host o del núcleo sin controles externos.
  • Asegurando proveedores externos de MCP, sumideros aguas abajo o aplicaciones cliente.
  • Atestación de hardware, garantías de enclave seguro o servicios de custodia de claves.
  • Firma criptográfica de runpacks o registros de esquema (más allá de los campos de metadatos).
  • Terminación de TLS y confianza en el proxy (responsabilidad de implementación).

Activos

  • Especificaciones de escenarios, condiciones y etiquetas de políticas (lógica de seguridad).
  • Run state logs: triggers, gate evaluations, decisions, packets, submissions, Registros de estado de ejecución: disparadores, evaluaciones de puertas, decisiones, paquetes, envíos, llamadas a herramientas.
  • Valores de evidencia, hashes, anclajes y firmas.
  • Configuración de la autoridad del espacio de nombres y asignaciones de espacio de nombres.
  • Data shape registry records (JSON Schemas), versions, and optional signing Registros del registro de forma de datos (JSON Schemas), versiones y metadatos de firma opcionales.
  • Despachar cargas, sobres y recibos.
  • Ejecutar artefactos de Runpack, manifiestos e informes de verificación.
  • Contratos de proveedores (contratos de capacidad) y esquemas.
  • Registros de auditoría (autorización de herramientas, verificación previa, ACL de registro, autorización de inquilinos, uso).
  • Configuration files, provider auth tokens, registry ACL/principal mappings, Archivos de configuración, tokens de autenticación del proveedor, mapeos de ACL/principal del registro y claves de verificación de firma.
  • Run state store (SQLite or in-memory), schema registry store, and runpack Ejecutar el almacenamiento de estado (SQLite o en memoria), el almacenamiento del registro de esquemas y el directorio de salida de runpack.
  • Cubos de almacenamiento de objetos para artefactos y archivos de runpack (compatibles con S3).
  • Contenido del catálogo de documentos y cualquier documento adicional ingerido desde el disco.

Modelo de Adversario

  • Adversarios de estados-nación con pleno conocimiento del comportamiento de Decision Gate.
  • Clientes no confiables o comprometidos que emiten disparadores o llamadas a herramientas.
  • Proveedores de evidencia maliciosos o defectuosos y servidores MCP externos.
  • Insiders comprometidos con acceso a configuración, almacenamiento o registros.
  • Atacantes de red capaces de realizar MITM, reproducir o interrumpir el tráfico.
  • Autores de escenarios maliciosos o erróneos que pueden definir especificaciones inseguras.
  • Malicious schema registrants or policy administrators who can poison registry Registrantes de esquemas maliciosos o administradores de políticas que pueden envenenar las entradas del registro.
  • Attackers controlling content references or broker sources (SSRF/exfiltration Atacantes que controlan referencias de contenido o fuentes de intermediarios (riesgo de SSRF/exfiltración).
  • Attackers who can tamper with on-disk provider contracts, configs, or runpack Atacantes que pueden manipular contratos de proveedores en disco, configuraciones o artefactos de runpack.

Límites de Confianza

  • Los transportes del servidor MCP (stdio, HTTP, SSE): todas las entradas JSON-RPC no son de confianza.
  • Definición del escenario de entrada: las especificaciones pueden codificar la lógica de divulgación y el acceso a datos.
  • Límite del proveedor de evidencia: proveedores integrados vs proveedores MCP externos.
  • Namespace authority backend (Asset Core or registry): namespace validation is Autoridad del espacio de nombres backend (Asset Core o registro): la validación del espacio de nombres es externa y debe fallar de manera segura.
  • Contratos de proveedor y archivos de configuración en disco.
  • Backend del registro de esquemas (en memoria/SQLite) y decisiones de ACL del registro.
  • Ejecutar el almacenamiento de estado y los artefactos de runpack: tratar el almacenamiento como no confiable.
  • Runpack object storage (S3-compatible) and metadata: treat as untrusted and Almacenamiento de objetos Runpack (compatible con S3) y metadatos: tratar como no confiable y verificar los hashes de cada artefacto.
  • Fuentes de corredor (http/archivo/en línea) y sumideros (sistemas externos).
  • Objetivos de despacho y sistemas descendentes que reciben divulgaciones.
  • Entorno de verificación fuera de línea y lectores de artefactos.
  • Tenant authorization adapters and usage meters (if configured) are external Los adaptadores de autorización de inquilinos y los medidores de uso (si están configurados) son puntos de decisión externos.
  • Ingesta de extra_paths de Docs (disco local) y recursos/listar/leer de MCP.

Puntos de Entrada y Superficies de Ataque

  • MCP JSON-RPC methods: tools/list, tools/call, resources/list, Métodos MCP JSON-RPC: tools/list, tools/call, resources/list, resources/read.
  • MCP tools: scenario_define, scenario_start, scenario_status, scenario_next, scenario_submit, scenario_trigger, evidence_query, runpack_export, runpack_verify, providers_list, provider_contract_get, provider_check_schema_get, schemas_list, schemas_register, schemas_get, scenarios_list, precheck, decision_gate_docs_search.
  • CLI commands: serve, runpack export, runpack verify, authoring Comandos de CLI: serve, runpack export, runpack verify, autoría validar/normativizar.
  • Archivo de configuración y variable de entorno DECISION_GATE_CONFIG.
  • Procesos de proveedores MCP externos y puntos finales HTTP.
  • Built-in providers: env, json, http, time (filesystem, environment, Proveedores integrados: env, json, http, time (sistema de archivos, entorno, red).
  • External content references for packet payloads (http://, https://, Referencias de contenido externo para cargas útiles de paquetes (http://, https://, file://, inline:).
  • Rutas de configuración, contratos de proveedor, comandos/URLs de proveedor, rutas adicionales de documentación.
  • Destinos de almacenamiento de Runpack (directorio de salida local o almacenamiento de objetos).

Controles de Seguridad e Invariantes

  • Canonical JSON hashing (RFC 8785) with non-finite float rejection for specs, Hashing JSON canónico (RFC 8785) con rechazo de flotantes no finitos para especificaciones, registros, paquetes de ejecución y hashes.
  • Evaluación de tres estados con Unknown tratado como no aprobado.
  • Evidence hash normalization; optional signature verification (ed25519) when Normalización del hash de evidencia; verificación de firma opcional (ed25519) cuando está configurado.
  • Provider contract registry validates provider check params and allowed El registro de contratos de proveedores valida los parámetros de verificación de proveedores y los comparadores permitidos; la validación estricta de comparadores/tipos está activada por defecto.
  • Namespace authority checks enforce tenant/namespace scoping and fail closed Las verificaciones de autoridad de espacio de nombres imponen el alcance de inquilinos/espacios de nombres y fallan de manera cerrada en catálogos desconocidos o no disponibles.
  • Evidence trust lanes enforced (verified by default); dev-permissive explicitly Se aplican carriles de confianza de evidencia (verificados por defecto); el modo dev-permissive reduce explícitamente la confianza a afirmada solo para proveedores no exentos.
  • Schema registry ACL enforces role/policy-class access and can require signing El ACL del registro de esquemas impone el acceso basado en roles/clases de políticas y puede requerir la firma de metadatos; las operaciones del registro son auditadas.
  • Anchor policy enforcement rejects evidence missing required anchors and La aplicación de la política de anclaje rechaza la evidencia que falta anclajes requeridos y propaga los requisitos de anclaje en la verificación de runpack.
  • Size and path limits for config files, provider contracts, run state stores, Límites de tamaño y ruta para archivos de configuración, contratos de proveedor, almacenes de estado de ejecución, ingestión de documentos, artefactos de runpack y claves de objeto-almacen.
  • JSON provider enforces root-bound relative paths and emits El proveedor de JSON impone rutas relativas vinculadas a la raíz y emite anclajes file_path_rooted con root_id + path normalizado.
  • RET logic hard limits: DSL inputs capped at 1 MiB with nesting depth 32; serialized requirement inputs capped at 1 MiB with default max depth 32; plan execution stack depth capped at 64 frames; constant pools capped at 65,536 entradas.
  • HTTP/SSE and stdio request body limits; provider-specific response size Límites del cuerpo de la solicitud HTTP/SSE y stdio; límites de tamaño de respuesta específicos del proveedor y tiempos de espera.
  • Límites de solicitudes en vuelo y limitación de tasa opcional para llamadas a la herramienta MCP.
  • MCP tool calls require explicit authn/authz (local-only by default; bearer or Las llamadas a la herramienta MCP requieren autenticación/autorización explícita (solo local por defecto; listas de permitidos de portador o mTLS cuando están configuradas) con registro de auditoría.
  • Tool visibility filters list/call surfaces; docs search/resources can be Los filtros de visibilidad de herramientas enumeran/superficies de llamada; la búsqueda de documentos/recursos puede ser desactivada.
  • El gancho de autorización del inquilino (si está configurado) controla las llamadas a la herramienta y se audita.
  • Precheck is read-only: asserted evidence validated against schemas, no run La prevalidación es de solo lectura: evidencia afirmada validada contra esquemas, sin mutación del estado de ejecución ni divulgaciones.
  • Resúmenes seguros para el estado orientado al cliente; redacción de evidencia según la política.
  • scenario_submit.payload and scenario_trigger.payload are persisted as run scenario_submit.payload y scenario_trigger.payload se persisten como registros de ejecución e incluidos en los paquetes de ejecución; trátalos como canales de datos de auditoría no secretos.
  • SQLite run state uses canonical JSON + hash verification on load; runpack El estado de ejecución de SQLite utiliza JSON canónico + verificación de hash al cargar; los manifiestos de runpack utilizan hashes de archivos + hash raíz para la integridad.

Amenazas y Mitigaciones

Autenticación, Autorización y Control de Acceso

  • Unauthorized tool access: local-only defaults, bearer/mTLS modes, per-tool Acceso no autorizado a herramientas: valores predeterminados solo locales, modos bearer/mTLS, listas de permitidos por herramienta, filtros de visibilidad de herramientas y registro de auditoría.
  • Tenant/namespace abuse: namespace authority checks, default namespace Abuso de inquilinos/nombres de espacio: comprobaciones de autoridad de nombres de espacio, denegación por defecto del nombre de espacio predeterminado, ganchos de autorización de inquilinos y ACLs de registro.
  • Registry poisoning/leakage: ACL rules and optional signing metadata Envenenamiento/fugas del registro: reglas de ACL y requisitos opcionales de metadatos de firma con registros de auditoría.

Validación y análisis de entrada

  • Untrusted JSON-RPC/config inputs: strict typed decoding, comparator Entradas JSON-RPC/config no confiables: decodificación estrictamente tipada, validación de comparadores, normalización de JSON canónico y límites de tamaño/ruta.
  • JSONPath/YAML parsing in json provider: root-bound relative paths (absolute Análisis de JSONPath/YAML en el proveedor json: rutas relativas vinculadas a la raíz (rutas absolutas rechazadas), verificaciones de recorrido, límites de tamaño y manejo estructurado de errores.
  • Provider contract tampering: contract path validation and canonical hashing Manipulación del contrato del proveedor: validación de la ruta del contrato y hash canónico de las cargas útiles del contrato.

Integridad y Autenticidad de la Evidencia

  • Malicious or faulty providers: trust lanes, optional signature verification, Proveedores maliciosos o defectuosos: carriles de confianza, verificación de firma opcional, aplicación de políticas de anclaje y hash de evidencia canónica.
  • External MCP providers: response size limits, timeouts, and correlation ID Proveedores externos de MCP: límites de tamaño de respuesta, tiempos de espera y saneamiento del ID de correlación; tratar como procesos no confiables o servicios remotos.

Divulgación y Exposición de Datos

  • Evidence leakage through tools: evidence redaction policies for Filtración de evidencia a través de herramientas: políticas de redacción de evidencia para evidence_query y comentarios de scenario_next; resúmenes seguros por defecto.
  • Sensitive data in submit/trigger payloads: payloads are intentionally durable for audit/replay; mitigated by integration policy (no raw secrets, use opaque manejadores y almacenes de secretos externos).
  • Policy bypass in dispatch: optional policy engine (permit_all, deny_all, Bypass de políticas en el despacho: motor de políticas opcional (permit_all, deny_all, o reglas estáticas) controla la divulgación antes del despacho.

Almacenamiento e Integridad de Runpack

  • Run state tampering: SQLite store verifies canonical hash on load and fails Manipulación del estado de ejecución: la tienda SQLite verifica el hash canónico al cargar y falla cerrada; las versiones del estado de ejecución son solo de anexado (con poda de retención opcional).
  • Runpack tampering: verifier checks artifact hashes, root hash, and anchor policy; no built-in signing (external signing/WORM required for no repudio).

Proveedores Externos, Fuentes y Despacho

  • Broker sources (http/file/inline) used for payload resolution: content hash verification, content type checks, size limits, no redirects (HTTP), and aplicación opcional de la ruta raíz (archivo).
  • Built-in providers: allowlists/denylists and size limits for env, root restrictions and size limits for json, and host allowlists + https-only valores predeterminados para http.

Disponibilidad y Agotamiento de Recursos

  • Large requests/responses: max_body_bytes, provider response caps, schema size limits, runpack artifact limits, and optional rate limiting/inflight límites.
  • Tiempo de espera del proveedor: tiempos de espera del proveedor HTTP y límites de respuesta del proveedor MCP.

Cadena de Suministro y Entorno de Ejecución

  • External providers execute with local privileges; use OS sandboxing, scoped Los proveedores externos ejecutan con privilegios locales; utilizan sandboxing del sistema operativo, credenciales limitadas y permisos mínimos.
  • Provider contracts, configs, and docs extra_paths are local file inputs and Los contratos de proveedores, configuraciones y documentos extra_paths son entradas de archivos locales y deben estar protegidos por ACLs del sistema de archivos y controles de integridad.

Multi-Inquilino y Aislamiento

  • Tenant/namespace IDs are labels, not access controls: enforce authn/authz, Los IDs de inquilino/espacio de nombres son etiquetas, no controles de acceso: hacer cumplir la autenticación/autorización, los ganchos de autorización del inquilino y las ACL del registro en implementaciones compartidas.

Auditoría y Observabilidad

  • Auth decisions, registry access, tenant authz, and usage are logged with Las decisiones de autorización, el acceso al registro, la autorización del inquilino y el uso se registran con eventos de auditoría estructurados; los registros de prechequeo son solo hash por defecto.

Referencias de Implementación (Controles y Protecciones)

Núcleo de Ejecución

  • Canonical JSON hashing and non-finite float rejection: Hashing JSON canónico y rechazo de flotantes no finitos: crates/decision-gate-core/src/core/hashing.rs.
  • Tri-state comparator evaluation: Evaluación del comparador de tres estados: crates/decision-gate-core/src/runtime/comparator.rs.
  • Trust lane enforcement and anchor policy validation: crates/decision-gate-core/src/runtime/engine.rs, Aplicación de la vía de confianza y validación de políticas ancla: crates/decision-gate-core/src/runtime/engine.rs, crates/decision-gate-core/src/core/evidence.rs.
  • Safe summaries: Resúmenes seguros: crates/decision-gate-core/src/core/summary.rs.
  • Runpack build/verify and artifact size limits: Ejecutar la construcción/verificación de Runpack y límites de tamaño de artefacto: crates/decision-gate-core/src/runtime/runpack.rs.

Servidor MCP y Herramientas

  • Authn/authz, tool allowlists, bearer parsing, and auth audit: Authn/authz, listas de herramientas permitidas, análisis de portadores y auditoría de autenticación: crates/decision-gate-mcp/src/auth.rs, crates/decision-gate-config/src/config.rs.
  • Request limits (max body, inflight, rate limiting) and transport handling: Límites de solicitud (cuerpo máximo, en vuelo, limitación de tasa) y manejo de transporte: crates/decision-gate-mcp/src/server.rs, crates/decision-gate-config/src/config.rs.
  • Correlation ID sanitization: Sanitización del ID de correlación: crates/decision-gate-mcp/src/correlation.rs.
  • Tool visibility, docs gating, evidence redaction, and precheck handling: Visibilidad de herramientas, control de documentos, redacción de evidencia y manejo de prechequeo: crates/decision-gate-mcp/src/tools.rs.
  • Audit event payloads: Cargas útiles de eventos de auditoría: crates/decision-gate-mcp/src/audit.rs.
  • Tenant authz and usage meter seams: Costuras de autorización de inquilinos y medidor de uso: crates/decision-gate-mcp/src/tenant_authz.rs, crates/decision-gate-mcp/src/usage.rs.
  • Provider contract validation + strict comparator validation: Validación del contrato del proveedor + validación de comparador estricto: crates/decision-gate-mcp/src/capabilities.rs, crates/decision-gate-mcp/src/validation.rs.
  • Evidence signature verification and MCP provider response caps: Verificación de la firma de evidencia y límites de respuesta del proveedor MCP: crates/decision-gate-mcp/src/evidence.rs.

Proveedores y Corredor

  • Built-in provider limits and policies: crates/decision-gate-providers/src/env.rs, crates/decision-gate-providers/src/json.rs, Límites y políticas de proveedores integrados: crates/decision-gate-providers/src/env.rs, crates/decision-gate-providers/src/json.rs, crates/decision-gate-providers/src/http.rs, crates/decision-gate-providers/src/time.rs.
  • Provider allow/deny policy: Política de permitir/denegar proveedores: crates/decision-gate-providers/src/registry.rs.
  • Broker payload validation and source restrictions: crates/decision-gate-broker/src/broker.rs, crates/decision-gate-broker/src/source/file.rs, Validación de carga del broker y restricciones de origen: crates/decision-gate-broker/src/broker.rs, crates/decision-gate-broker/src/source/file.rs, crates/decision-gate-broker/src/source/http.rs, crates/decision-gate-broker/src/source/inline.rs.

Almacenamiento y Contratos

  • SQLite run state + schema registry integrity and size limits: Estado de ejecución de SQLite + integridad del registro de esquemas y límites de tamaño: crates/decision-gate-store-sqlite/src/store.rs.
  • In-memory stores (tests/demos only): Almacenes en memoria (solo pruebas/demos): crates/decision-gate-core/src/runtime/store.rs.
  • Object-store runpack export key validation: Validación de la clave de exportación de runpack del objeto de almacenamiento: crates/decision-gate-mcp/src/runpack_object_store.rs.
  • Config file size/path validation and defaults: Validación del tamaño/ruta del archivo de configuración y valores predeterminados: crates/decision-gate-config/src/config.rs.
  • Canonical tool and schema contracts: Contratos de herramienta y esquema canónicos: crates/decision-gate-contract/src/tooling.rs, crates/decision-gate-contract/src/schemas.rs.
  • CLI authoring/runpack tooling: Herramientas de autoría/ejecución de CLI: crates/decision-gate-cli/src/main.rs.

Requisitos Operacionales

  • Restrict MCP access to authenticated transports (mTLS, IPC ACLs, reverse Restringir el acceso a MCP a transportes autenticados (mTLS, IPC ACLs, autenticación de proxy inverso) y hacer cumplir TLS para HTTP/SSE (o terminación explícita en el upstream).
  • Configure server.auth for non-loopback deployments; rotate tokens and Configurar server.auth para implementaciones que no sean de bucle; rotar tokens y mantener listas de herramientas permitidas.
  • Mantener dev-permissive deshabilitado en producción; requerir carriles de confianza verificados.
  • Require signature verification for external providers where integrity Requerir verificación de firma para proveedores externos donde la integridad sea importante; gestionar la distribución de claves de manera segura.
  • Configure allowlists for env, json, and http providers; avoid Configure listas de permitidos para los proveedores env, json y http; evite el acceso a archivos sin restricciones.
  • Restrict schemas_register, schemas_get, schemas_list, precheck, and scenarios_list to trusted callers (tool allowlists + tenant authz + registry ACLs). Restrict provider discovery tools with tool allowlists and provider_discovery listas de permitidos/prohibidos.
  • Configure schema registry ACL rules and signing metadata requirements where Configure las reglas de ACL del registro de esquemas y los requisitos de metadatos de firma donde la procedencia sea importante; proteja el almacenamiento del registro.
  • Limit or disable runpack_export for untrusted callers; restrict output Limitar o deshabilitar runpack_export para llamadores no confiables; restringir las rutas de salida y los prefijos del almacén de objetos.
  • Store run state and runpacks in tamper-evident storage; sign manifests Almacenar el estado de ejecución y los runpacks en un almacenamiento a prueba de manipulaciones; firmar los manifiestos externamente cuando se requiera no repudio.
  • Aplicar sandboxing a nivel de sistema operativo para proveedores externos y fuentes de intermediarios.
  • Set server.max_body_bytes, server.limits, and provider timeouts to Establecer server.max_body_bytes, server.limits y los tiempos de espera del proveedor para prevenir el agotamiento de recursos.
  • Disable docs search/resources in untrusted environments or restrict extra Desactivar la búsqueda de documentos/recursos en entornos no confiables o restringir rutas adicionales a ubicaciones de solo lectura.

Postura de Fallo

  • Fallar cerrado ante evidencia faltante, inválida o no verificable.
  • Rechazar configuraciones, llamadas a herramientas y registros de esquemas no válidos.
  • No divulgar datos sobre resultados Desconocidos o ambiguos.

Modelo de Amenaza Delta (2026-02-01)

  • Added explicit coverage for docs search/resources, tool visibility filters, Se añadió cobertura explícita para la búsqueda de documentos/recursos, filtros de visibilidad de herramientas, saneamiento de ID de correlación y redacción de cargas de auditoría.
  • Ampliación de las protecciones para corredores/fuentes y cobertura de validación de claves de almacenamiento de objetos.
  • Mapeo de controles de seguridad a ubicaciones de código concretas para trazabilidad.
  • Se añadieron límites explícitos de tamaño/profundidad de entrada de autoría en la normalización de contratos.
  • Se añadió una política de permitir/denegar el host de origen HTTP con guardias de IP privadas/locales de enlace.
  • Se abren fuentes de archivos seguras para enlaces simbólicos forzados para divulgaciones de archivos con privilegios de root.