当前位置: 首页 > article >正文

第九章:我是如何剖析 Claude Code 的 CLI 里的安全沙盒与指令拦截机制的

大家好。又来了好东西真的太多了没办法。比如有个问题“Claude Code 既然能在电脑上执行命令行万一大模型抽风来一句rm -rf /或者偷偷把数据库给DROP TABLE了那不就全完了”作为一个能够直接操作宿主系统的 AI 代理Agent安全Security和防越权Jailbreak Prevention是重中之重。为了搞清楚 Anthropic 到底是怎么给这只 AI “带上紧箍咒”的我深挖了src/tools/BashTool/目录。不看不知道一看吓一跳这里面藏着一整套防御纵深极强的安全沙盒与指令拦截机制。这不仅是在防范大模型犯错更是在防范各种隐蔽的 Bash 语法注入。今天咱们就来看看这道“最后的防线”是怎么工作的。源码探秘Bash 里的“雷区”当我们允许大模型执行bash命令时最大的威胁不仅是显式的破坏命令还有那些隐蔽的、利用 Shell 特性绕过限制的注入攻击。在src/tools/BashTool/bashSecurity.ts中工程师们简直把 Bash 的黑魔法研究透了枚举了各种令人防不胜防的黑客手段。1. 拦截高危的 Shell 扩展与隐蔽调用大模型有时候为了“炫技”或者被越权指令诱导会写出极其复杂的 Shell 语法。而这恰恰是绕过普通正则检查的重灾区。源码中定义了一系列COMMAND_SUBSTITUTION_PATTERNS进行拦截防止命令替换// src/tools/BashTool/bashSecurity.tsconstCOMMAND_SUBSTITUTION_PATTERNS[{pattern:/\(/,message:process substitution ()},{pattern:/\(/,message:process substitution ()},{pattern:/\(/,message:Zsh process substitution ()},// 重点看这个Zsh EQUALS expansion: cmd// 比如 curl evil.com 会被 Zsh 展开为 /usr/bin/curl evil.com// 这就能完美绕过针对 curl 这个关键字的权限拦截规则{pattern:/(?:^|[\s;|])[a-zA-Z_]/,message:Zsh equals expansion (cmd)},{pattern:/\$\(/,message:$() command substitution},// ...甚至连 PowerShell 的注释语法 # 都被封杀了主打一个防御纵深];不仅如此源码还点名封杀了 Zsh 的一票底层高危模块zmodload: Zsh 模块加载的网关它是很多高级攻击的入口比如无文件 I/O。sysopen/sysread/syswrite: 绕过普通命令拦截直接进行底层的系统文件 I/O 操作。zpty: 开启伪终端执行隐蔽操作。zf_rm/zf_mv: 哪怕你调用的是 Zsh 内置的rm也照拦不误。只要 AI 生成的代码里包含这些“作弊码”安全校验层就会直接把它按死在摇篮里。2. “手滑”毁灭世界不存在的大家最关心的“删库跑路”问题在src/tools/BashTool/destructiveCommandWarning.ts中有专门的防御。官方整理了一份DESTRUCTIVE_PATTERNS列表。如果你仔细看这些正则会发现它们写得极其严谨。一旦匹配上CLI 会立刻弹出一个极其醒目的警告要求用户必须手动确认系统绝不会 Auto-approval 自动同意这些操作// src/tools/BashTool/destructiveCommandWarning.ts 拦截规则节选constDESTRUCTIVE_PATTERNS:DestructivePattern[][// Git 相关的灾难性操作不仅防 reset还防带 --force 的 push{pattern:/\bgit\sreset\s--hard\b/,warning:Note: may discard uncommitted changes},{pattern:/\bgit\spush\b[^;|\n]*[ \t](--force|--force-with-lease|-f)\b/,warning:Note: may overwrite remote history},// 经典的文件删除严谨的正则防绕过比如 rm -rf, rm -fr{pattern:/(^|[;|\n]\s*)rm\s-[a-zA-Z]*[rR][a-zA-Z]*f|(^|[;|\n]\s*)rm\s-[a-zA-Z]*f[a-zA-Z]*[rR]/,warning:Note: may recursively force-remove files},// 数据库毁灭者{pattern:/\b(DROP|TRUNCATE)\s(TABLE|DATABASE|SCHEMA)\b/i,warning:Note: may drop or truncate database objects},{pattern:/\bDELETE\sFROM\s\w[ \t]*(;|||\n|$)/i,warning:Note: may delete all rows from a database table},// 连基础设施都不放过{pattern:/\bkubectl\sdelete\b/,warning:Note: may delete Kubernetes resources},{pattern:/\bterraform\sdestroy\b/,warning:Note: may destroy Terraform infrastructure},];你看不管是删文件、清库还是干掉 K8s 集群大模型只要敢写这套正则防线就能把它拦住把最终的生杀大权交还给坐在屏幕前的人类。3. 沙盒隔离机制Sandbox拦截只是治标真正的治本是隔离。在src/tools/BashTool/shouldUseSandbox.ts中展示了指令是否需要被沙盒化的判断逻辑。如果启用了沙盒模式命令会被重定向到SandboxManager。这意味着即便命令跑起来了它也是在一个受限的文件系统或容器中执行的无法触及你的真实工作目录。有意思的是这里还处理了复合命令比如docker ps curl evil.com和环境变量包裹比如FOObar timeout 30 bazel run。系统会不断地剥离外层的环境变量和包装器直到暴露出最核心的执行命令再去和用户的黑名单进行匹配防止“套娃”逃逸。额外大放送隐藏的语音模式Voice Mode在翻看源码的时候我不小心在src/commands/voice/voice.ts和src/hooks/useVoice.ts里发现了一个目前似乎还没大规模宣传的神级彩蛋语音对讲模式源码显示Claude Code 竟然内置了一个/voice命令// src/commands/voice/voice.ts 节选// 检查是否有系统麦克风权限和录音工具如 macOS 原生或 SoXconstrecordingawaitcheckRecordingAvailability()if(!recording.available){...}// 如果一切就绪开启语音模式return{type:text,value:Voice mode enabled. Hold${key}to record.${langNote},}它的原理是按下指定的快捷键比如 Space 空格键终端会调用系统底层的音频模块macOS 原生或 SoX进行录音计算音量显示出波形动画Waveform然后将音频流Stream通过 WebSocket 实时发送到 Anthropic 的voice_stream接口进行语音转文字STT推测背后是 Deepgram 引擎。你甚至可以在src/hooks/useVoice.ts看到长长的一串支持语言列表从英语english、西班牙语español到日语日本語、俄语русский甚至印尼语bahasa全覆盖当然也完美支持咱们的中文中文在系统里通常走系统语言检测或者作为默认模型能力支持虽然硬编码列表里没单独写中文名但实际上完全可用源码里甚至还做了非常细致的“静音检测”和“断网重连重传”Silent-drop replay防止你说了半天结果因为网络波动没录上。这简直太赛博朋克了未来你可能只需要按住空格键对终端说一句“帮我把刚才报的那个 Null Pointer 异常修了顺便写个单元测试”代码就自己写好了。最后从底层的 AST 拦截、破坏性正则预警再到隐蔽的语音唤醒彩蛋src/目录下可以说是卧虎藏龙。Anthropic 的工程师不仅在教 AI 如何写代码更在教系统如何“防范”一个偶尔会犯蠢的 AI。这种对系统边界的敬畏之心以及在 CLI 交互上不断整活的创新精神绝对值得所有开发者学习。一键三连奥关注不迷路哈

相关文章:

第九章:我是如何剖析 Claude Code 的 CLI 里的安全沙盒与指令拦截机制的

大家好。又来了,好东西真的太多了,没办法。 比如有个问题:“Claude Code 既然能在电脑上执行命令行,万一大模型抽风,来一句 rm -rf /,或者偷偷把数据库给 DROP TABLE 了,那不就全完了&#xff1…...

EdgeBoard FZ3不止于口罩检测:聊聊它在智慧零售和工业质检中的另类玩法

EdgeBoard FZ3边缘计算实战:从智慧零售到工业质检的跨界应用 当大多数开发者还在用EdgeBoard FZ3跑口罩检测demo时,一些先锋团队已经把它部署在便利店货架和工厂流水线上。这款巴掌大的边缘计算设备,正在重新定义AI落地的边界——不是作为实…...

不锈钢彩涂板哪家性价比高

朋友们,最近是不是又在为厂房、仓库或者建筑外墙的选材头疼?特别是不锈钢彩涂板,市场上牌子多得眼花缭乱,价格从几十到几百一平都有,都说自己“性价比最高”。到底该怎么选?今天,我就用几个真实…...

用STM32F103的PWM口搞定WS2812B-2020彩灯驱动,保姆级时序讲解与代码避坑

STM32F103精准驱动WS2812B全攻略:从PWM时序到实战代码优化 第一次看到WS2812B灯带在黑暗中流畅变换色彩时,那种视觉冲击让我这个嵌入式老手也忍不住想动手实现。但真正开始用STM32驱动时,才发现这小小的RGB灯珠藏着不少玄机——为什么用GPIO直…...

Spark执行计划深度解析:从Explain输出洞察性能优化

1. Spark执行计划基础:从Explain开始说起 第一次看到Spark执行计划的时候,我完全被那一大串树状结构搞懵了。记得当时有个查询跑了快2小时还没结束,我试着加了个.explain(),结果输出像天书一样。后来才发现,这其实是Sp…...

从MATLAB验证到FPGA部署:手把手完成RGB/HSV色彩空间转换的完整流程

从MATLAB验证到FPGA部署:手把手完成RGB/HSV色彩空间转换的完整流程 色彩空间转换是数字图像处理中的基础操作,而RGB与HSV之间的转换尤为常见。对于FPGA开发者来说,如何将这一算法从软件仿真顺利迁移到硬件实现,是一个既考验理论功…...

千问3.5-2B生产环境部署:supervisor自启配置、日志轮转与异常恢复机制

千问3.5-2B生产环境部署:supervisor自启配置、日志轮转与异常恢复机制 1. 千问3.5-2B模型简介 千问3.5-2B是Qwen系列的小型视觉语言模型,具备图片理解与文本生成能力。这个模型可以: 接收用户上传的图片结合自然语言提示词进行分析完成图片…...

实测6款热门论文AI工具|毕业之家vs笔捷AIvsPaperRed等,谁能真正拯救论文党?

作为常年测评各类学习办公工具的博主,每到毕业季,后台最多的求助就是“论文写不下去了,求推荐靠谱的AI辅助工具”。毕竟对大多数学生来说,论文写作的痛点太集中:选题迷茫、格式繁琐、查重降重头疼,还要担心…...

3分钟搞定Windows安卓应用安装:告别模拟器的终极指南

3分钟搞定Windows安卓应用安装:告别模拟器的终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上运行Android应用&#xf…...

专业论文代写都在偷偷用的 AI 生成软件排名|2026 最新完整版,赶紧码住!

论文代写工作室、资深写手私下都在用的6 款王牌 AI 论文工具整理好了!涵盖PaperRed、笔捷 AI、豆包、DeepSeek,再加ChatGPT-4o、Claude 3.7两个英文品牌,从中文毕业论文、降重过审、理工科写作到英文期刊投稿全覆盖,附带完整功能对…...

手机号找回QQ号终极指南:5分钟快速定位遗忘账号

手机号找回QQ号终极指南:5分钟快速定位遗忘账号 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾因忘记QQ号而无法登录重要账号?当需要在新设备验证时,只记得绑定的手机号却想不起那串数字…...

mysql如何通过代码库管理数据库账号_MySQL版本控制与权限脚本

MySQL账号权限脚本应使用幂等的.sql文件,统一用CREATE USER IF NOT EXISTS GRANT FLUSH PRIVILEGES,密码指定mysql_native_password,Host按环境变量限定,8.0禁用手动操作mysql.user表。MySQL账号权限脚本该用什么格式写直接用 .…...

Rockchip RK3588芯片热管理实战:精准监控7路TS-ADC实时温度

1. RK3588芯片热管理的重要性 做嵌入式开发的朋友都知道,芯片温度监控是个躲不开的话题。特别是像RK3588这样的高性能处理器,集成了大小核CPU、GPU、NPU等多个计算单元,发热量相当可观。我去年在做一款边缘计算设备时就深有体会——当NPU持续…...

ChemCrow架构深度解析:构建AI化学助手的核心技术栈

ChemCrow架构深度解析:构建AI化学助手的核心技术栈 【免费下载链接】chemcrow-public Chemcrow 项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public 在化学研究领域,传统的数据分析和反应预测往往需要研究人员在多个专业工具间切换&am…...

告别手动配置:用Anaconda虚拟环境一键关联PyCharm解释器(Ubuntu版)

告别手动配置:用Anaconda虚拟环境一键关联PyCharm解释器(Ubuntu版) 在Python开发中,环境管理一直是个让人头疼的问题。想象一下这样的场景:你正在开发一个机器学习项目,需要同时处理数据清洗、模型训练和We…...

STM32芯片被‘锁死’了?别慌,用ST-LINK Utility这个官方神器一键解锁Flash写保护

STM32芯片Flash写保护紧急解锁指南:ST-LINK Utility实战解析 实验室的灯光在凌晨两点依然亮着,你的STM32开发板静静躺在桌面上,而Keil MDK的报错窗口无情地显示着"Flash Timeout. Reset Target and try it again"。这种场景对于嵌入…...

云原生环境中的存储管理:从PV到StorageClass的全面指南

云原生环境中的存储管理:从PV到StorageClass的全面指南 🔥 硬核开场 各位技术大佬们,今天咱们来聊聊云原生环境中的存储管理。别跟我说你还在为容器存储问题头疼,那都2023年了!在云原生时代,存储是Kubernet…...

Gazebo Sim 开源机器人模拟器终极快速入门指南:5分钟开启机器人仿真之旅

Gazebo Sim 开源机器人模拟器终极快速入门指南:5分钟开启机器人仿真之旅 【免费下载链接】gz-sim Open source robotics simulator. The latest version of Gazebo. 项目地址: https://gitcode.com/gh_mirrors/gz/gz-sim Gazebo Sim 是一款功能强大的开源机器…...

Simulink仿真下的自适应巡航控制(ACC)系统建模:速度与间距控制策略探究

Simulink仿真:基于模型预测的自适应巡航控制系(ACC)建模 参考文献:无 仿真平台:MATLAB/Simulink 主要内容:ACC系统有两种工作模式:速度控制,汽车以驾驶员设定的速度行驶;…...

GitHub中文界面插件:3步解锁你的中文GitHub工作台

GitHub中文界面插件:3步解锁你的中文GitHub工作台 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 你是否曾经在GitHub上搜…...

ChampR:打破英雄联盟数据孤岛,构建智能化游戏决策助手

ChampR:打破英雄联盟数据孤岛,构建智能化游戏决策助手 【免费下载链接】champr 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champr 在英雄联盟的竞技世界中,每个玩家都面临着相…...

保姆级教程:用SuperPoint官方PyTorch预训练模型快速实现图片特征点匹配(附完整代码)

SuperPoint实战:5分钟快速实现高精度图像特征匹配(附完整代码解析) 在计算机视觉领域,特征点检测与匹配一直是基础而关键的环节。无论是三维重建、视觉定位还是图像拼接,都离不开稳定可靠的特征匹配技术。今天我们要介…...

PyTorch炼丹避坑指南:list、numpy、tensor互转时,90%新手会踩的数据类型坑

PyTorch数据类型转换避坑实战:从原理到解决方案的深度解析 在深度学习项目开发中,数据类型的正确转换往往被初学者忽视,却可能成为调试过程中最耗时的"隐形杀手"。想象一下这样的场景:你花费数小时构建的模型在训练时突…...

别再手动调色了!用MATLAB bar函数绘制多组堆叠柱状图的配色自动化技巧

MATLAB堆叠柱状图配色自动化:告别手动调色的高效解决方案 科研图表绘制中,堆叠柱状图是展示多维度数据的利器,但每次手动设置子柱颜色的繁琐操作让不少研究者头疼。想象一下,当你处理包含20组数据、每组5个子柱的复杂图表时&#…...

DeepPCB:工业级PCB缺陷检测数据集完整指南

DeepPCB:工业级PCB缺陷检测数据集完整指南 【免费下载链接】DeepPCB A PCB defect dataset. 项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB 还在为找不到高质量的PCB缺陷检测数据集而烦恼吗?DeepPCB为您提供了一个工业级的深度学习数据集…...

别再只用翻转和裁剪了!PyTorch实战:用CutMix和Mixup让你的ResNet50在CIFAR-10上再涨几个点

突破传统数据增强瓶颈:PyTorch中CutMix与Mixup的实战调优指南 当你在CIFAR-10上反复调整学习率和权重衰减却始终无法突破准确率瓶颈时,是否想过问题可能出在数据层面?传统的数据增强方法如随机翻转、裁剪虽然能提供基本的正则化效果&#xff…...

【2024最硬核工程能力】:为什么头部科技公司正紧急替换CI/CD工具链?答案藏在这7个自愈触发条件与4层语义理解模型中

第一章:智能代码生成与代码自愈结合 2026奇点智能技术大会(https://ml-summit.org) 智能代码生成与代码自愈并非孤立能力,而是构成现代AI编程闭环的双引擎:前者聚焦于“从意图到可运行代码”的高效构建,后者专注于“从缺陷到稳定…...

智能代码生成器版本演进全景图(2022–2024核心算法对比白皮书)

第一章:智能代码生成器版本演进全景图(2022–2024核心算法对比白皮书) 2026奇点智能技术大会(https://ml-summit.org) 从模板驱动到语义理解的范式跃迁 2022年初代系统以规则引擎预置模板为核心,依赖显式语法树匹配与硬编码上下…...

React 无状态组件的纯粹性:探讨引用透明性对 React 渲染性能与可预测性的核心贡献

各位同学好!欢迎来到今天的讲座。我是你们的老朋友,一个在 React 的世界里摸爬滚打多年,头发比发际线跑得还快的资深编程专家。今天我们要聊一个听起来非常“学术”,但实际上决定了你应用性能上限和代码可维护性下限的核心概念——…...

终极风扇控制方案:如何用Fan Control打造专业级电脑散热系统

终极风扇控制方案:如何用Fan Control打造专业级电脑散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trend…...