
Plataforma de seguridad de IA de código abierto que proporciona defensa perimetral para LLMs y agentes de IA mediante análisis de enjambre, aplicación de políticas, pruebas adversariales y detección de amenazas en tiempo real.
Seguridad perimetral para tu IA.
Control en tiempo de ejecución, control de políticas y registro de auditoría completo para cada acción de la IA.
Sitio web · Inicio rápido · Política · Panel · GitHub
Los agentes de IA pueden leer tus archivos, enviar código, consultar bases de datos, ejecutar comandos de shell y llamar a APIs externas. Lo hacen de forma autónoma, a velocidad de máquina.
Los controles de seguridad tradicionales no fueron diseñados para eso.
Mastyf.ai actúa como una capa de seguridad perimetral para la IA. Intercepta cada llamada de herramienta, la evalúa contra tus políticas de seguridad mediante un análisis de enjambre multiagente y bloquea las acciones maliciosas o no autorizadas antes de que se ejecuten.
Cada decisión se aplica, registra y audita.
Clona el repositorio y ejecuta el script de configuración.
Requisitos:
git clone https://github.com/mastyf-ai/mastyf.ai.git
cd mastyf.ai
chmod +x setup.sh
./setup.sh
El script de configuración automáticamente:
mastyf convenienteUna vez completada la instalación, inicia el proxy y el panel:
node dist/cli.js start
O simplemente usa el alias después de abrir una nueva terminal:
mastyf
El panel estará disponible en:
Si el panel está en ejecución, verifica el puente HTTP:
curl -X POST http://localhost:4000/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'
Visibilidad completa de cada acción que realiza tu IA.
| Sección | Lo que ves |
|---|
No expongas el puerto 4000 públicamente sin habilitar la autenticación del panel. La configuración local de desarrollo por defecto tiene
DASHBOARD_AUTH_DISABLED=true.
Cada llamada de herramienta pasa por tres capas antes de llegar a tu infraestructura.
Capa 1 – Detección de patrones Escaneo basado en expresiones regulares para inyecciones, rutas peligrosas, secretos filtrados, comandos de shell y trucos de codificación. Se ejecuta en microsegundos sin dependencias externas.
Capa 2 – Validación de esquema Rechaza cargas malformadas, argumentos sobredimensionados y violaciones de JSON-RPC antes de que lleguen a la evaluación de políticas.
Capa 3 – Revisión semántica Un LLM local opcional (Ollama) o modelo en la nube evalúa llamadas borderline que pasan las comprobaciones de patrones. Vuelve a heurísticas si no hay modelo configurado.
Cualquier cosa que falle se bloquea. La herramienta nunca se ejecuta. Todo se registra.
Tus reglas viven en default-policy.yaml. Tú las posees. mastyf.ai las aplica.
policy:
mode: block
default_action: pass
unicode_strict: true
rules:
- name: block-sensitive-paths
action: block
argPatterns:
- field: path
patterns: ['^/etc/', '/\.ssh', '/\.aws/credentials']
- name: rate-limit-tool-calls
action: block
maxCallsPerMinute: 120
- name: block-shell-injection
action: block
patterns: ['rm\s+-rf', 'curl\s', 'wget\s', '`[^`]+`']
Despliega de forma segura con tres modos de aplicación:
| Modo | Comportamiento | Cuándo usarlo |
|---|---|---|
audit |
Plantillas preconstruidas para HIPAA, PCI-DSS, GxP y residencia de datos están en policy-templates/.
mastyf.ai ejecuta dos enjambres coordinados. El Enjambre CI ataca tu política antes de que el código se envíe. El Enjambre en Tiempo de Ejecución aplica y aprende de cada llamada de herramienta en vivo en producción. Cuatro bucles de retroalimentación los conectan para que el sistema sea más difícil de eludir con el tiempo.
flowchart TB
AI["🤖 Clientes IA\nCursor · Claude Desktop · Cline"]
subgraph CI["🔵 Enjambre CI (PR + Nocturno)"]
direction LR
Scout["🔍 Agente Scout\nSAST, dependencias, escaneo de configuración"]
Corpus["📋 Agente Corpus\n228 fixtures de evaluación"]
Evasion["⚡ Agente Evasión\n120+ sondas + generar nuevas"]
Parity["🔄 Agente Paridad\nNode vs Python"]
ProxyA["🖥️ Agente Proxy\nPruebas MCP stdio en vivo"]
Report["📊 Agente Informe\nsecurity-swarm/latest.json"]
Scout --> Corpus --> Evasion --> Parity --> ProxyA --> Report
end
subgraph Runtime["🟢 Enjambre en Tiempo de Ejecución (Proxy de Producción)"]
direction LR
BG["🛡️ BlockGuard\npolítica síncrona"]
IL["📈 InstantLearner\nestadísticas por bloqueo + sugerencias"]
SA["🧠 SemanticAuditor\nLLM asíncrono, opcional"]
PS["🔗 PatternSynthesizer\nsugerencias por lotes"]
Cal["⚙️ Calibrator\netiquetas + umbrales"]
BG --> IL --> PS --> Cal
BG --> SA --> PS
end
Tools["🗄️ Herramientas MCP\nfilesystem · GitHub · bases de datos · APIs"]
AI -->|"cada llamada de herramienta"| BG
BG -->|"✅ permitido"| Tools
Report -->|"🔁 Bucle A: evasiones al corpus"| Corpus
Cal -->|"🔁 Bucle B: bloqueos a reglas"| BG
Cal -->|"🔁 Bucle C: etiquetas al LLM"| SA
Report -->|"🔁 Bucle D: métricas CI semanales"| Cal
style CI fill:#EFF6FF,stroke:#3B82F6,stroke-width:2px,color:#1E3A5F
style Runtime fill:#F0FDF4,stroke:#22C55E,stroke-width:2px,color:#14532D
style Scout fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style Corpus fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style Evasion fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style Parity fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style ProxyA fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style Report fill:#DBEAFE,stroke:#3B82F6,color:#1E40AF
style BG fill:#BBF7D0,stroke:#16A34A,color:#14532D
style IL fill:#BBF7D0,stroke:#16A34A,color:#14532D
style SA fill:#BBF7D0,stroke:#16A34A,color:#14532D
style PS fill:#BBF7D0,stroke:#16A34A,color:#14532D
style Cal fill:#BBF7D0,stroke:#16A34A,color:#14532D
style AI fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#78350F
style Tools fill:#FEF3C7,stroke:#F59E0B,stroke-width:2px,color:#78350F
Puertas canónicas: 228/228 corpus, 0 evasiones, 100% de paridad
Se ejecuta en cada PR y nocturno. Seis agentes trabajan en secuencia, cada uno endureciendo lo que el anterior encontró.
Se ejecuta dentro del proxy de producción en cada llamada de herramienta.
El proxy soporta cinco transportes: stdio, HTTP, SSE, HTTP streamable y WebSocket.
Para despliegues empresariales con Redis, Postgres y Kubernetes, consulta docs/ENTERPRISE_DEPLOYMENT.md.
Threat Lab observa el tráfico en vivo y utiliza un LLM local para proponer nuevos casos de prueba de ataque cuando detecta patrones sospechosos. Nada se aplica automáticamente. Revisas y apruebas cada sugerencia en el panel antes de que se convierta en regla.
Los descubrimientos aprobados retroalimentan el corpus de ataque de CI para pruebas de regresión continuas.
ollama serve
ollama pull qwen3:8b
export OLLAMA_BASE_URL=http://127.0.0.1:11434
export MASTYF_AI_LLM_PROVIDER=ollama
export MASTYF_AI_LLM_MODEL=qwen3:8b
pnpm dashboard:proxy
Antes de instalar cualquier servidor MCP desde npm, verifica su puntuación de confianza en https://www.mastyf.ai/certified. Las puntuaciones cubren exposición a CVE, riesgo de typo-squat, señales del mantenedor y patrones de ataque conocidos. Gratuito, sin necesidad de cuenta.
| Amenaza | Cómo se ve |
|---|
| Inyección de prompt | Instrucciones maliciosas incrustadas en argumentos de herramientas para secuestrar el comportamiento del agente |
| Path traversal | Intentos de acceder a /etc/passwd, .ssh/id_rsa, .aws/credentials |
| Exfiltración de secretos | Claves API y tokens filtrándose a través de argumentos de herramientas |
| Inyección de shell | Reverse shells, rm -rf, comandos PowerShell codificados |
| Exfiltración de datos | Volcados SQL masivos, git push, aws s3 cp, transferencias de archivos no autorizadas |
| SSRF | Llamadas a endpoints de metadatos, localhost y rangos de IP privadas |
| Evasión de codificación | Blobs Base64 y homoglifos Unicode utilizados para eludir la detección de patrones |
| Abuso de costos | Bucles de agente descontrolados que agotan los presupuestos de tokens |
| Ataques rug-pull | Definiciones de herramientas que cambian silenciosamente a mitad de sesión |
| Protección | Tasa de bloqueo, reglas más activadas, feed de amenazas en vivo |
| Actividad | Cada llamada de herramienta con argumentos completos, estado de permitir o bloquear, marca de tiempo |
| Política | Editor de reglas en vivo con recarga en caliente desde YAML |
| Threat Lab | Pruebas de ataque sugeridas por IA, revisadas y aprobadas antes de aplicar cualquier cosa |
| Costo | Uso de tokens y estimaciones de costos desglosados por llamada de herramienta |
| Registrar todo, no bloquear nada |
| Primera semana, comprende lo que hace tu IA |
warn | Registrar y marcar, aún reenvía | Fase de ajuste antes de la aplicación |
block | Detiene las violaciones antes de la ejecución | Producción |
| Agente | Lo que hace |
|---|
| Scout | Escaneo SAST, auditoría de dependencias, revisión de configuración |
| Corpus | Evalúa los 228 fixtures de ataque contra la política actual |
| Evasión | Ejecuta 120+ sondas de evasión y genera otras nuevas usando un LLM |
| Paridad | Verifica que las implementaciones Node y Python produzcan decisiones idénticas |
| Proxy | Pruebas de sesión MCP stdio en vivo contra una instancia de proxy en ejecución |
| Informe | Escribe security-swarm/latest.json con resultados completos y métricas |
| Componente | Lo que hace |
|---|
| BlockGuard | Aplica la política activa de forma síncrona en cada llamada. Bloqueo en caso de fallo. |
| InstantLearner | Rastrea estadísticas por bloqueo y muestra sugerencias de reglas en tiempo real |
| SemanticAuditor | Revisión LLM asíncrona opcional para llamadas que superan las comprobaciones de patrones pero parecen sospechosas |
| PatternSynthesizer | Agrupa sugerencias de InstantLearner y SemanticAuditor en reglas candidatas |
| Calibrator | Etiqueta candidatos, ajusta umbrales y promueve reglas aprobadas de vuelta a BlockGuard |
| Bucle | Señal | Efecto |
|---|
| A | Evasión CI encontrada | Agregada al corpus, CI ahora la protege permanentemente |
| B | Patrón de bloqueo en tiempo de ejecución | Sintetizado en una nueva regla, promovida a BlockGuard |
| C | Etiqueta de Calibrator | Utilizada para ajustar los umbrales de SemanticAuditor |
| D | Métricas CI (semanales) | Actualiza la configuración de tiempo de ejecución — mantiene CI y producción sincronizados |
| Comando | Lo que hace |
|---|
node dist/cli.js start | Inicia proxy y panel en el puerto 4000 |
node dist/cli.js onboard | Envuelve tu configuración MCP para enrutar a través del proxy |
node dist/cli.js doctor | Verificación de estado para BD, política y entorno |
node dist/cli.js scan --all | Escanea configuraciones MCP en busca de CVE y riesgos de inyección |
pnpm test | Ejecuta el conjunto completo de pruebas |
pnpm security-swarm:fast | Regresión de seguridad rápida, de 5 a 15 minutos |
pnpm security-swarm:analyze | Análisis adversarial completo |
| Problema | Solución |
|---|
| El panel no muestra datos | El proxy y el panel deben compartir el mismo MASTYF_AI_DB_PATH. El valor por defecto es ~/.mastyf-ai/history.db |
dist/cli.js no encontrado | Ejecuta pnpm build |
| La IA aún accede directamente a las herramientas | Ejecuta node dist/cli.js onboard --apply |
| Advertencias de Ollama al inicio | Ejecuta ollama serve o elimina MASTYF_AI_LLM_PROVIDER de tu entorno |
| npm install falla | La publicación en npm aún no está activa. Usa git clone y pnpm install |