mcpField
M
Mastyf.ai

Mastyf.ai

本地服务
mastyf.ai安全212 天前更新

关于 Mastyf.ai

Mastyf.ai 是一个开源的 AI 安全平台,作为 AI Agent 与 MCP 的本地参考监控器和安全网关运行。它在工具调用真正执行前依据策略进行拦截与判定,并记录所有决策,适合需要约束 AI Agent 行为的团队。

主要功能

  1. 01拦截并判定每一次工具调用
  2. 02基于模式检测、Schema 校验和语义审查的分层防护
  3. 03可在 audit、warn、block 模式间切换的策略
  4. 04带仪表盘的活动日志与成本统计

适用场景

  1. 01阻止 AI Agent 访问敏感路径或泄露密钥
  2. 02在上线前对策略进行对抗性测试并回归验证

MCP 相关

该项目作为 MCP 网关位于 MCP 客户端与工具后端之间,对经过的工具调用进行策略检查与拦截。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mastyf.ai": {
"command": "npx",
"args": [
"-y",
"@mastyf_ai/server"
],
"env": {
"MASTYF_AI_DB_PATH": "<MASTYF_AI_DB_PATH>",
"ALERT_WEBHOOK_URL": "<ALERT_WEBHOOK_URL>",
"METRICS_ENABLED": "<METRICS_ENABLED>"
}
}
}
}
启动命令npx -y @mastyf_ai/server
需要配置的环境变量
MASTYF_AI_DB_PATHPath to SQLite history database
ALERT_WEBHOOK_URL密钥Slack or Discord webhook for critical alerts
METRICS_ENABLEDExpose Prometheus metrics

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@mastyf_ai/server4.1.12

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

mastyf.ai 标志

mastyf.ai

守护操作边界,而不只是提示词。

面向 AI Agent 和 MCP 的本地引用监控器与安全网关。
你的大模型提出操作,Mastyf 决定这些操作能否触达真实世界。

网站 · 快速入门 · 策略 · 仪表板 · GitHub

Zenodo DOI 许可证 CI 状态 版本 TypeScript npm

说明

**企业版与云平台支持:**Mastyf 已通过验证,并作为原生 CONTENT_AUTHZ 服务扩展部署在 Google Cloud Agent Gateway(us-central1)上,具备分布式 Redis 状态、亚秒级故障关闭执行以及实时 BigQuery 审计日志记录。请参阅 Google Agent Gateway 操作手册。


问题

AI Agent 可以读取文件、推送代码、查询数据库、执行 shell 命令并调用外部 API。它们以机器速度自主执行这些操作。

传统安全控制并非为此而设计。

Mastyf.ai 充当 AI 的边界安全层。它会拦截每次工具调用,使用多 Agent 群体分析,根据安全策略进行评估,并在恶意或未经授权的操作执行前将其拦截。

每项决策都会得到强制执行、记录和审计。


可拦截的威胁

威胁表现形式
提示词注入嵌入工具参数中的恶意指令,用于劫持 Agent 行为
路径遍历尝试访问 /etc/passwd、.ssh/id_rsa、.aws/credentials
密钥外泄API 密钥和令牌通过工具参数泄漏
Shell 注入反向 shell、rm -rf、编码后的 PowerShell 命令
数据外泄批量 SQL 转储、git push、aws s3 cp、未经授权的文件传输
SSRF对元数据端点、localhost 和私有 IP 地址范围发起调用
编码规避利用 Base64 数据块和 Unicode 同形字符绕过模式检测
成本滥用Agent 循环失控,耗尽令牌预算
Rug-pull 攻击工具定义在会话中途悄然变更

快速入门

🛡️ Mastyf 安全网关与受保护的 Agent(Python 快速入门)

运行本地参考监视器、MCP 发现功能和自然语言受保护 Agent 运行时:

# Install Mastyf Gateway package
git clone https://github.com/mastyf-ai/mastyf.ai.git
cd mastyf.ai/mastyf_gateway
pip install -e .

# Launch Mastyf (Auto-discovers tools, prompts for permissions, and starts protected agent)
mastyf
  • 首次运行时,Mastyf 会自动发现本地 MCP 服务和工具,使用自然语言询问你希望授予的权限,展示保守的差异对比,并在你确认后启用策略。
  • 对话式 Agent 提出的每个工具调用都会被参考监视器拦截($A = \text{CBAC} \cap \text{DIFC} \cap \text{Workflow}$)。对于非 ALLOW 操作,发送到工具后端的数据严格为 0 字节。
  • 包含实时安全 HUD和加密回执审计链(mastyf audit verify)。
常用 CLI 命令
# Start interactive protected agent (or first-run onboarding if fresh install)
mastyf

# Run a single query non-interactively
mastyf -m "Find unpaid customer invoices"

# Propose a policy change in plain English
mastyf policy "Allow reading invoices, but never delete data or make HTTP calls"

# Inspect staged proposed policy vs active policy diff
mastyf policy status

# Promote staged policy to active enforcement
mastyf policy activate

# Intercept an MCP server via stdio reverse proxy
mastyf proxy -- uvx mcp-server-sqlite --db /tmp/test.db

# Cryptographically verify the tamper-evident execution receipt ledger
mastyf audit verify --ledger ~/.mastyf/receipts.jsonl

# Run local action boundary failure mode demonstrations
mastyf demo --scenario all

从源代码构建(TypeScript / 云平台)

克隆代码库并运行设置脚本。

要求:

  • Git
  • Linux(如果尚未安装 Nix,设置脚本会自动安装)
git clone https://github.com/mastyf-ai/mastyf.ai.git
cd mastyf.ai
chmod +x setup.sh
./setup.sh

设置脚本会自动:

  • 安装 Nix(如有需要)
  • 启用 Nix flakes
  • 创建开发环境
  • 安装所有项目依赖项
  • 重新构建原生软件包
  • 构建整个项目
  • 添加便捷的 mastyf shell 别名

安装完成后,启动代理和仪表板:

node dist/cli.js start

或者打开新终端后直接使用别名:

mastyf

仪表板将在以下地址提供:


测试安装

如果仪表板正在运行,请验证 HTTP 桥接:

curl -X POST http://localhost:4000/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}'

仪表板

全面了解 AI 执行的每项操作。

20260628-1234-42 0110563
区域内容
防护拦截率、触发次数最多的规则、实时威胁动态
活动每次工具调用的完整参数、允许或拦截状态、时间戳
策略实时规则编辑器,支持从 YAML 热重载
威胁实验室AI 建议的攻击测试,须经审核和批准后才会生效
成本按工具调用细分的 Token 用量和成本估算

仪表板默认启用身份验证,包括本地回环地址。启动脚本会创建 $MASTYF_HOME/dashboard_api_key,但绝不会打印其内容。只有在明确隔离的本地测试中才设置 DASHBOARD_AUTH_DISABLED=true——如果绑定到非本地回环地址,则不允许这样配置。


强制执行机制

每次工具调用到达你的基础设施之前,都会经过三层检查。

第 1 层 - 模式检测 通过基于正则表达式的扫描,检测注入、危险路径、泄露的机密、shell 命令和编码技巧。扫描在微秒内完成,无需外部依赖项。

第 2 层 - 架构验证 在进入策略评估之前,拒绝格式错误的负载、超大参数和违反 JSON-RPC 规范的请求。

第 3 层 - 语义审核 可选的本地 LLM(Ollama)或云端模型会评估通过模式检查的边界情况调用。如果未配置模型,则回退到启发式方法。

任何未通过检查的调用都会被拦截。工具不会运行。所有内容都会记录。

image

策略

规则位于 default-policy.yaml 中。由你掌控,mastyf.ai 负责执行。

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', '`[^`]+`']

通过三种强制执行模式安全地逐步上线:

模式行为适用时机
audit记录所有内容,不拦截任何操作第一周,了解 AI 的行为
warn记录并标记,但仍会转发强制执行前的调优阶段
block在执行前阻止违规操作生产环境

policy-templates/ 中提供了 HIPAA、PCI-DSS、GxP 和数据驻留的预置模板。

image

架构

mastyf.ai 运行着两支协同工作的蜂群。CI 蜂群会在代码发布前检验你的策略。运行时蜂群会在生产环境中强制执行策略,并从每次实时工具调用中学习。四个反馈循环将两者连接起来,让系统随着时间推移越来越难以绕过。

flowchart TB

  AI["🤖 AI Clients\nCursor · Claude Desktop · Cline"]

  subgraph CI["🔵 CI Swarm (PR + Nightly)"]
    direction LR
    Scout["🔍 Scout Agent\nSAST, deps, config scan"]
    Corpus["📋 Corpus Agent\n228 fixtures eval"]
    Evasion["⚡ Evasion Agent\n120+ probes + generate new"]
    Parity["🔄 Parity Agent\nNode vs Python"]
    ProxyA["🖥️ Proxy Agent\nLive stdio MCP tests"]
    Report["📊 Report Agent\nsecurity-swarm/latest.json"]
    Scout --> Corpus --> Evasion --> Parity --> ProxyA --> Report
  end

  subgraph Runtime["🟢 Runtime Swarm (Production Proxy)"]
    direction LR
    BG["🛡️ BlockGuard\nsync policy"]
    IL["📈 InstantLearner\nper-block stats + suggestions"]
    SA["🧠 SemanticAuditor\nasync LLM, optional"]
    PS["🔗 PatternSynthesizer\nbatch suggestions"]
    Cal["⚙️ Calibrator\nlabels + thresholds"]
    BG --> IL --> PS --> Cal
    BG --> SA --> PS
  end

  Tools["🗄️ MCP Tools\nfilesystem · GitHub · databases · APIs"]

  AI -->|"every tool call"| BG
  BG -->|"✅ allowed"| Tools
  Report -->|"🔁 Loop A: bypasses to corpus"| Corpus
  Cal -->|"🔁 Loop B: blocks to rules"| BG
  Cal -->|"🔁 Loop C: labels to LLM"| SA
  Report -->|"🔁 Loop D: CI metrics weekly"| 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

**规范门槛:**228/228 测试集,0 次绕过,100% 一致性

CI 蜂群

每次 PR 和每晚都会运行。六个 Agent 按顺序工作,每个 Agent 都会加固前一个 Agent 发现的问题。

Agent工作内容
ScoutSAST 扫描、依赖项审计、配置审查
Corpus根据当前策略评估全部 228 个攻击测试样例
Evasion运行 120+ 项绕过探测,并使用大模型生成新探测
Parity验证 Node 和 Python 实现是否产生相同决策
Proxy针对运行中的代理实例进行实时 stdio MCP 会话测试
Report将完整结果和指标写入 security-swarm/latest.json
运行时蜂群

在生产代理内部运行,处理每次工具调用。

组件工作内容
BlockGuard在每次调用时同步执行当前策略。默认拒绝。
InstantLearner跟踪每条规则的统计数据,并实时提供规则建议
SemanticAuditor可选的异步大模型审查,用于检查通过模式检查但看起来可疑的调用
PatternSynthesizer将 InstantLearner 和 SemanticAuditor 的建议汇总为候选规则
Calibrator为候选规则添加标签、调整阈值,并将获批规则提升回 BlockGuard
反馈循环
循环信号效果
ACI 发现绕过方式将其加入测试集,CI 此后会持续防范该方式
B运行时拦截模式将其综合为新规则,并提升至 BlockGuard
CCalibrator 标签用于微调 SemanticAuditor 阈值
DCI 指标(每周)更新运行时配置,使 CI 与生产环境保持同步

该代理支持五种传输方式:stdio、HTTP、SSE、streamable HTTP 和 WebSocket。

有关使用 Redis、Postgres 和 Kubernetes 的企业部署,请参阅 docs/ENTERPRISE_DEPLOYMENT.md。


威胁实验室

威胁实验室会监控实时流量,并在检测到可疑模式时使用本地大模型提出新的攻击测试用例。不会自动应用任何内容。每条建议都必须先由你在仪表板中审核并批准,才能成为规则。

经批准的发现会反馈至 CI 攻击测试集,用于持续回归测试。

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
image

MCP 包信任评分

在从 npm 安装任何 MCP 服务之前,请先在 https://www.mastyf.ai/certified 查看其信任评分。评分涵盖 CVE 暴露风险、拼写仿冒风险、维护者信号和已知攻击模式。免费使用,无需账号。


常用命令

命令工作内容
pnpm dashboard:proxy规范本地设备 + 网关 BFF(:4000 上的 /api/gateway/*)。请参阅 docs/DASHBOARD_CANONICAL_RUNBOOK.md。
node dist/cli.js start在端口 4000 上启动代理和仪表板
node dist/cli.js onboard包装你的 MCP 配置,使流量经由代理路由
node dist/cli.js doctor检查数据库、策略和环境的运行状况
node dist/cli.js scan --all扫描 MCP 配置中的 CVE 和注入风险
pnpm test运行完整测试套件
pnpm security-swarm:fast快速安全回归测试,耗时 5 至 15 分钟
pnpm security-swarm:analyze完整对抗性分析

故障排查

问题解决方法
仪表板没有显示数据代理和仪表板必须共用相同的 MASTYF_AI_DB_PATH。默认值为 ~/.mastyf-ai/history.db
找不到 dist/cli.js运行 pnpm build
AI 仍在直接调用工具运行 node dist/cli.js onboard --apply
启动时出现 Ollama 警告运行 ollama serve,或从环境中移除 MASTYF_AI_LLM_PROVIDER
npm 安装失败npm 发布尚未开放。请使用 git clone 和 pnpm install

了解更多


学术研究论文与引用

如果你在研究或生产系统中使用 Mastyf Guard、其基准测试方法或 Cognitive Harvard Architecture,请引用我们的开放获取出版物:

DOI

Das, R. (2026). 面向 AI Agent 边界防御的 Cognitive Harvard 架构:通过基于能力的访问控制解决 Model Context Protocol 中的混淆代理问题。 Zenodo。doi:10.5281/zenodo.22179415。

@article{das2026cognitive,
  title={Cognitive Harvard Architectures for AI Agent Perimeter Defense: Resolving the Confused Deputy Problem in Model Context Protocol via Capability-Based Access Control},
  author={Das, Rudraneel},
  journal={Zenodo},
  year={2026},
  doi={10.5281/zenodo.22179415},
  url={https://doi.org/10.5281/zenodo.22179415}
}

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。