面向 AI agent 的 Redis 安全会拦截清空命令(FLUSHALL、FLUSHDB、SHUTDOWN)、管理类命令(CONFIG SET、MIGRATE、SCRIPT FLUSH)以及阻塞性读取(KEYS *、宽 LRANGE / ZRANGE)。Redis 没有 EXPLAIN 等价物 — FutrixData 通过命令语义与 key 模式来治理。
Redis 风险更接近"命令安全"与"key 范围安全",而非查询优化。危险操作是清空命令、会阻塞单线程服务的大范围扫描,以及变更集群状态、ACL 或模块的管理命令。
| 命令类别 | 默认动作 |
|---|---|
FLUSHALL、FLUSHDB、SHUTDOWN | block |
CONFIG SET、CONFIG RESETSTAT、危险的 CLUSTER 子命令 | block |
ACL SETUSER、ACL DELUSER、SCRIPT FLUSH、FUNCTION FLUSH、MODULE LOAD、CLIENT KILL、MIGRATE | block |
写入 — SET、DEL、HSET、LPUSH、SADD、ZADD、EXPIRE、RENAME | warn |
大范围读取 — KEYS、SCAN、HGETALL、SMEMBERS、宽 ZRANGE / LRANGE | warn |
脚本 — EVAL、EVALSHA | warn |
规则可以按 key 模式配置,例如:
session:* 仅允许读取 — 不允许删除。prod:* 的写入需要审批。secrets:* 的读取不被允许。Redis 不暴露执行前的成本估算。FutrixData 把命令语义与 key 模式作为控制面 — 没有像 SQL EXPLAIN 那样的探针层。这是有意的:如果探针本身要执行 KEYS,就会制造出我们正想阻止的问题。
// agent 尝试:
FLUSHALL
// FutrixData 响应:
{ "ok": false, "risk": "block", "rule": "redis.flush_all" }// agent 尝试:
KEYS *
// FutrixData 响应:
{ "ok": false, "risk": "warn", "rule": "redis.broad_scan",
"reason": "KEYS * blocks the server on large keyspaces; use SCAN with MATCH" }支持。集群连接会被自动识别,规则按命令应用。危险的 CLUSTER 子命令(CLUSTER FAILOVER、CLUSTER RESET)默认阻断。
会处理。BLPOP、BRPOP 与 WAIT 会被识别;可以约束超时并要求审批无界阻塞调用。
可以 — 按数据源。在 prod-redis 上阻断 FLUSHDB,在 dev-redis 上允许(或 warn)。信任模式提供另一个抓手:开发数据源用 Trusted,生产数据源用 Cautious。
EVAL / EVALSHA 默认 warn。可以按数据源硬阻断它们。SCRIPT FLUSH 与 FUNCTION FLUSH 直接阻断。
可以。FutrixData 通过支持 Sentinel 的 Redis 客户端连接;规则评估完全相同。
免费桌面应用支持 macOS、Windows、Linux。生产环境部署可选自托管 Enterprise Edition。