52c06f6861228d8e9bd78c35db851b5705eb04fa
All checks were successful
CD Pipeline / deploy (push) Successful in 2m14s
Critic Medium-3:群組內任意成員可執行破壞性快取指令的問題。
新增機制:
- ADMIN_USER_IDS:新增 OPENCLAW_ADMIN_USER_IDS 環境變數
逗號分隔的 user_id;未設時退回 ALLOWED_USERS(向後兼容)
- _is_admin(user_id):fail-closed 判定函式
- _CURRENT_USER_ID_CTX:ContextVar 在 webhook 入口(msg + callback)
set 當前 user_id,避免改 handle_cmd 30+ 處呼叫端簽名
權限模型:
| 指令 | 權限 | 行為 |
| /cache status | 已授權 | 任何已授權用戶可看 |
| /cache cleanup [days] | 已授權 | 預設乾跑可預覽 |
| /cache flush <type> | admin | 拒絕非 admin |
| /cache cleanup [days] confirm | admin | 拒絕非 admin |
| /cache cleanup [days<1] confirm | - | 強制乾跑(防呆) |
非 admin 嘗試破壞性指令時,回傳清楚錯誤訊息引導設定環境變數。
admin 操作會額外寫 sys_log.warning 留軌跡(含 user_id)。
煙霧測試:
- syntax OK
- _is_admin(None) / _is_admin("abc") / _is_admin(unknown_id) 皆 False
- ContextVar set/get 行為正確
剩餘 Medium 1/2 + Info 類後續再處理(非緊急)。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Description
EwoooC — 商品看板 + 業績報表 + AI KM (Flask + pgvector, Docker Compose on 188)
Languages
PostScript
59.7%
Python
30.9%
HTML
4.2%
CSS
2.1%
JavaScript
1.9%
Other
1.1%