skills/davidcastagnetoa/skills/redis_rate_limiter

redis_rate_limiter

SKILL.md

redis_rate_limiter

Implementa rate limiting con algoritmo de ventana deslizante (sliding window) en Redis para limitar el número de intentos de verificación por IP, dispositivo y número de documento.

When to use

Aplicar en el api_gateway_agent y antifraud_agent como primera línea de defensa contra ataques de fuerza bruta.

Instructions

  1. Instalar: pip install redis.
  2. Algoritmo sliding window con sorted sets de Redis:
    • Key: ratelimit:{type}:{identifier} (ej. ratelimit:ip:192.168.1.1).
    • Añadir timestamp actual: ZADD key {now_ms} {now_ms}.
    • Eliminar entradas fuera de la ventana: ZREMRANGEBYSCORE key 0 {now_ms - window_ms}.
    • Contar: count = ZCARD key.
    • Si count > limit: rechazar. Si no: proceder.
    • Expirar key: EXPIRE key {window_seconds}.
  3. Límites configurables: IP: 10 intentos/hora; device_id: 5 intentos/día; doc_number: 3 intentos/hora.
  4. Devolver headers estándar: X-RateLimit-Limit, X-RateLimit-Remaining, Retry-After.

Notes

  • Para alto rendimiento usar scripts Lua en Redis para atomicidad sin round-trips.
  • Redis Sentinel garantiza que el rate limiter no sea SPOF.
Weekly Installs
1
First Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1