Authorization mode leaves generation, indexing, chat, and cache reads unprotected
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- api, authentication, authorization, backend, security
Línea de trabajo
Start with api/routers/auth.py, api/routers/wiki.py, api/routers/repo.py, and the existing DELETE /api/wiki_cache authorization check. Trace how WIKI_AUTH_MODE and WIKI_AUTH_CODE are validated, then inspect the routes named in the report and issue #595 for the stated fix. Done means protected routes consistently reject unauthenticated requests while authorized generation, indexing, chat, codemap, and cache access still work.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Affected versions: confirmed on main at commit d92819a9 (the project publishes no tagged release).
Summary
WIKI_AUTH_MODE's shared authorization code is checked by the frontend's gate screen and by DELETE /api/wiki_cache, but the backend never creates an authenticated session and does not enforce the code on any other route. Wiki generation, repo indexing, chat, codemap, and cache-read endpoints all perform zero authorization check regardless of WIKI_AUTH_MODE.
Details
# api/routers/auth.py
@router.post("/validate")
async def validate_auth_code(request: AuthorizationConfig):
return {"success": WIKI_AUTH_CODE == request.code} # no session created
# api/routers/wiki.py
@router.post("/wiki/tasks", response_model=WikiTaskSubmitResult)
async def submit_wiki_task(request: WikiTaskRequest):
return await registry.submit(...) # no auth check at all
# api/routers/repo.py
@router.post("/prepare")
async def prepare_repo_index(request: RepoPrepareRequest):
...
task = asyncio.create_task(prepare_index(request)) # no auth check at all
A full grep of api/ confirms WIKI_AUTH_CODE/WIKI_AUTH_MODE are referenced nowhere else in the router layer except the one DELETE /api/wiki_cache check.
POC
(available upon request)
Impact
An operator who enables WIKI_AUTH_MODE specifically to gate access to a deployment gets no actual protection on any route except cache deletion: anyone who bypasses the frontend gate screen (trivial, since it's enforced client-side) can trigger generation/indexing (provider-funded compute cost) and read chat/cache content.
Suggested fix: create a backend authentication dependency and apply it consistently to every protected route. A fix is included in the linked PR.
Fix: #595
- Lenguaje dominante
- Python
- Estrellas
- 18.1k
- Forks
- 2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
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 AsyncFuncAI/deepwiki-open
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
AsyncFuncAI/deepwiki-open#608 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AsyncFuncAI/deepwiki-open#602 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
AsyncFuncAI/deepwiki-open#589 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AsyncFuncAI/deepwiki-open#539 · 1 comentario ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
AsyncFuncAI/deepwiki-open#610 ·
Todos los issues de AsyncFuncAI/deepwiki-open
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Graphify-Labs/graphify#4241 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
DeviceTrackerAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
XiaoMi/ha_xiaomi_home#1821 ·
Los mantenedores suelen responder en 1 día
-
Maven path-index: "Ambiguous or noncanonical artifact path" error does not report the offending pathAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
pulp/pulp_maven#524 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día