首页/新闻资讯/正文详情

如何看懂 CodeAgent 权限安全体系:5 道闸门、路径白名单与 bwrap 沙箱的设计细节

发布时间:2026/11/8 6:52:30 来源:云帆数科 栏目:资讯中心
如何看懂 CodeAgent 权限安全体系:5 道闸门、路径白名单与 bwrap 沙箱的设计细节
【免费下载链接】codeAgentCodeAgent is an open-source coding agent that lives in your terminal. It understands your repository, plans multi-step changes, writes and edits files, runs commands and tests, and iterates until the task is done — all with a transparent, extensible tool loop.项目地址https://gitcode.com/gh_mirrors/cod/codeAgent点击查看免费下载CodeAgent 是一个跑在终端里的开源 AI 编程 Agent它读代码、改文件、跑命令、跑测试一直迭代到任务完成。但一个能自己敲命令的助手最让人担心的就是它误删文件、篡改密钥。CodeAgent 的权限安全体系正是为此设计每条命令要依次穿过 5 道闸门底线检查、硬拒绝黑名单、破坏性审批、用户审批、LLM 语义分类文件写入受路径白名单约束Linux 下还能用 bwrap 沙箱把命令关进内核级笼子。下面带你快速看懂这套设计。权限安全总览一道命令要过多少关先给结论CodeAgent 里每一次rm、每一次写文件之前都要先过安检。安检的地基是 agent/permission.py 的模块头注释作者把整个流程画成了小区保安式的关卡图关卡名称行为源码位置闸门 0不可绕过的底线任何模式都拒绝rm -rf /、格式化磁盘、改自身依赖permission.py#L178-L321闸门 1硬拒绝黑名单20 条危险命令正则命中直接拒permission.py#L97-L130闸门 2破坏性命令模式rm/git reset --hard等先弹审批permission.py#L408-L418闸门 3用户审批 缓存会话内问过不重复问总是允许跨会话持久化permission.py#L678-L785闸门 4副 LLM 语义分类可选的慢速深审默认关闭失败放行permission_llm.py主入口是 PermissionChecker.check()按 闸门 0 → 内容级规则 → 危险删除 → 黑名单 → 注入面 → 只读快速通道 → 破坏性审批 → LLM 分类 → 默认放行 的顺序走完。顺序就是安全优先级——黑名单永远排在快速通道之前。闸门 0即使跳过所有审批也绕不过的底线最容易被忽略、却最重要的一关是闸门 0。它包含两条系统级不可逆破坏permission.py#L237-L243mkfs格式化、fork bomb、dd写裸磁盘设备、rm -rf /或rm -rf ~整棵树。其中rm的判定不走正则而是逐 token 比对permission.py#L253-L289因为-fr、--recursive --force、--no-preserve-root这些变体一条正则罩不住。自我保护permission.py#L178-L227AI 不许在 CodeAgent 自己的代码目录里跑uv add/pip install——给自己动手术只会把助手搞瘫痪。即便你在/permission里选了bypassPermissions跳过全部审批模式闸门 0 依然生效。这是整个权限系统里唯一的绝对不可绕过检查。路径白名单写文件只准碰三个地方命令有闸门文件同样有。agent/path_guard.py 是路径安全的核心规则非常直白受保护路径读写全拒path_guard.py#L48-L70~/.ssh、~/.aws、~/.gnupg、~/.config/ghGitHub token、/etc、C:\Windows等 17 条。注意它会同时检查原始写法和软链展开后的真实写法软链指向~/.ssh也逃不掉path_guard.py#L82-L118。写保护路径只读不改CodeAgent 自己的项目代码目录允许读、禁止写防止 AI 篡改自身源码。写白名单path_guard.py#L326-L350默认只允许写 ① 当前工作目录 ②~/.codeAgent③ 你用/add-dir显式追加的目录。白名单外的写入会弹审批选总是允许后父目录持久化到settings.json。还有一个容易忽视的细节——可疑路径形态检测path_guard.py#L214-L271。Windows 下有些改名绕过安检的花招8.3 短名GIT~1和GIT是同一个文件、长路径前缀\\?\、文件名尾点.git.实际就是.git、NTFS 数据流冒号、DOS 设备名settings.json.CON……这些写法能让同一个文件呈现出对不上的字符串全部直接拒绝且全平台都查NTFS 磁盘可以挂在任何系统上。顺序铁律保护表排白名单前面——就算你把整个家目录加进白名单~/.ssh照样写不了。bwrap 沙箱把命令关进内核级小房间闸门和白名单是软件层的检查agent/sandbox_runner.py 提供的是 OS 层的硬隔离。用/sandbox on开启后Linux 下命令会被包装成bwrap --die-with-parent --new-session --unshare-pid --unshare-ipc \ --ro-bind /usr /usr --ro-bind /etc /etc ... \ --dev /dev --proc /proc --tmpfs /tmp \ --bind 工作目录 工作目录 -- bash -c 你的命令包装逻辑在 _bwrap_wrap()几个设计点很讲究系统目录只读挂载sandbox_runner.py#L264-L271/usr、/etc等只给看不给改/dev改用沙箱自带的--dev临时盘否则/dev/null这种 curl/git 惯用写法会直接撞 EROFS 报错。独立 PID 命名空间不隔离进程的话沙箱里的命令能看见宿主机全部进程一条kill -9就能干掉 Agent 自己。/tmp用内存盘不挂宿主机的/tmp里面可能有敏感东西改用沙箱内部 tmpfs。可写目录白名单复用沙箱里能写的只有工作目录 ~/.codeAgent 配置中的sandbox_writable_roots和路径白名单同源。macOS 走系统自带的 Seatbeltsandbox-exec 每次现写的.sb规则文件7 天自动清理sandbox_runner.py#L393-L468Windows 走 Job Object 进程笼子win_job_object.py。沙箱不可用时自动降级为普通执行并记警告fail-open不会把任务卡死。审批体验少打扰、有记忆、后台分身自动拒权限系统的另一半是怎么问才不烦人三个机制值得学只读快速通道readonly_commands.py#L30-L57ls、cat、git status、grep这类只看不动手的命令零打扰放行。判定保守优先——find -delete这类带写副作用的形态会被参数黑名单拦下复合命令逐段切分判定ls rm xxx混不过去。注入面检测bash_injection.py#L564$()、反引号、进程替换(...)这些所见非所执行的写法不是直接拒绝而是升级审批——写法本身不一定是攻击但至少该让人看到原文后亲手点批准。语义是宁可多问不漏问。两级审批缓存permission.py#L456-L460本次会话批过的命令不重复问防信任漂移选总是允许的命令存成 JSON 白名单跨会话生效还会派生前缀规则同类npm test命令下次免审。想管理已批准的命令用/approved查看。四种权限模式/permission切换覆盖不同场景模式适用场景default全闸门开启日常默认acceptEditsAI 连续改代码时工作目录内的文件操作自动放行bypassPermissions显式接受全部风险闸门 0 仍生效autoDeny后台子代理专用用户不在场不能弹窗需审批的一律 fail-closed 拒绝另外你可以在settings.json的permissions段写allow/deny/ask内容级规则如Bash(npm test)优先级 deny ask allow连 bypass 模式也不豁免用户的显式 denytool_permissions.py#L39-L44。相关源码速查模块职责agent/permission.py权限主入口5 道闸门 审批缓存 路径检查agent/path_guard.py保护表 / 写保护 / 可疑形态 / 写白名单agent/sandbox_runner.pybwrap / Seatbelt / Job Object 沙箱包装agent/bash_injection.py注入面所见非所执行检测agent/readonly_commands.py只读命令判定表快速通道agent/tool_permissions.pysettings.json 的 allow/deny/ask 规则agent/bash_removal_guard.py危险删除路径与 cdgit 组合防护tools/terminal_tool.py终端命令执行的沙箱接入点小结CodeAgent 的权限安全体系核心思路可以概括为一句话底线不可绕、白名单优先、拿不准就问人。5 道闸门管命令路径白名单管文件bwrap 沙箱在 OS 层兜底审批缓存保证安全不打扰。如果你也在做 Agent 类项目这套顺序即优先级的防线设计非常值得参考——先读 permission.py 的 check() 主流程再顺着它 import 的每个子模块走一遍基本就能读懂全部设计细节。赞分享【免费下载链接】codeAgentCodeAgent is an open-source coding agent that lives in your terminal. It understands your repository, plans multi-step changes, writes and edits files, runs commands and tests, and iterates until the task is done — all with a transparent, extensible tool loop.项目地址https://gitcode.com/gh_mirrors/cod/codeAgent点击查看免费下载相关推荐如何看懂 SJMCL 的账号安全5 道安全闸门一次讲透如何看懂 SJMCL 的账号安全5 道安全闸门一次讲透 SJMCL https://link.gitcode.com/i/6fe1cef3aa2c465836Cyrus 安全实战二工具权限白名单 沙箱文件系统如何防止 Claude Code 越权访问Cyrus 安全实战二工具权限白名单 沙箱文件系统如何防止 Claude Code 越权访问 Cyrus 是一个可部署到任意环境的 Claude如何保障 AI Agent 安全运行Axe 路径沙箱、SSRF 防护与主机白名单机制详解如何保障 AI Agent 安全运行Axe 路径沙箱、SSRF 防护与主机白名单机制详解 让 AI Agent 自动读写文件、执行命令、抓取网页听起来很香上一篇skfolio 特征因子模型完全指南如何用 46 个描述符构建多因子量化组合下一篇横评让 AI 玩转真 iPhone 的 7 美元小黑板跟老牌Siri 开灯玩法比谁才是未来创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

一条命令建起整座办公室:AgentCraft程序化HQ建造与锚点系统详解
一条命令建起整座办公室:AgentCraft程序化HQ建造与锚点系统详解

【免费下载链接】agentcraft Manage your real AI agents, using Minecraft as your interface! 项目地址: https://gitcode.com/gh_mirrors/agen/agentcraft 点击查看 免费下载 AgentCraft 是一款把「管理真实 AI 编程代理」搬进 Minecraft 的模组:你在… · 2026/11/6 3:34:20

RAG中PDF 文档处理全流程指南——从加载、清洗、分块到入库
RAG中PDF 文档处理全流程指南——从加载、清洗、分块到入库

文章目录开篇:为什么 PDF 是 RAG 的"第一道坎"整体流水线一览第一步:PDF 加载与文本提取代码示例:用 PyMuPDF 提取带位置信息的文本第二步:文档清洗——去掉"噪音"怎么去页眉页脚?多栏排版怎么处理… · 2026/11/7 12:00:10

一键完整导出微信聊天记录:留痕 WeChatMsg
一键完整导出微信聊天记录:留痕 WeChatMsg

一键完整导出微信聊天记录:留痕 WeChatMsg 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMsg 手… · 2026/11/8 2:40:38

加油站算特种工吗怎么报名实操考试避坑指南
加油站算特种工吗怎么报名实操考试避坑指南

加油站算特种工吗怎么报名实操考试避坑指南 实操考试心里没底怕挂科?很多准备报考特种作业操作证的朋友,尤其是刚接触这个领域的加油站从业人员,最容易陷入的误区就是不清楚自己到底算不算特种工,以及怎么报名才能一步到位。今天我们通过一个发生在焦作的… · 2026/11/8 6:51:49

电工证多少年复查值不值得考?驻马店建筑工人的避坑指南
电工证多少年复查值不值得考?驻马店建筑工人的避坑指南

电工证多少年复查值不值得考?驻马店建筑工人的避坑指南 你是不是也担心, 学历不高怕报不上名 ?特别是像我们这种干体力活的,想着考个电工证,既想提升自己,又怕证书过期、年审麻烦,干脆算了。其实不然, 电工证多少年复查… · 2026/11/8 6:51:49

办电工证去哪儿审在哪考最稳妥
办电工证去哪儿审在哪考最稳妥

办电工证去哪儿审在哪考最稳妥 实操考试心里没底怕挂科,这是很多第一次报考电工证的朋友的真实写照。尤其是新乡地区的初次报考人员,面对复杂的流程和严格的考试标准,心里难免会打鼓。不过别担心, 办电工证去哪儿审… · 2026/11/8 6:51:49

网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办
网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办

网上能考高压电工证吗通过率揭秘 证书过期了不知道怎么复审延期怎么办 证书过期了不知道怎么复审延期?你不是一个人。现在特种作业证管理越来越严格,尤其是高压电工证,一旦过期,不仅影响工作,还可能面临停工、罚款甚至法律风险。很多从业者都遇到过这样… · 2026/11/8 6:51:49

加油站算特种工吗?上岗必备的证书你了解多少
加油站算特种工吗?上岗必备的证书你了解多少

加油站算特种工吗?上岗必备的证书你了解多少 急需特种作业证才能上岗找工作,尤其是像加油站在岗人员,很多都搞不清自己是否属于特种作业范围,更不知道哪些证书是 上岗必备 的。今天咱们就围绕“ 加油站算特种工吗… · 2026/11/8 6:51:49

低压电工证要上课吗?怎么报名?劳务班组负责人必看!
低压电工证要上课吗?怎么报名?劳务班组负责人必看!

低压电工证要上课吗?怎么报名?劳务班组负责人必看! 你是不是也遇到过这种情况,刚进工地就被告知必须有低压电工证才能上岗?别急,现在就告诉你, 低压电工证要上课吗?怎么报名? 这些问题,直接影响你能不能按时开工、拿到工资。… · 2026/11/8 6:50:49

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

电工证丢失还能补吗?千万别踩坑,丢了证等于失业
电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。… · 2026/11/8 0:00:20

电力电缆作业证直播报名入口与办理流程良心建议
电力电缆作业证直播报名入口与办理流程良心建议

电力电缆作业证直播报名入口与办理流程良心建议 你是不是也担心学历不高报不了名?别急,今天就给你讲讲 电力电缆作业证直播 的报名流程和那些你必须知道的干货, 良心建议 在这里,别错过。 电力电缆作业证直播报名需要什么条件?… · 2026/11/8 0:00:20

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑
英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑

英德电工证报考费多少钱,怕考不过白交培训费?看完这篇别再踩坑 怕考不过白交培训费?英德电工证报考费多少钱,你真的了解吗?现在市面上培训机构五花八门,价格参差不齐,很多人一不小心就花了冤枉钱,结果还考不过。别急,今天就来给你说清楚英德电工证的… · 2026/11/8 0:00:20

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 11:25:08

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/7 12:02:18

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/8 1:18:25

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码