FutrixData logo FutrixData
AI 数据库代理

AI 数据库代理:面向 AI agent 与数据库的统一网关

AI 数据库代理位于 AI agent(Claude Code、Cursor、Codex、OpenCode、自定义 MCP 客户端)与数据库之间,对每次调用强制执行脱敏、查询防护栏、身份与审计 — 让 agent 既能保持生产力,又不会因为误操作破坏你的黄金数据。

什么是 AI 数据库连接代理?

AI 数据库代理是一项中介所有 AI agent 数据库调用的服务,取代了每个 agent 各自持有数据库连接密钥的模式。它接收查询(SQL、Mongo、Redis 命令、Elasticsearch DSL、ChromaDB),按策略评估,再到真实数据库上执行,并将处理后的结果返回给 agent。

数据库代理承担了数据库本身无法表达的控制项:

为什么 AI agent 需要代理

把原始连接密钥交给 LLM,配置很快 — 后悔也很快。在生产环境中会出现五类风险:

  1. 破坏性查询。agent 会幻觉。一项"清理过期记录"的任务可能在无人察觉的情况下变成 DELETE FROM users
  2. 凭证泄露。连接字符串最终会出现在提示词、日志、追踪导出中 — 然后进入别人的训练数据。
  3. PII 被发送至第三方模型。客户姓名、卡号、生物特征数据被序列化进提示词,发送给 agent 使用的任意 LLM。
  4. 没有审计轨迹。"是 agent 干的"无法让你的事件复盘或合规审查者满意。你需要"谁、做了什么、何时、为什么被允许" — 写在事后可以核验的位置。
  5. 每个 agent 都拥有过大的操作权限。agent 继承开发者的凭证 — 通常是对所有表的读写权限。当聊天机器人能 TRUNCATE/DELETE 时,最小权限原则便形同虚设。
  6. 每个 agent 都拥有过小的操作权限。如果每个 agent 的权限又很小,那 agent 执行任务束手束脚又很难完全自动化。

FutrixData 如何实现代理

所有数据库操作都流经单一执行管理器。在数据库适配器执行之前,静态规则与数据库专属探针会先评估它。

完整流程:

  1. agent 通过 MCP、Skill、CLI 发送查询。
  2. FutrixData 解析数据源、解析语句,并匹配静态规则。
  3. 对 SQL、MongoDB 与 D1,执行预先 EXPLAIN 探针,检查扫描行数、索引使用与连接。/ 对于 ElasticSearch、ChromaDB、DynamoDB 、Redis会执行静态的Risk Engine 风险检测。
  4. 合并后的风险等级(allow / warn / require_approval / block)与每个数据源的信任模式(Approval / Cautious / Trusted / Danger)协调。
  5. 数据库适配器执行查询,结果按字段脱敏,并写入审计条目。

CLI、MCP、Skill 与应用内 AI Chat 共享同一服务层策略 — 它们不会出现行为分歧。

FutrixData 在代理层强制执行的内容

关注点机制
凭证暴露连接字符串保存在 FutrixData 主机上,agent 永远看不到它们。
提示词中的 PIIL1–L5 敏感度分级 + agent 结果路径上基于本地密钥的确定性 HMAC 脱敏。
破坏性查询每种数据库内置阻断规则(SQL、Mongo、Redis、ES、DynamoDB)。
大范围查询预执行 EXPLAIN 在全表扫描、缺失索引、深度分页时升级风险。
身份逐 agent 的访问密钥;吊销立即生效并保留历史记录。
审计每次调用都记录 agent、数据源、目标、语句、结果、命中的规则。

支持的数据库

FutrixData 通过单一接口为 MySQL、PostgreSQL、MongoDB、Redis、Elasticsearch、ChromaDB、DynamoDB 与 Cloudflare D1 提供代理。每种数据库类型都有各自的解析器、规则集和探针 — Redis 不会被当作"换了字符串的 SQL"来处理。

示例

通过 MCP 将 FutrixData 接入 Claude Code
{
  "mcpServers": {
    "futrixdata": {
      "command": "futrixdata",
      "args": ["mcp"],
      "env": {
        "FUTRIXDATA_AGENT_KEY": "fxd_live_..."
      }
    }
  }
}

常见问题

什么是 AI 智能数据库代理?

它是一项服务,拦截 AI agent 发出的每次数据库调用,应用组织级策略(脱敏、防护栏、身份、审计),仅将安全操作转发给底层数据库。agent 看到代理;数据库只看到代理。

为什么 AI agent 不能直接连接我的数据库?

它们可以 — 但是它们会 DROP 一张表、泄露一个连接字符串、把 PII 发送到 OpenAI 或其他 LLM,又或被 prompt injection 攻击而把数据泄露给攻击者。直连会让 agent 获得开发者拥有的全部权限:没有逐 agent 的身份、没有对执行语句的精细控制、没有结果脱敏、没有集中的审计轨迹。FutrixData 承担了数据库本身无法处理的控制面。数据路径请见 trust,网关未覆盖的范围请见 limitations

FutrixData 是 MCP 服务器吗?

FutrixData 支持 MCP、Skill 或者 CLI。从 Claude Code 或 Cursor 的角度看,它就像一个 MCP 服务器。在内部它是一个完整的数据网关 — MCP 接口只是几个入口之一,所有入口共享同一风险引擎与审计流水线。

代理会增加延迟吗?

对 MySQL 或 PostgreSQL 上有索引的点读,开销主要由解析与规则匹配主导 — 通常只有几毫秒。预执行 EXPLAIN 探针只在 SQL/Mongo/D1 的读取上运行,且仅当访问路径重要时才执行;Redis 命令则只执行静态危险命令检查。实际上,相对 agent 本身就较大的 LLM 往返延迟,这部分延迟几乎可以忽略不计。

哪些 AI agent 可与 FutrixData 协同工作?

Claude Code、Cursor、Codex(CLI)、OpenCode、Windsurf,以及任何兼容 MCP/Skill 的自定义 agent。包括基于 LangChain 的栈和定制自动化 agent。

可以自托管内网运行吗?

可以。FutrixData Enterprise Edition 在你的网络内以单个 Docker 镜像运行 — 数据库凭证不会离开你的生产控制范围。部署细节见 self-hosted

在你自己的数据库上试用 FutrixData

免费桌面应用支持 macOS、Windows、Linux。生产环境部署可选自托管 Enterprise Edition。