FutrixData logo FutrixData
Redis 安全性

AI エージェント向け Redis 安全性 — FLUSHALL、KEYS *、管理コマンドをブロック

AI エージェント向け Redis 安全性は、ワイプコマンド (FLUSHALL、FLUSHDB、SHUTDOWN)、管理コマンド (CONFIG SET、MIGRATE、SCRIPT FLUSH)、ブロッキング読み込み (KEYS *、広範な LRANGE / ZRANGE) をインターセプトします。Redis には EXPLAIN 相当のものがありません — FutrixData はコマンドセマンティクスとキーパターンによって統制します。

Redis のリスク表面

Redis のリスクは、クエリ最適化よりもコマンド安全性とキー範囲安全性に近いです。危険な操作は、ワイプコマンド、シングルスレッドサーバーをブロックする広範なスキャン、クラスタ状態、ACL、モジュールを変更する管理コマンドです。

組み込みの Redis ルール

コマンドクラスデフォルトアクション
FLUSHALLFLUSHDBSHUTDOWNblock
CONFIG SETCONFIG RESETSTAT、危険な CLUSTER サブコマンドblock
ACL SETUSERACL DELUSERSCRIPT FLUSHFUNCTION FLUSHMODULE LOADCLIENT KILLMIGRATEblock
書き込み — SETDELHSETLPUSHSADDZADDEXPIRERENAMEwarn
広範な読み込み — KEYSSCANHGETALLSMEMBERS、広範な ZRANGE / LRANGEwarn
スクリプト — EVALEVALSHAwarn

キーパターンルール

ルールはキーパターンによって設定できます。例:

なぜ Redis に EXPLAIN 相当のものがないのか

Redis は実行前のコスト推定を公開しません。FutrixData はコマンドセマンティクスとキーパターンを制御面として使用します — SQL EXPLAIN パスのようなプローブ層はありません。これは意図的なものです: KEYS 自体を含むプローブを実行することは、まさに防止しようとしている問題を作り出します。

サンプル

ワイプコマンドのインターセプト
// Agent attempts:
FLUSHALL

// FutrixData response:
{ "ok": false, "risk": "block", "rule": "redis.flush_all" }
広範なスキャンをフラグ
// Agent attempts:
KEYS *

// FutrixData response:
{ "ok": false, "risk": "warn", "rule": "redis.broad_scan",
  "reason": "KEYS * blocks the server on large keyspaces; use SCAN with MATCH" }

よくある質問

これは Redis Cluster をサポートしていますか?

はい。クラスタ接続は自動的に認識され、ルールはコマンドごとに適用されます。危険な CLUSTER サブコマンド (CLUSTER FAILOVERCLUSTER RESET) はデフォルトでブロックされます。

ブロッキングコマンドは処理されますか?

はい。BLPOPBRPOPWAIT は認識されます。タイムアウトをスコープしたり、無制限のブロッキング呼び出しに承認を必要とすることができます。

開発キーでのみ FLUSHDB を許可できますか?

はい — データソース別に。prod-redis では FLUSHDB をブロックし、dev-redis では許可 (または警告) します。信頼モードがもう 1 つのレバーを追加します: 開発ソースは Trusted で、本番は Cautious で実行できます。

Lua スクリプト (EVAL) はどうですか?

EVAL / EVALSHA はデフォルトで warn です。ソースごとにハードブロックできます。SCRIPT FLUSHFUNCTION FLUSH は完全にブロックされます。

Sentinel で動作しますか?

はい。FutrixData は Sentinel 対応の Redis クライアントを介して接続します。ルール評価は同じです。

FutrixData をご自身のデータベースで試す

macOS、Windows、Linux 向けの無料デスクトップアプリ。本番環境にはセルフホスト型 Enterprise Edition もご利用いただけます。