mastyf-ai/mastyf.ai
GitHub: mastyf-ai/mastyf.ai
Mastyf.ai 是一个开源的 AI 安全平台,通过多代理集群分析和策略强制执行,为 LLM 和 AI Agent 的每一次工具调用提供运行时边界防护与实时威胁拦截。
Stars: 12 | Forks: 4
mastyf.ai
为您 AI 提供的边界安全。
为每一个 AI 操作提供运行时强制执行、策略控制以及完整的审计追踪。
## 问题所在 AI 代理可以读取您的文件、推送代码、查询数据库、执行 shell 命令以及调用外部 API。它们会以机器速度自主执行这些操作。 传统的安全控制机制并非为此而生。 Mastyf.ai 充当 AI 的边界安全层。它会拦截每一次工具调用,利用多代理集群分析结合您的安全策略对其进行评估,并在恶意的或未经授权的操作执行前将其拦截。 每一个决策都会被强制执行、记录,并且可供审计。 ## 它所拦截的威胁 | 威胁 | 具体表现 | |--------|--------------------| | Prompt injection | 嵌入在工具参数中的恶意指令,旨在劫持代理行为 | | 路径遍历 | 尝试访问 `/etc/passwd`、`.ssh/id_rsa`、`.aws/credentials` | | 机密泄露 | 通过工具参数泄露的 API 密钥和 token | | Shell 注入 | 反向 shell、`rm -rf`、编码后的 PowerShell 命令 | | 数据渗出 | 批量 SQL 转储、`git push`、`aws s3 cp`、未经授权的文件传输 | | SSRF | 对 metadata endpoint、localhost 以及私有 IP 段的调用 | | 编码逃逸 | 用于绕过模式检测的 Base64 数据块和 Unicode 同形字 | | 成本滥用 | 失控的代理循环大量消耗 token 预算 | | Rug-pull 攻击 | 在会话中途静默更改的工具定义 | ## 快速开始 ### 从源码构建 克隆代码仓库并运行安装脚本。 **环境要求:** - 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://localhost:4000 ### 测试安装 如果控制台正在运行,请验证 HTTP 网桥: ``` curl -X POST http://localhost:4000/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}' ``` ## 控制台 全面洞察您的 AI 所执行的每一项操作。
## 策略
您的规则位于 `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` | 在执行前拦截违规行为 | 生产环境 |
针对 HIPAA、PCI-DSS、GxP 和数据驻留的预置模板位于 [`policy-templates/`](policy-templates/) 中。
## 架构
mastyf.ai 运行着两个协同的集群。CI Swarm 在代码发布前对您的策略进行攻击测试。Runtime Swarm 在生产环境中强制执行并从每一次实时的工具调用中学习。四个反馈循环将它们连接起来,使得系统随着时间推移变得更难被绕过。
```
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 Swarm
在每次 PR 和每晚会话中运行。六个代理顺序工作,每一个都在前一个发现的基础上进行强化。
| 代理 | 功能 |
|-------|-------------|
| Scout | SAST 扫描、依赖审计、配置审查 |
| Corpus | 针对当前策略评估所有 228 个攻击测试用例 |
| Evasion | 运行 120 多种绕过探测,并使用 LLM 生成新型探测 |
| Parity | 验证 Node 和 Python 实现是否产生一致的决策 |
| Proxy | 针对正在运行的代理实例进行实时的 stdio MCP 会话测试 |
| Report | 编写包含完整结果和指标的 `security-swarm/latest.json` |
### Runtime Swarm
在生产环境代理内的每次工具调用中运行。
| 组件 | 功能 |
|-----------|-------------|
| BlockGuard | 在每次调用时同步执行活动策略。默认失败拒绝 (Fail-closed)。 |
| InstantLearner | 跟踪单次拦截统计数据,并实时呈现规则建议 |
| SemanticAuditor | 针对通过模式检查但看似可疑的调用,提供可选的异步 LLM 审查 |
| PatternSynthesizer | 将 InstantLearner 和 SemanticAuditor 的建议批量处理为候选规则 |
| Calibrator | 为候选规则添加标签,调整阈值,并将批准的规则提升回 BlockGuard |
### 反馈循环
| 循环 | 信号 | 效果 |
|------|--------|--------|
| A | 发现 CI 绕过方式 | 添加到测试集中,CI 从此对其进行永久防御 |
| B | 运行时拦截模式 | 合成为新规则,提升至 BlockGuard |
| C | Calibrator 标签 | 用于微调 SemanticAuditor 阈值 |
| D | CI 指标(每周) | 更新运行时配置 — 保持 CI 和生产环境同步 |
代理支持五种传输协议:stdio、HTTP、SSE、streamable HTTP 和 WebSocket。
如需了解包含 Redis、Postgres 和 Kubernetes 的企业级部署,请参阅 [`docs/ENTERPRISE_DEPLOYMENT.md`](docs/ENTERPRISE_DEPLOYMENT.md)。
## 威胁实验室
威胁实验室会监控实时流量,并在检测到可疑模式时利用本地 LLM 提出新的攻击测试用例。没有任何操作会自动应用。在它成为规则之前,您需要在控制台中审查并批准每一条建议。
获得批准的发现将被反馈到 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
```
## MCP 软件包信任评分
在从 npm 安装任何 MCP server 之前,请在 [https://www.mastyf.ai/certified](https://www.mastyf.ai/certified) 检查其信任评分。评分涵盖了 CVE 暴露、域名误植风险、维护者信号以及已知的攻击模式。免费,且无需账号。
## 常用命令
| 命令 | 功能 |
|---------|-------------|
| `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 install 失败 | npm publish 尚未上线。请使用 `git clone` 和 `pnpm install` |
## 了解更多
- [企业级部署 (Redis, Postgres, Helm)](docs/ENTERPRISE_DEPLOYMENT.md)
- [深入解析防御流水线](docs/DEFENSE_FABRIC.md)
- [安全集群与 CI 红蓝对抗](security-swarm/README.md)
- [真实世界的 MCP 集成示例](docs/REAL_WORLD_INTEGRATION.md)
- [核心检测引擎](packages/core/README.md)标签:AI代理, AI安全, AI风险缓解, AMSI绕过, Chat Copilot, CISA项目, DLL 劫持, Lerna, MITM代理, TypeScript, 大语言模型, 威胁检测, 子域名突变, 安全插件, 搜索引擎查询, 测试用例, 策略执行, 网络安全审计, 自动化攻击, 防御平台