aionclaw工作流权限需启用白名单并绑定工具,否则存在安全风险;必须设置default_policy: deny,按工作流配置allowed_tools,并对shell.exec等高危工具启用审批拦截。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在AionClaw中配置一个工作流需要连续调用文件读取→Shell执行→邮件发送三个工具时,权限失控会导致AI把日志内容误当命令执行,或把内部报告发给错误收件人。这不是模型理解问题,而是工具链路缺乏逐层授权控制。
确认当前权限模型是否启用白名单
打开AionClaw安装目录下的config/permissions.yaml,检查是否存在default_policy: deny这一行。如果没有,说明你正运行在默认“全开”模式——所有已注册工具均可被任意工作流调用,【这是生产环境绝对禁止的状态】。
若该字段值为allow或缺失,立即手动改为deny并保存。这一步必须完成,否则后续所有细粒度配置都无效。
按工作流名称绑定工具白名单
AionClaw支持以工作流(Workflow)为单位做工具授权,比全局白名单更精准。你需要编辑对应工作流的YAML定义文件,通常位于workflows/your_workflow_name.yaml。
在文件顶部添加allowed_tools字段:
allowed_tools:- filesystem.read- shell.exec- email.send
注意:工具名必须与AionClaw注册时的完整标识符完全一致,大小写敏感,多一个点或少一个下划线都会导致拒绝调用。你可以通过aionclaw list tools命令查看当前全部可用工具名清单。
对高危工具启用审批拦截
方法一:使用ai-permissions-layer中间件
在AionClaw启动前,先运行ai-permissions-layer --config ./rules/approval_rules.yaml,然后将AionClaw的工具调用地址指向该中间件的监听端口(默认http://127.0.0.1:8081)。这样每次调用shell.exec或filesystem.write时,中间件会暂停执行并推送审批请求到你的飞书/钉钉。
方法二:直接在AionClaw内启用审批开关
编辑config/permissions.yaml,加入以下段落:
approval_required:- tool: shell.exec reason: "执行系统命令需人工确认"- tool: filesystem.write reason: "写入文件可能覆盖关键数据"
保存后重启AionClaw服务。此后任何工作流触发这两类工具,都会卡在WAITING_FOR_APPROVAL状态,直到你在管理界面点击“批准”按钮。
验证权限控制是否生效
第一步:准备一个测试工作流,仅包含filesystem.read和shell.exec两步调用。
第二步:执行该工作流,观察日志输出。
第三步:若看到类似[PERMISSION_DENIED] shell.exec not in allowed_tools for workflow 'test_wf'的日志,则说明白名单已生效;若看到Waiting for approval on shell.exec...,则审批机制已就位。
第四步:在管理后台的“审批中心”里找到待批条目,点击批准,确认shell.exec能正常执行且输出符合预期。











