Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#1,019 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
typescript
Ambito
api, backend, security

Direzione di ricerca

Inizia con i due handler indicati: src/server/routes/instance/httpapi/handlers/session.ts:367-388 e src/server/routes/session.ts:1004-1034, quindi segui le relative chiamate fino a SessionPrompt.shell in src/session/prompt.ts:2580. Leggi come le route vicine applicano le autorizzazioni o i Rulesets. Il lavoro è completato quando entrambe le route HTTP shell v1 e v2 verificano un gate di autorizzazione appropriato prima di avviare un processo.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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.

Lingua principale
TypeScript
Stelle
813
Fork
134
Merge medio
2g 2h
PR unite (30g)
67

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di AltimateAI/altimate-code

Tutte le issue di AltimateAI/altimate-code

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.