首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >我用 WorkBuddy 揪出并修复了"所有对话都被设为完全权限"的隐患

我用 WorkBuddy 揪出并修复了"所有对话都被设为完全权限"的隐患

原创
作者头像
用户12659486
发布2026-08-17 12:47:20
发布2026-08-17 12:47:20
1480
举报

关键词:WorkBuddy、CodeBuddy、权限安全、SQLite、自动化、踩坑记录 标签:#WorkBuddy

一、背景:一个让人后背发凉的发现

某天我打开 WorkBuddy,顺手点进个人中心,发现一件不对劲的事——几乎每一个对话的权限模式都是"完全权限"(bypassPermissions / fullAccess),而不是默认的受限模式。

"完全权限"意味着 AI 可以跳过所有权限确认、直接执行命令和文件操作。对我这种把教务数据、评教文件都交给 WorkBuddy 处理的人来说,这等于把家门钥匙挂在了门外。而我清楚地记得自己从没主动点过"信任/始终允许"

于是我让 WorkBuddy 当了一次"安全巡检员",把问题彻底查清楚并修掉。下面是完整复盘,照做就能自查你的环境。

二、排查三步(全程用 WorkBuddy 跑 Python,不用任何第三方工具)

WorkBuddy 的会话和自动化配置都存在本机 SQLite 库里:

路径说明:~ 即你的用户目录,Windows 下通常是 C:\Users\<你的用户名>\.workbuddy\

第 1 步:看权限分布

让 WorkBuddy 执行下面这段(它会在沙箱里跑,安全):

正常结果:几乎全是 default我的结果:42 个会话全是 bypassPermissions/fullAccess,0 个默认——印证了隐患。

第 2 步:找到真正的根因(关键!)

我第一反应是把 sessions 表里所有会话改回 default,满以为修好了。结果第二天,自动化任务一跑,又生成了一个完全权限的新会话

原因藏在第二个表里——

sessions.permission_mode 只管"历史会话";而自动化每次运行,是按 automations.permission_mode 字段新建会话的。 只要自动化自己的字段是 fullAccess,它每次跑都会再生一个完全权限会话。我改历史,等于白改。

所以必须两个表一起改才断根。

第 3 步:改回默认 + 备份

⚠️ 写库前务必确认 WorkBuddy 客户端已完全退出,避免写入冲突。

三、修复后还要做的两件事

  1. 重启一次 WorkBuddy:让配置彻底生效,新建对话才会读到 default
  2. 检查客户端全局开关:打开设置,看有没有"默认权限模式 / 信任项目 / 始终跳过权限"被设成"绕过"。本机没找到全局信任文件,但客户端 UI 里若有这个开关,新建对话仍可能默认 bypass——关掉它才治本。

四、一个权衡提醒(给同样用自动化的人)

自动化改成 default 后,它无人值守运行时(比如凌晨的定时任务)遇到写文件可能会弹权限确认而卡住。我的处理原则:

  • 若自动化正常运行 → 保持 default,最安全。
  • 若它卡住/失败 → 单独把该自动化降级为 bypassPermissions(跳过提示但保留危险命令检查,比 fullAccess 安全),保证能跑又不至于完全裸奔。

不要一刀切设成 fullAccess

五、小结

这次排查让我学到三点,也分享给你:

  1. 权限不是只在"对话"层面——自动化的权限是独立字段,漏掉它就会反复复发。
  2. 改配置前先备份,SQLite 改错了还能回滚。
  3. WorkBuddy 本身就能当安全工具用:读库、比对、修复,全程 Python 标准库搞定,不用装任何东西。

安全无小事。花十分钟自查一次,比事后补救省心得多。

#WorkBuddy

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、背景:一个让人后背发凉的发现
  • 二、排查三步(全程用 WorkBuddy 跑 Python,不用任何第三方工具)
    • 第 1 步:看权限分布
    • 第 2 步:找到真正的根因(关键!)
    • 第 3 步:改回默认 + 备份
  • 三、修复后还要做的两件事
  • 四、一个权衡提醒(给同样用自动化的人)
  • 五、小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档