其他
当需要判断 OpenClaw 技能是否过度授权时…
在授予 OpenClaw 技能权限前,分析其 fileRead、fileWrite、network、shell 请求的必要性、风险与危险组合,并给出最小权限建议。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
当需要判断 OpenClaw 技能是否过特定
解决思路
- 先按固定格式列出技能请求的权限:输出 `PERMISSION AUDIT`,包含 `Skill: <name>`,并分别标记 `fileRead`、`fileWrite`、`network`、`shell` 为 `[YES/NO]`。
- 对每个已授予的权限,基于技能描述回答:为什么需要它、是否是最小必需、若技能恶意最坏能做什么。
- 检查 `fileRead`:确认它允许读取用户文件系统;判断合法用途如代码分析、文档生成、测试生成;风险是可读取 `~/.ssh/id_rsa`、`~/.aws/credentials`、`.env` 等敏感文件;缓解是检查实际访问路径,代码审查工具应只需 `src/**` 而不是 `~/`。
- 检查 `fileWrite`:确认它允许创建或修改文件;判断合法用途如生成代码、写测试文件、更新配置;风险是可覆盖 `.bashrc` 注入持久化、修改 `node_modules` 注入后门、写入启动目录;缓解是验证只写入预期项目目录,标记当前 workspace 之外的任何写入。
- 检查 `network`:确认它允许向外部服务器发起 HTTP 请求;判断合法用途如获取 API schema、下载文档、检查包版本;风险是主要数据外泄途径,可发送源码、凭证、环境变量;缓解是网络访问应罕见,若授予则要求技能明确声明联系哪些域名及原因。
- 检查 `shell`:确认它允许执行任意 shell 命令;判断合法用途如运行 `git log`、`npm test`、构建命令;风险是完全系统失陷,可安装恶意软件、打开反向 shell、修改系统文件、外泄数据;缓解是仅授予知名且已验证技能,并始终审查其执行的命令。
- 识别危险权限组合:`network + fileRead` 为 `CRITICAL`,因为可读取并外泄任意文件。
- 识别危险权限组合:`network + shell` 为 `CRITICAL`,因为可执行命令并将输出发送到外部。
- 识别危险权限组合:`shell + fileWrite` 为 `HIGH`,因为可修改系统文件并持久化。
- 识别危险权限组合:`fileRead + fileWrite` 为 `MEDIUM`,因为可读取机密并写入后门。
- 识别低风险组合:仅 `fileRead` 为 `LOW`,只读,风险最小。
- 根据技能描述推荐最小权限集,按格式输出 `RECOMMENDATION`,包含 `Current`、`Minimal`、`Reason`。
- 在推荐中说明为何不需要多余权限,例如生成测试的技能只需要读取源码和写入测试文件,`network` 与 `shell` 不合理。
- 始终用平实语言解释权限含义,假设用户不是安全专家。
- 使用具体可能出错的例子,而非抽象警告。
- 如果技能请求 `network` 或 `shell`,始终建议额外审查。
- 除非有强理由,绝不批准同时拥有四种权限的技能。
- 如果技能权限过大,建议替代方案,例如缩小路径范围、去掉网络、改为只读等。
适用边界 · 注意事项
- 不适用于非 OpenClaw 或没有类似四类权限模型的技能或平台。
- 当缺少技能描述、实际访问路径或命令列表时,无法可靠判断权限是否最小必需。
- 不能替代代码审计、沙箱运行和运行时监控;高风险技能仍需额外验证。