面向 AI agent 的 MongoDB 安全聚焦于集合级写入、结构变更与聚合模式。FutrixData 按操作类型(find、aggregate、updateMany、dropDatabase)检视 Mongo 操作,并使用 explain 输出在向 agent 输送数 GB 数据之前捕获集合扫描。
MongoDB 风险与 SQL 不同。危险操作是集合 drop、角色授予、写入其他集合的聚合阶段($merge、$out),以及把整个集合物化进 agent 上下文的无界 find。
FutrixData 同时解析 JSON 与 shell 形式的 Mongo 操作,因此 db.users.drop() 与 { "drop": "users" } 解析为同一规则。
| 操作 | 默认动作 |
|---|---|
find、aggregate、count | allow |
insertOne、insertMany、updateOne、updateMany、replaceOne、deleteOne、deleteMany | warn |
跨集合聚合($lookup、$unionWith) | warn |
含 $merge 或 $out 的聚合 | require_approval |
renameCollection、collMod、dropIndexes | require_approval |
drop、dropDatabase | block |
createUser、dropUser、grantRolesToUser | block |
对 find 与 aggregate,FutrixData 会运行 explain 并检查:
命中索引字段的查询保持低风险;同样的查询若在未建索引字段上使用正则,则升级至中风险。
events 的普通插入;对 users 的任何更新均需审批。audit_logs 的 $out。// agent 尝试:
db.users.drop()
// FutrixData 响应:
{ "ok": false, "risk": "block", "rule": "mongo.drop_collection", "audit_id": "audit_01HQ8N..." }// agent 尝试:
db.events.aggregate([
{ $match: { kind: "purchase" } },
{ $out: "purchases_summary" }
])
// FutrixData 响应:
{ "ok": false, "risk": "require_approval", "rule": "mongo.aggregate_writes_other_collection" }支持。FutrixData 通过标准 MongoDB 驱动连接,因此 MongoDB Driver支持的一切 — 副本集、分片集群、MongoDB Atlas — 行为一致。规则评估在 FutrixData 内运行;explain 探针使用与真实查询相同的连接。
包含 $where 的聚合与查找会被标记为 warn 或更高级别。该规则按集合可配置 — 你可以在生产数据源上硬阻断 $where,在开发环境放行。
可以。作用域可以是数据库类型(所有 MongoDB)、特定数据源实例(仅 prod-mongo)或特定集合。作用域更精确的规则优先级更高。
可以。FutrixData 把 Atlas 与其他 MongoDB 端点等同对待 — 输入连接字符串,输出脱敏结果。Atlas 的 IP 白名单需要包含 FutrixData 主机(自托管时则为你的网络出口)。
静态规则评估只需微秒级。Explain 探针只在访问路径重要的读取上额外加一次往返。写入仅做静态评估 — 没有探针。
免费桌面应用支持 macOS、Windows、Linux。生产环境部署可选自托管 Enterprise Edition。