Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Security: shell HTTP routes (v1 + v2) spawn processes with no permission gate

Abierto
#1,019 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
typescript
Área
api, backend, security

Línea de trabajo

Comienza con los dos handlers mencionados: src/server/routes/instance/httpapi/handlers/session.ts:367-388 y src/server/routes/session.ts:1004-1034, y luego sigue sus llamadas hasta SessionPrompt.shell en src/session/prompt.ts:2580. Lee cómo las rutas cercanas aplican permisos o Rulesets. El trabajo estará terminado cuando las rutas HTTP de shell v1 y v2 comprueben un gate de permisos apropiado antes de iniciar un proceso.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Surfaced by the S2 route-matrix audit (PR #1014). Both the v1 and v2 shell HTTP routes reach SessionPrompt.shell (raw spawn, src/session/prompt.ts:2580) with only a session-existence check — no permission/Ruleset gate of any kind:

  • v2 HttpApi: src/server/routes/instance/httpapi/handlers/session.ts:367-388 — gated only by requireSession(ctx.params.sessionID).
  • v1 Hono: POST /session/:sessionID/shell, src/server/routes/session.ts:1004-1034 — handler calls SessionPrompt.shell directly, no permission check.

This is outside HardPolicy's model-invoked-tool boundary (it's a direct HTTP raw-exec route, not a model tool call), so it's out of the de-fork spike's scope — but it's a real gap: anyone who can hit the session's shell endpoint gets unrestricted process execution. Worth a dedicated permission gate on both routes.

Pre-existing (not introduced by the de-fork work); filing so it's tracked rather than lost in a PR doc.

Lenguaje dominante
TypeScript
Estrellas
813
Forks
134
Merge medio
2 d 3 h
PR fusionados (30 d)
65

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de AltimateAI/altimate-code

Todos los issues de AltimateAI/altimate-code

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.