MCP Armor
Sidecar Rust drop-in para servidores MCP
v0.2: wrapper stdio-MCP con pipeline de scanner Aho-Corasick + Regex + Unicode-NFKC, verify de manifest Ed25519 con keystore TOFU, bridge Sigstore Rekor, export OTLP gRPC, lista de bloqueo de 10 CVE del OX-Advisory 2026-04-15. 9 tools MCP de control-plane, 133 tests, MIT.
Qué problema resuelve
Un cliente MCP confía en el servidor con el que habla. Confía en la lista de herramientas que recibe, confía en las descripciones de esa lista, y nada en el protocolo obliga al servidor a demostrar quién es. Anthropic ha clasificado esas cuestiones de diseño como fuera del alcance de la especificación. mcp-armor construye justamente las defensas en tiempo de ejecución que allí se descartaron, como sidecar entre el cliente y cualquier servidor.
Cómo funciona
El tráfico pasa por un escáner de cuatro etapas: un prefiltro Aho-Corasick, una etapa de expresiones regulares, luego una pasada de normalización que elimina caracteres de ancho cero, marcas bidireccionales y etiquetas unicode antes de volver a escanear, y por último un plegado de esqueleto contra confundibles que caza homóglifos, de modo que un parecido cirílico de la palabra ignore ya no se cuela. Valida firmas Ed25519 de manifiestos con un almacén de claves de confianza al primer contacto y un puente a Sigstore Rekor, y quita claves de entorno de cargador como LD_PRELOAD y NODE_OPTIONS de cualquier hijo que lance. Desde la versión 0.8 lee además cada catálogo de herramientas en busca de instrucciones escondidas en la descripción de una herramienta o en su esquema de parámetros, que es el envenenamiento que llega a primera vista y nunca aparece como deriva. Es un único binario de Rust firmado, y la CI impone un presupuesto p99 por debajo de cinco milisegundos.
Cuándo usarlo
Ponlo delante de cualquier servidor MCP que no hayas escrito tú, y en especial delante de todo lo que hayas instalado desde un mercado. Envuelve un servidor existente sin modificarlo, exporta telemetría OTLP por gRPC y guarda sus decisiones de bloqueo en un búfer circular que un servidor de control de solo lectura devuelve al cliente.
Cuándo no usarlo
Vigila el cable entre cliente y servidor. No dice nada sobre lo que tu propia aplicación haga después con una respuesta del modelo, y no sustituye una capa de políticas dentro de tu código. Para la parte de TypeScript, ai-shield es el proyecto hermano, y de allí vienen los patrones de evasión que hay aquí.
Stars
★ 1
installs
↓ 193
Clones (14d)
⊟ 121
Lenguaje
Rust
Tools
11
Actualizado
2026-08-21
Instalación
cargo install mcp-armor