GCWing / GCWing/OpenBitFun

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

Offen
#2,606 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
2.3k
Forks
231
Ø Merge
2 Std. 46 Min.
Gemergte PRs (30 T.)
577

Beschreibung

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).

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust
Bereich
authorization, security
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
74/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.