random_challenge_sequencer
SKILL.md
random_challenge_sequencer
Genera una secuencia aleatoria e imprevisible de challenges activos para cada sesión, haciendo imposible que un atacante grabe y reproduzca la respuesta correcta.
When to use
Usar al inicio de cada sesión de liveness para determinar qué challenges se solicitarán al usuario.
Instructions
- Definir el pool de challenges disponibles:
['blink_2x', 'turn_left', 'turn_right', 'smile', 'nod']. - Para cada sesión, seleccionar aleatoriamente 2-3 challenges:
selected = random.sample(pool, k=2). - Usar
secrets.SystemRandom()(norandom.random()) para mayor entropía criptográfica. - Incluir el timestamp y session_id en la semilla para que la secuencia sea irrepetible.
- Almacenar la secuencia esperada en Redis con TTL de 120 segundos:
SETEX session:{id}:challenges 120 {challenges}. - El frontend recibe los challenges encriptados; no en texto plano.
- Validar que cada challenge se completa en el orden correcto.
Notes
- Rotar el pool de challenges periódicamente para evitar que atacantes conozcan todas las opciones.
- No reusar la misma secuencia aunque el usuario repita la sesión.
Weekly Installs
1
Repository
davidcastagnetoa/skillsFirst Seen
10 days ago
Installed on
mcpjam1
claude-code1
replit1
junie1
windsurf1
zencoder1