GCWing / GCWing/OpenBitFun

[Security]: SessionControl list enumerates sessions in any workspace without caller-ownership check

Aperta
#2,606 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
2.2k
Fork
229
Merge medio
2h 46m
PR unite (30g)
577

Descrizione

Summary: SessionControl's list action accepts an explicit `workspace` argument and enumerates every session in it without checking whether the caller session belongs to that workspace. A delegated session can therefore enumerate other workspaces' session summaries (ids, names, activity times).

Area: Agent runtime / core

Reproduction or evidence: src/crates/assembly/core/src/agentic/tools/implementations/session_control_tool.rs:653-692 — the List branch resolves the effective workspace (resolve_effective_workspace, which for List accepts any workspace argument) and calls runtime.list_sessions directly; no caller-ownership check exists between resolution and enumeration.

Environment: BitFun version/commit 32f2427697ee16f253ee6119860a03255c0b3e47 (origin/main).

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Start in src/crates/assembly/core/src/agentic/tools/implementations/session_control_tool.rs:653-692 and trace the List branch through resolve_effective_workspace to runtime.list_sessions. Check how caller-session ownership is represented and add coverage for delegated sessions listing another workspace; done means such enumeration is rejected while permitted listings still work.

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

Valutazione

Stack tecnologico
rust
Ambito
authorization, security
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Specificata chiaramente
Idoneità per principianti
74/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.