Security: JWT tokens have no expiry and admin page bypasses authentication
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- authentication, backend, security
Línea de trabajo
Empieza en worker.py, en create_token, verify_token y _dispatch, y luego inspecciona wrangler.toml para entender cómo se enruta /admin. Confirma con los mantenedores que ambos problemas de seguridad están dentro del alcance antes de programar. Se considera terminado cuando se hace cumplir la duración del token, /admin deja de omitir la autenticación y el comportamiento relevante está cubierto por pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
While exploring the codebase I found two security issues worth discussing:
1. JWT tokens never expire
create_token in worker.py encodes no exp or iat claim.
verify_token never checks expiry. A stolen token is valid forever.
2. Admin page bypasses Basic Auth
wrangler.toml sets run_worker_first = ["/api/*"] only.
Requests to /admin are served directly by Cloudflare Assets,
bypassing the Basic Auth check in _dispatch entirely.
Happy to work on fixes for both if the team confirms these are
in scope. Tagging for discussion before writing any code.
- Lenguaje dominante
- HTML
- Estrellas
- 3
- Forks
- 29
- Merge medio
- 2 d 1 h
- PR fusionados (30 d)
- 9
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de alphaonelabs/learn
-
Password change returns 500 because `username` is used before it is setPosiblemente ocupada @10done la tomó hace 2 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
alphaonelabs/learn#138 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Active Navigation State Is Not Highlighted in the NavbarPosiblemente ocupada @Taha254511 la tomó hace 9 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
alphaonelabs/learn#91 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
add edit an activity buttonPosiblemente ocupada @gopikrishna-20 la tomó hace 4 días. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
alphaonelabs/learn#134 ·
Los mantenedores suelen responder en 1 día
-
Add a "Resend verification email" option on the login pagePosiblemente ocupada @gopikrishna-20 la tomó hace 7 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
alphaonelabs/learn#131 ·
Los mantenedores suelen responder en 1 día
-
[Security] Use random salts for new password hashes, with backward-compatible migrationQuizá libre de nuevo @Taha254511 la tomó hace 7 días y no hay ningún pull request abierto. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
alphaonelabs/learn#130 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de alphaonelabs/learn
Issues similares
-
from-review-extraction library privacy python severity:suggested
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
LearningCircuit/local-deep-research#7951 ·
Los mantenedores suelen responder en 2 días
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
openclaw/openclaw#183929 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Review backlog (security): master-branch remote guard trusts unbound provenance package fieldAbiertoagent/reviewer
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
projectbluefin/utah-packages#634 ·
Los mantenedores suelen responder en 1 día
-
io
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día