Ir al contenido principal
DocsSecureStamp Protocol
Execution Governance · MCP · agentes · harnesses

Dejá trabajar al agente. Mantené el control del efecto final.

Proteger un servidor MCP no alcanza: un agente también llega a la shell, a los archivos, a las APIs y a las automatizaciones que su harness le deja alcanzar. Esta guía reúne el recorrido completo para developers e instituciones: diagnosticar la configuración que ya tienen, probar el límite, autorizar sólo el candidato exacto, controlar la corrida y reconstruir con evidencia lo que realmente pasó.

Disponible · Break the Mandate

Para quién es

Developers y maintainers

Equipos que ya delegan tareas a agentes de código y quieren dejarlos trabajar más tiempo sin aprobar cada comando. Doctor sobre sus propios archivos, laboratorio local sin cuenta y un receipt que se adjunta al PR.

Equipos de plataforma y seguridad

Quienes deciden qué puede montar, alcanzar y exportar un agente. Una configuración portable versionada en Git, la misma validación en CLI y dashboard, y controles de pausa y parada con confirmación del runtime.

Instituciones y organizaciones

Quien responde por lo que hace el software autónomo frente a clientes, auditores o reguladores. La autoridad queda fuera del agente, cada efecto deja evidencia verificable sin conexión y los límites de esa evidencia están escritos.

Tres superficies, un mismo principio

Los agentes pueden proponer. La autoridad queda fuera del agente. La cobertura se limita a las rutas declaradas y probadas: SecureStamp no controla operaciones que eluden esa frontera, y las nombra en lugar de ocultarlas.

Break the Mandate — el recorrido

La pregunta de entrada es simple: ¿tu agente puede hacer algo fuera de la tarea que aprobaste? El escenario de referencia responde con cinco pasos, sobre fixtures sintéticos, sin cuenta ni API key de modelo.

  1. 01

    Una tarea útil

    El agente prepara un cambio real dentro de un fixture contenido.

  2. 02

    La brecha, en el baseline

    El mismo intento fuera de alcance produce su efecto en un baseline deliberadamente permisivo, observado desde otro proceso. Es un control experimental conocido, no una vulnerabilidad descubierta en tu equipo.

  3. 03

    La brecha, contenida

    Con el control activo esa ruta se contiene, y la tarea útil igual se completa. Una denegación que inutiliza la tarea no cuenta como valor.

  4. 04

    La evidencia caduca cuando cambia el entorno

    Cambia una dependencia material del perfil: la evidencia anterior deja de habilitar esa ruta hasta que se revalida.

  5. 05

    Sólo sale el candidato exacto

    Se revisa el candidato congelado. Alterar sus bytes o su destino invalida la exportación; restaurar lo aprobado permite el efecto.

Inicio rápido

Doctor no necesita Docker ni un modelo y no ejecuta nada de lo que lee. El escenario de referencia es sintético: no ejecuta código del proyecto y su reporte se etiqueta como evidencia simulada.

shell
# Node 22.22.3 o superior
npm install --save-dev @securestamp/mcp-guard @securestamp/execution-governance

# 1. Doctor: diagnóstico estático de los archivos que elijas
npx securestamp-mcp-doctor scan .mcp.json --propose
npx securestamp-mcp-doctor scan-native <settings.json|config.toml> --format=<shape>
npx securestamp-mcp-doctor scan-workflow .github/workflows/agent.yml

# 2. Escenario portable: validar y correr la referencia, con una retención
npx securestamp-execution-governance validate scenario.json
npx securestamp-execution-governance run scenario.json --hold-before=step-1

Cada comando imprime su uso y los formatos soportados cuando recibe argumentos inválidos. Para un HarnessProfileV1 completo, securestamp-mcp-doctor scan-harness. Con --hold-before, la corrida muestra un efecto retenido que nunca se admite. Sin telemetría por defecto.

Doctor: primero tus archivos nativos

Doctor produce hechos declarados, cada uno con su archivo y campo de origen, y un diagnóstico parcial que dice qué capas leyó y cuáles quedan desconocidas. La compatibilidad se describe por forma + transporte + cliente probado; un formato que no reconoce se informa como no soportado, nunca se omite en silencio.

  • .mcp.json · JSON con mcpServers (stdio)

    Comandos declarados, referencias a credenciales, secretos escritos en el archivo, lanzamientos por shell y paquetes mutables o @latest. Una versión fijada no acredita integridad: comprobar el artefacto efectivo contra el aprobado corresponde al ejecutor.

  • settings.json · config.toml ([mcp_servers])

    Permisos, herramientas y capas de configuración reconocidas, con conflictos y datos faltantes. Un archivo aislado no revela políticas administradas, overrides de CLI ni configuración heredada: la salida lo dice.

  • .github/workflows/*.yml

    Agent Workflow Doctor: entrada no confiable de issue, PR o comentario que llega al agente, permisos declarados, referencias a secrets, herramientas amplias y checkout de contenido externo. No descarga actions, no resuelve secrets ni ejecuta YAML.

  • HarnessProfileV1

    El perfil completo para usuarios avanzados. Doctor nunca lo inventa desde un archivo aislado: mounts, observador, credenciales efectivas y backend los elige y valida el operador.

  • Lee sólo los archivos que se le indican; no recorre el home.
  • No ejecuta comandos, hooks ni expresiones del archivo.
  • No resuelve secretos ni valida tokens.
  • Propone un patch revisable sobre una copia; nunca sobrescribe el original.
  • Muestra un resultado limpio con el mismo peso que un hallazgo.
  • Un diagnóstico estático no acredita aislamiento ni protección.

Exact Export: el agente prepara, vos autorizás el cambio exacto

El agente prepara el cambio en una copia contenida de tu proyecto. La credencial de exportación queda fuera de su entorno, y lo que sale es sólo el candidato que se revisó, a través del Execution Guardian.

  1. 01

    Preparar

    En cuarentena, sobre un snapshot del proyecto elegido; sin reutilizar tu .git como base confiable.

  2. 02

    Congelar

    El candidato se fija antes de revisar: base, bytes y digests, ref, destino y preestado.

  3. 03

    Autorizar

    La aprobación se vincula a ese candidato. Un cambio posterior la invalida; un --yes no reemplaza MFA ni quórum.

  4. 04

    Ejecutar

    Custodiado por el Guardian, con comprobación del estado del destino: el drift y las carreras no se pisan.

  5. 05

    Verificar

    Verificación independiente de la postcondición y un receipt que se adjunta al PR o issue.

El destino inicial es un repositorio Git local. Con un perfil y un destino autorizados, el adaptador de GitHub crea una ref nueva: no actualiza cualquier rama, no hace force-push, merge ni deploy, y abrir un PR es otro efecto con su propia autorización. La custodia de la credencial se afirma sólo para el perfil que la demuestra con identidad, mounts, sockets y red efectivos y canarios desde el contexto del agente.

Una configuración portable, tres interfaces

La configuración es un JSON versionado en tu repositorio. La biblioteca genera los contratos completos y sus digests; nadie escribe firmas a mano. CLI y dashboard importan y exportan la misma representación y pasan la misma validación: no hay una política web distinta de la política en Git. Cada edición crea una revisión nueva y las corridas activas conservan su snapshot.

Escenario

Un SSPI-execution-scenario versionado: parámetros, origen del proyecto con digests del candidato y de la base, y los pasos con su operación y efecto esperado. No acepta scripts arbitrarios ni un resultado esperado editado para convertir una brecha en éxito.

Perfil

El runner y su perfil: backend, lease del observador y lease del canal de control. El sistema comprueba su disponibilidad y la aplicabilidad de la evidencia.

Mandato

Límites de efectos y de tiempo, digests de cada efecto y recurso, y las aprobaciones requeridas: un Task Contract fuera del alcance del agente.

  • npm · @securestamp/execution-governance

    Contratos del escenario portable, plano de control con hold, resume y stop, y reportes redactados: validar y serializar escenarios, iniciar corridas, emitir órdenes idempotentes, y construir, verificar y comparar reportes. No concede autoridad, no aísla el host ni reemplaza al Guardian del cliente.

  • CLI · securestamp-mcp-doctor · securestamp-execution-governance

    scan, scan-native, scan-workflow y scan-harness para el diagnóstico; validate y run para los escenarios. Sin cuenta. Cada corrida produce su propio reporte sin sobrescribir otro.

  • Dashboard · securestamp.online/dashboard/agents

    Escenarios, preparación, ejecuciones, detalle en curso y análisis posterior, sobre runners enrolados que opera el cliente. El navegador no ejecuta la prueba ni recibe credenciales de proveedores; conectar un runner es opt-in.

Pausar, reanudar, detener

Los controles actúan sobre las rutas mediadas por el Guardian. El agente puede seguir razonando mientras sus efectos están retenidos; la interfaz lo muestra como «efectos retenidos / proceso en ejecución», nunca como agente congelado.

Hold

El Guardian cierra la admisión de nuevos efectos y conserva presupuesto, grants consumidos e historia. No congela llamadas ya enviadas ni acumula una cola de efectos viejos.

Resume

Antes de reabrir se revalidan mandato, vigencia, política, perfil, observador y presupuestos. Cada nueva solicitud se evalúa de nuevo.

Stop

Terminal para la corrida: cierra la admisión de forma durable, cancela pendientes y termina procesos supervisados e hijos. Prevalece sobre resume y sobre una reconexión.

Una respuesta HTTP exitosa sólo confirma que la orden se recibió. El dashboard muestra por separado lo solicitado, lo aplicado por el supervisor y lo observado. Si cae el canal remoto con el observador sano, las admisiones quedan retenidas localmente; si falla el observador, el perfil corta la salida y termina el contenedor. La parada local nunca depende del dashboard.

Reportes: estados que no se resumen en un semáforo

El reporte de ejecución lleva un checksum informativo, declara su nivel de evidencia y permite comparar corridas; un checksum no autentica al emisor. Cuando adjunta un bundle Action Proof completo, el verificador independiente lo comprueba offline contra anchors suministrados fuera del reporte y enlaza candidato exacto, destino, autoridad y resultado observado del receipt. Un FAIL, un SKIP, evidencia ausente o una ruta sin evaluar se conservan a la vista; un fallo de instrumentación deja la corrida INCOMPLETE, nunca PASS.

Estado de la corridaqueued · running · held · stopping · stopped · completed · failed · incomplete
Resultado de rutaPASS · FAIL · SKIP
Coberturaprotected · contradicted · partial · not_evaluated
Integraciónsimulated · integration_real · no_evaluated
Completitudcomplete · incomplete
Outcome del reportePASS · FAIL · INCOMPLETE
Outcome de un efectosucceeded · failed_no_effect · indeterminate

Checksum informativo

El digest comprueba los bytes presentados, pero quien pueda reescribir el reporte puede recalcularlo. No autentica al emisor.

Evidencia firmada con anchors externos

Un bundle Action Proof completo se verifica offline sólo con anchors de grant y transparencia instalados fuera del artefacto. El bundle enlaza candidato, destino, autoridad y resultado del receipt.

Reproducido por un tercero

Otra persona corrió el mismo pack y obtuvo el mismo resultado. Es una afirmación distinta y se informa aparte.

Check informativo en el pull request

Compara base y head de los archivos nativos con los mismos importadores y reglas, muestra cambios declarados, desconocidos y candidatos a revalidación, y valida el receipt adjunto con sus anchors. Corre desde una revisión confiable fijada, con permisos de lectura, sin secrets y sin ejecutar código del PR. Informa la revisión: no es el check que autoriza una exportación ni un sustituto del Guardian o de un ruleset.

Lo que esto no hace

  • No vuelve seguro al modelo ni prueba alineación general: prueba límites de ejecución en un perfil declarado.
  • No controla rutas que eluden al Guardian; una ruta sin sonda queda no evaluada, nunca protegida por herencia.
  • No deshace un efecto que ya ocurrió: hold y stop no son rollback.
  • Un receipt demuestra integridad y alcance bajo sus anchors; no demuestra que el código aprobado sea benigno ni que alguien independiente lo haya auditado.
  • No es un kill switch global de empresa: v1 controla la corrida elegida y sus runners declarados.
  • La compatibilidad se publica por perfil, versión y entorno. Un PASS en un harness no se transfiere a otro sistema operativo, a otra ruta ni a otro cliente.

Seguir leyendo

Estado

Disponible: Doctor sobre archivos nativos, el escenario de referencia parametrizable por npm, CLI y dashboard, Exact Export a Git local y el check informativo de PR. Los reportes distinguen el historial sólo con checksum de un bundle Action Proof adjunto; sólo se afirma un receipt compartible cuando ese bundle existe y verifica con anchors externos. Cada capacidad publica su nivel de evidencia —simulado, integración real o no evaluado— por perfil y entorno en la matriz del laboratorio; un destino remoto se habilita por perfil autorizado, no por analogía.

Abierto y reproducible

Escenarios, fixtures, recipes y vectores se publican para que un tercero pueda reproducir o refutar cada propiedad. Los contraejemplos se contribuyen como issues con seed, perfil y resultado observado; los hallazgos sensibles siguen SECURITY.md. No hay leaderboard de «agentes seguros» ni badges genéricos.

Execution Governance — seguridad para MCP, agentes y harnesses | SecureStamp Foundation