security: workspace_edit.xterm 未登录直接拒绝,去掉匿名回退 admin

此前 'if not uid: uid = user-01' 把未登录者当成 admin:结合 RBAC 通配授权,
匿名可拿到 admin 工作空间的编辑器进程,读写工作空间全部源码与 env/*.json(含 DB 密码)。
This commit is contained in:
ymq 2026-08-25 14:47:05 +08:00
parent 6e28214a4e
commit 790d8edb12

View File

@ -6,7 +6,15 @@ file_id = (params_kw or {}).get('id', '').strip()
uid = await get_user()
if not uid:
uid = 'user-01'
# 安全:未登录直接拒绝。此前回退成 'user-01'(admin) —— 结合 RBAC 通配授权,
# 未登录者可拿到 admin 工作空间的编辑器进程bwrap 沙箱内仍可读写工作空间
# 全部源码与 env/*.json后者含 DB 密码)。禁止匿名回退。
r = DictObject()
r.host = 'localhost'
r.username = 'pipeline'
r.cmdargs = ['echo 未登录,拒绝访问']
r.noinput = True
return r
session_id = (params_kw or {}).get('session_id', '') or ''