首页 / 资讯中心 / 文章详情

nanoMuse的Sentinel安全哨兵:三级审批+沙箱,AI Agent删文件、转账、付款前必先问你

nanoMuse的Sentinel安全哨兵:三级审批+沙箱,AI Agent删文件、转账、付款前必先问你 ★ FEATURED ARTICLE
【免费下载链接】nanoMusenanoMuse: an open-source personal agent for every device you own. One agent with a name and a look of its own that does things, keeps working while the app is closed, remembers you, and asks before anything you cannot undo. On Android, iPhone and iPad, Windows / macOS / Linux and in the browser; your phones screen and your computer as its hands.项目地址https://gitcode.com/gh_mirrors/na/nanoMuse点击查看免费下载nanoMuse 是一个开源的私人 AI Agent智能体它能帮你发消息、操作手机和电脑屏幕、读邮件、管理目标——而这些动手的能力正是安全风险的来源。为此nanoMuse 内置了Sentinel 安全哨兵它像一道闸门坐在模型与所有工具之间将每个操作按safe / moderate / sensitive三级风险分类删文件、转账、付款这类不可撤销的动作必须先向你审批在 Linux 上还会用 bubblewrap 沙箱把 shell 命令关进笼子。本文将带你完整看懂 nanoMuse 的三级审批机制与沙箱防护搞明白它到底拦得住什么。Sentinel 是什么AI Agent 与工具之间的安检门nanoMuse 的设计理念来自 Meta 的 Muse智能体从不直接执行工具而是把每次调用交给Sentinel.guard()走一条固定链路agent ──► Sentinel.guard() ──► policy ──► 审批如需──► 保险库替换密钥 ──► 执行 agent ◄── 脱敏结果 ◄── 污点记账 ◄────────────────┘也就是说无论模型想做什么最终落到硬盘、网络或手机屏幕上的每一步都要先过哨兵的策略检查。核心代码就三处关口nanomuse/sentinel/gate.py决策nanomuse/sentinel/policy.py审计日志nanomuse/sentinel/audit.py想深入阅读官方文档在 docs/sentinel.md中文版见 docs/zh/sentinel.md行为测试在 tests/test_sentinel.py。三级风险分级safe、moderate、sensitive 分别管什么每个工具都声明一个静态风险级别哨兵据此决定放行还是询问级别含义典型工具safe可逆、本地操作工作区内读写文件、web_search、记忆、目标、提醒moderate触及外部或改变状态web_fetch、python_execute、读邮件、浏览器、手机操作sensitive难以撤销或外部可见shell、send_email、保存/删除技能更关键的是动态提级哨兵会为具体这一次调用单独加警——️ shell 命令出现rm -rf、sudo、curl | sh模式时自动附警告python_execute的代码一旦碰网络、读环境变量、删文件或触及工作区外的路径立刻升为sensitive原因直接写在审批卡片上 操作手机点击时如果点击描述label里含有确认支付、转账、提交订单、发送、删除等敏感词一律按sensitive处理并询问——这就是标题里转账、付款前必先问你的实现。审批卡片一次、本次对话、24 小时……6 种授权粒度当决定是询问时App 或控制台会弹出审批卡片上面写清楚用的是什么工具、为什么要执行你的原始请求、精确参数、风险级别和原因。你可以拒绝也可以带范围地允许你的回答效果拒绝不执行模型收到 Sentinel blocked并被叮嘱不要重试同一调用一次Once仅本次什么都不记本次对话该聊天存续期间有效删除聊天即失效直到重启进程退出为止24 小时带过期时间持久化在approvals.json总是Always持久化直到你手动撤销授权是绑定到具体目标的而不是一刀切的开关允许shell:git不等于允许curl允许给aliceexample.com发信不等于能给别人发。带警告的危险命令rm -rf、sudo、curl | sh永远只能逐次审批任何长期许可都覆盖不了它。App 里无人应答的卡片默认 1 小时后超时并算作拒绝而所有已授予的权限都列在头像下方的权限面板中每项都有独立撤销按钮授权逻辑见 nanomuse/sentinel/grants.pybubblewrap 沙箱给 shell 命令上的一间隔离房审批解决做不做沙箱解决做了能碰到什么。Meta Muse 给每个用户配一台云端 VMnanoMuse 跑在你的机器上于是在 Linux 上用 [bubblewrap]Flatpak 背后的同款工具apt install bubblewrap即可为每一次shell和python_execute调用创建独立命名空间✍️只有工作区可写/usr、/etc、/opt、/var全部只读/tmp是本次调用私有的家目录不存在保险库、数据目录、ssh 密钥、云凭据、浏览器配置统统看不见默认断网只有被评估为需要网络的命令含curl、pip、URL 或networktrue才获得外网否则只带回环接口。因缺网失败的命令会收到说明模型可带networktrue重试——而那时它就要按外发调用再走一遍审批环境变量清洗名字含*KEY*、*TOKEN*、*SECRET*等变量全部移除模型写的脚本连 API key 都读不到。沙箱在 config/config.example.toml 的[sandbox]段配置mode auto时检测到 bubblewrap 可用就自动启用macOS、Windows 和大多数 Docker 容器跑不了沙箱时降级为清洗环境 工作区为工作目录并在 设置 → Safety 中如实告知。配置示例可对照 config/config.example.toml。污点追踪防提示注入偷走你的隐私这是 Sentinel 对提示注入攻击的实际防线。一旦某段对话读取过私密数据read_emails、联系人、工作区外的文件等这段对话就被标记为已污染tainted此后该对话中任何把数据发往白名单外主机的调用无论风险级别、无论模式连auto也不例外都先弹审批卡片且卡片上写明目的地污点按对话隔离读过邮件的聊天不会传染旁边的聊天清除对话即清除污点web_fetch每一跳重定向都会检查私有地址、回环地址、Tailscale 网段100.64.0.0/10、云元数据地址一律直接拒绝。效果是一个恶意网页就算指使Agent 把你的收件箱发到某处你也一定会先看到目的地再点头。白名单默认覆盖搜索、维基百科、GitHub 和 PyPI可在 config/config.example.toml 的egress_allowlist中调整。保险库 审计日志密钥模型看不见行为处处留痕凭据保险库让密钥与模型彻底隔离实现见 nanomuse/vault/vault.pynanomuse vault set EMAIL_PASSWORD # 加密存入 data_dir/vault.enc nanomuse vault list # 只列名字配置里用{{vault:NAME}}占位符引用密钥——模型看到的永远只是占位符真实值在审批通过后的执行前一刻才替换若任何工具输出里意外出现密钥模型读到前已被替换成[REDACTED:NAME]。审计日志则保证不知道发生了什么不再可能每条消息、每轮决策、每次审批和工具调用都带 UTC 时间戳追加到audit.jsonlnanomuse audit -n 50 # 表格查看最近 50 条App 里点头像打开的活动面板读的是同一个文件。三种安全模式怎么选ask、strict、autosentinel 的mode决定风险 × 模式的最终裁定模式safemoderatesensitive适合场景ask默认允许允许询问日常交互使用strict允许询问询问高敏感环境auto允许允许允许nanomuse daemon等无人值守运行注意auto不是全放行它仍遵守deny_tools、拒绝规则、污点规则和警告检查——无人值守时遇到仍要审批的步骤会被记为拒绝并留在动态 Feed 里而不是偷偷执行。你还可以在[sentinel]段用[[sentinel.rules]]写细粒度规则比如默认配置里就有一条拒绝所有含rm -rf的 shell 命令。诚实的边界Sentinel 防得住什么、防不住什么nanoMuse 跑在你的机器上、以你的用户身份哨兵是同进程中的一个模块而非云端 VM 外层的独立防线。官方在 docs/sentinel.md 里给了一份不含糖衣的总结✅ 防得住模型做超出你要求的事所有调用过策略权限绑定工具与目标、可随时撤销提示注入外泄私密数据读后白名单外主机先审批模型看到你的密钥保险库 占位符 脱敏 环境变量清洗不知道发生了什么审计日志全覆盖。⚠️ 防不住运行前须知沙箱跑不起来时macOS/Windows/多数容器shell以你的身份运行你批准的命令能做你能做的一切——重要数据建议放进容器或专用账号运行官方 Docker 镜像即是保险库密钥默认与数据同目录能读数据目录的人可解密重视可用NANOMUSE_VAULT_KEY指向外部密钥管理总是允许shell:curl这类宽泛授权强度就和你授权的那一刻一样别把服务端口直接暴露到公网审批疲劳卡片不看就批以上全部失效。安全细节与漏洞报告见 SECURITY.md。写在最后nanoMuse 的 Sentinel 把AI Agent 安全拆成了四件普通人能检查的事分级审批删文件、转账、付款前必须点头、授权粒度批到哪个工具、哪个目标可一键撤销、沙箱隔离命令碰不到家目录、默认断网、全程审计audit.jsonl有迹可循。对新手来说记住一条就够在 nanoMuse 里Agent 的手再快也快不过你屏幕上的那张审批卡片。赞分享【免费下载链接】nanoMusenanoMuse: an open-source personal agent for every device you own. One agent with a name and a look of its own that does things, keeps working while the app is closed, remembers you, and asks before anything you cannot undo. On Android, iPhone and iPad, Windows / macOS / Linux and in the browser; your phones screen and your computer as its hands.项目地址https://gitcode.com/gh_mirrors/na/nanoMuse点击查看免费下载相关推荐免费快速上手 Chat2DB自然语言转 SQL 的 AI 数据库管理工具指南免费快速上手 Chat2DB自然语言转 SQL 的 AI 数据库管理工具指南 接手一个表名全是英文缩写的陌生库光查字段就耗掉半天Chat2DB 是一款免费即时通讯后端Redis 哨兵模式实战部署基于 db-tutorial 的一主两从三哨兵配置全解析Redis 哨兵模式实战部署基于 db tutorial 的一主两从三哨兵配置全解析 本篇文章以 db tutorial 仓库中 sentinel3 配置目录文档教程数据库eve 负责任使用指南上线前的审批、沙箱与数据安全管控实践eve 负责任使用指南上线前的审批、沙箱与数据安全管控实践 本指南以 docs/responsible use.md https://link.gitcode人工智能AI AgentAgent 框架后端工具调用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站