KiraClaw命令安全规则设计:DENY/ALLOW/ASK三级模型如何守护本地AI助手 【免费下载链接】KIRAKIRA项目地址https://gitcode.com/gh_mirrors/kira3/KIRA点击查看免费下载KiraClaw 是一个运行在你电脑上的本地 AI 助手它能直接通过bash、exec等工具在本地执行 Shell 命令。为了让 AI 助手能干活但不闯祸KiraClaw 设计了一套命令安全规则Command Safety Rules每条命令执行前都会经过DENY / ALLOW / ASK 三级模型裁决——危险命令直接拦截、已知安全命令直接放行、拿不准的命令则交给用户确认。下面带你用 5 分钟看懂这套安全机制的设计思路。为什么本地 AI 助手需要命令安全规则传统 AI 助手大多运行在云端沙箱里而 KiraClaw 的守护进程agentd直接跑在你的机器上拥有真实的工作目录和系统权限。这意味着一条rm -rf /可能造成不可逆的数据损失一条curl | sh可能引入未知远程脚本而ls、git status这类命令则完全无害因此安全规则必须做到既不能让 AI 频繁请示到影响使用体验也不能放任高危命令执行。KiraClaw 的解法就是把裁决权拆成三个档位。三级裁决模型DENY、ALLOW、ASK 各管什么所有命令在进入执行器之前都会调用krim_sdk.safety提供的check_command()得到一个裁决结果Action核心逻辑位于 process_manager.pyaction check_command( cleaned, self._deny_patterns, self._allow_commands, self._ask_by_default, ) if action Action.DENY: raise ValueError(fcommand denied by safety rules: {cleaned})三个档位职责清晰档位含义典型命令DENY命中危险模式立即拦截不做任何解释性询问rm -rf /、dd if、curl\|shALLOW已知安全的命令前缀直接执行不打扰用户ls、cat、rg、git status、pytestASK介于两者之间需要用户批准后才继续视配置而定见下文官方概念文档 docs/kiraclaw/concepts.md 对这一模型的描述非常直白DENYimmediately block dangerous patternsALLOWimmediately run known-safe prefixesASKrequires approvalDENY宁可错拦不可漏放默认的拒绝模式清单定义在 settings.py覆盖了最典型的高危操作递归强删根目录/用户目录rm -rf /、rm -rf ~磁盘级操作 /dev/sda、mkfs.、dd ifFork 炸弹:(){:|:};:全系统改权限chmod -R 777 /远程脚本直接执行curl|sh、wget|bash一旦命令命中其中任一模式exec工具会直接返回错误command denied by safety rulesAI 助手连尝试的机会都没有。仓库里的测试用例 test_process_tools.py 就专门验证了这一点对rm -rf /执行后会断言返回错误信息包含该拒绝文案。ALLOW让日常操作零打扰默认允许清单settings.py收录的都是只读或低风险的前缀命令文件查看ls、cat、head、tail、find、grep、rg、wcGit 只读操作git status、git diff、git log、git branch安全的构建/测试python -m py_compile、npm test、npm run lint、pytest、make这保证了 AI 助手做代码理解、跑测试等高频任务时流畅自然不需要反复弹窗确认。ASK把裁决权交回给用户如果命令既不在拒绝清单、也不在允许清单是否会询问取决于ask_by_default开关见 settings.py。需要注意的是当前版本默认ask_by_default false未命中 DENY 的命令基本都会放行真正进入 ASK 分支时若尚未配置审批回调ask_callback会抛出command requires approval but no ask_callback configured提示该能力正在演进用一句话概括KiraClaw 目前是一个deny-first拒绝优先的安全模型而不是审批为中心的模型——绝大多数命令默认放行只有明确危险的模式会被硬拦截。安全规则在哪里统一生效规则只有一份配置却同时守护了所有命令出口。在 engine.py 中可以看到deny_patterns、allow_commands、ask_by_default被同时注入两处BashTool同步执行的 Shell 工具BackgroundProcessManager负责长时间构建、测试、服务进程的背景任务管理器process_manager.py也就是说无论是 AI 快速跑一条grep还是启动一个持续运行的开发服务器走的都是同一套三级裁决。工具层定义见 process_tools.py 中的exec工具。未来方向用自然语言完成审批KiraClaw 团队已经在 概念文档 中明确了 ASK 档位的演进路线——不做传统的弹窗点按钮而是对话式自然语言审批命令触发ASK时不立即失败而是把待批事项存入会话状态用自然语言向用户发起确认我要执行xxx可以吗把用户下一句话解析为approve / deny / always allow批准后继续执行原命令这与 KiraClaw以对话为核心的产品定位高度契合审批不是打断体验的 UI 控件而是对话的自然延伸。小结KiraClaw 的命令安全规则设计可以浓缩成三句话DENY 硬拦截高危模式一律拒绝从源头杜绝误删、格式化、远程脚本执行ALLOW 白名单只读与低风险命令直接放行保住 AI 助手的流畅度ASK 留白为未来的自然语言审批预留了完整的演进空间对于想深入了解本地 AI 安全机制的读者推荐从 docs/kiraclaw/concepts.md 的 Command Safety Rules 章节读起再对照 settings.py 中的默认清单几分钟就能完整理解这套守护机制。赞分享【免费下载链接】KIRAKIRA项目地址https://gitcode.com/gh_mirrors/kira3/KIRA点击查看免费下载相关推荐easy-agent权限规则详解allow/ask/deny三层防线如何防止AI乱动你的电脑easy agent权限规则详解allow/ask/deny三层防线如何防止AI乱动你的电脑 easy agent 是终端里的编程 Agent读代码、改文件BrowserSkill 完整指南让 AI Agent 用你登录好的浏览器不打断你的工作BrowserSkill 完整指南让 AI Agent 用你登录好的浏览器不打断你的工作 BrowserSkill 是一层把 AI Agent 接进真实浏览人工智能AI Agent浏览器控制AI 技能AI 插件CLIdsh-pluginAI Agent安全设计深水区eve-software-factory-template的deny-by-default信任模型如何管住无人值守运行AI Agent安全设计深水区eve software factory template的deny by default信任模型如何管住无人值守运行 eve上一篇GitHub_Trending/pe/personal-ai对话流程设计如何打造流畅自然的AI交互体验下一篇Claude Code 提示词工程全揭秘系统提示词是如何精准驯服大模型的创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考