#Anthropic

Claude Code 沙箱化:提升智能体安全与自主性 Claude Code 这个强大的 AI Agent 帮助开发者编写、测试和调试代码、管理代码库,甚至执行命令,但面临安全隐患和操作不便。Anthropic 最新工程博客介绍了沙箱(sandboxing)机制,这一技术通过预定义边界,让 Claude 在隔离环境中自主运行,显著降低提示注入等风险,同时减少用户手动批准的频率。内部测试显示,这一优化将许可提示减少了 84%,从而提升了开发效率和安全性。 面临的挑战 Claude Code 采用基于权限的模型,默认仅允许只读访问,涉及修改文件或运行命令时需用户逐一批准。这虽安全,却导致“批准疲劳”——用户可能草率同意潜在危险操作,延长开发周期。更严峻的是提示注入攻击:如果 Claude 被操纵,它可能访问敏感文件、泄露信息或下载恶意软件。博客强调,传统方法难以同时应对文件系统和网络漏洞,例如缺少网络隔离可能导致数据外泄,而忽略文件隔离则易于沙箱逃逸。 技术解决方案 Anthropic 利用操作系统原生工具(如 Linux bubblewrap 和 macOS seatbelt)构建沙箱架构,实现文件系统和网络的双重隔离,而非依赖容器化以避免额外开销。该设计支持配置化,用户可指定允许的文件路径和域名,确保 Claude 仅在边界内自由行动。即使子进程或脚本被注入,也无法突破限制。 · 沙箱化 Bash 工具:这是一个 Beta 版研究预览,支持沙箱任意进程。在 Claude Code 中,它隔离 Bash 命令执行:文件系统仅允许当前目录读写,外部修改被阻挡;网络流量通过 Unix 域套接字路由至外部代理服务器,该代理严格验证域名,并要求用户确认新连接。违规行为会触发通知,用户可决定批准,工具已开源。 · Web 版 Claude Code:云端部署,每会话运行于独立沙箱,具备完整服务器权限但排除敏感凭证(如 Git token 或签名密钥)。Git 交互通过自定义代理处理:沙箱的Git客户端使用临时凭证,代理验证认证、分支和仓库后,才注入真实令牌并转发至 GitHub。这防止了意外推送或越权操作。 性能与影响 内部评估证实,沙箱化大幅减少了中断,提升提升了智能体的自主性。即使遭受提示注入,攻击也无法窃取 SSH 密钥或连接外部服务器。Anthropic 视此为构建更安全 AI 智能体的基石,并开源相关组件,鼓励开发者采用。 工程博客:
[开源推荐] Anthropic 开源了最新发布的 Claude Skills,有 14 个示例直接复制来用,创意设计、开发构建、文档处理和企业沟通都有。 先复习一下 Skills 的概念 Skills (技能) 包含指令、脚本和资源的文件夹,Claude 可以动态加载这些内容,以提高在专业任务上的表现。简单来说,Skills 就是教会 Claude 以可重复的方式完成特定任务的"教程包"。 开源项目目的 · 示例展示 - 展示技能系统的各种可能性 · 学习参考 - 为开发者提供创建自定义技能的灵感和模式 · 技术规范 - 提供标准的技能格式定义 Skills 分类 项目包含 14 个示例技能,分为以下几类: 创意设计类 · algorithmic-art:使用 p5.js 创建生成艺术 · canvas-design:设计视觉艺术(PNG/PDF 格式) · slack-gif-creator:创建适合 Slack 的动画 GIF 开发构建类 · artifacts-builder:构建复杂的 HTML artifacts · mcp-server:创建 MCP 服务器集成外部 API · webapp-testing:使用 Playwright 测试 Web 应用 企业沟通类 · brand-guidelines:应用品牌规范 · internal-comms:撰写内部沟通文档 · theme-factory:为 artifacts 应用专业主题 文档处理类 · docx、pdf、pptx、xlsx:处理各类办公文档 技术架构 技能的结构非常简洁: · 每个技能就是一个文件夹 · 必须包含一个 SKILL. md 文件 · 文件包含 YAML 前置数据(元数据)和 Markdown 内容(具体指令) 工作原理 · 用户通过自然语言提及技能名称 · Claude 在技能注册表中查找匹配 · 加载对应的 SKILL. md 文件 · 按照文件中的指令执行任务 开源地址:
WY
3周前
Claude Skills可能走对路了 前天Anthropic发布了Claude Skills,这是一种让AI获取新能力的全新机制。很不错的设计,包含了软件两个最主要的组成部分:程序和资源,还没有什么别的复杂性。架构看起来很合理,虽然要实际用用才能感觉出来是不是真的好用,但初步从架构设计看,感觉Claude Skills在方向上可能走对路了,整个AI行业可能走对路了。 简洁的力量:程序+资源就够了 Skills的核心概念非常简单:一个Skill就是一个文件夹,包含指令、脚本与资源。具体来说,每个Skill包含三样东西:指令(Instructions)告诉Claude该做什么、脚本(Scripts)执行具体任务、资源(Resources)提供模板和辅助内容。因为自然语言也是代码,指令和脚本其实是分不清的,都属于程序。 这种设计的合理之处在于它抓住了软件的本质。软件不就是程序和资源吗?程序负责逻辑,资源负责数据和素材。Skills把这两者有机结合,又没有引入什么别的复杂性。 更重要的是Skills的按需加载机制。Claude只会在Skill与当前任务相关时才会调用,并且采用渐进式披露:先加载元数据(约100词),再加载主体(也比较小),最后才是具体的资源文件。这种设计既高效又节省token,体现了对成本和性能的深度考量。 AI能力扩展的演进:从Plugin到Skills 要理解Skills的价值,需要回顾OpenAI和Anthropic在AI能力扩展上的探索历程。 OpenAI的Plugin是第一次尝试,但看起来是不成功的尝试。Plugin主要依赖API调用,虽然概念不错,但实际体验并不理想,很快就被弱化了。后来推出的GPTs允许用户定制AI的知识和行为,但本质上仍然是基于提示词工程的定制,缺乏真正的能力扩展。 最新的Apps则希望把第三方的界面直接嵌进来,感觉步子迈得有点大。让AI直接操作第三方应用的界面,这种computer use式的方案虽然听起来很酷,但实际可控性和可靠性都面临巨大挑战,而且第三方应用也不愿意被嵌入的这么深。百度很多年前想做框计算,目的是类似的,并没有成功。 Anthropic自己推出的MCP(Model Context Protocol)走的是另一条路,主要通过API调用已有服务的能力,和Skills的定位不同。MCP更多是为了连接外部系统和服务,而Skills则是为Claude赋予新的原生能力。 相比之下,Skills找到了一个更优雅的平衡点。它用Markdown这种人人都能理解的格式来描述能力,可以包含详细的使用说明和示例。开发者创建一个Skill,就像是"给Claude写一份入职手册"。而且Skills可以打包分享,形成开放的生态系统,这大大降低了开发门槛。 Anthropic一口气开源了20多个Skills,涵盖创意设计、开发技术、企业应用等各个领域。这种开放的姿态,很可能会推动一个繁荣的Skills生态的形成。资源的例子很好理解:Canvas-fonts包含很多字体文件,这样Claude在生成设计时就能直接调用。 仍需改进的地方 当然,任何新技术都不可能完美。Skills目前也存在一些明显的不足。 首先是技术门槛问题。虽然Skills用Markdown编写降低了理解难度,但官方的一些Skills仍然依赖于apt-get这样不够亲民的指令,至少对大多数Windows的用户这一步就直接挂了。普通用户希望的是一个软件包一装就灵,而不是还要装一大堆依赖。如何让Skills的创建和使用更加大众化,是Anthropic需要继续优化的方向。 其次,Skills看起来不容易拥有自己的存储和数据库。这在处理需要持久化状态的任务时可能会成为限制。比如,如果我想创建一个帮我跟踪工作进展的Skill,它需要记住之前的任务状态和历史数据,但现在的Skills架构似乎不太支持这种场景。不过或许可以在Skill里调用sqlite这样的数据库命令来实现这一点? 结语 Claude Skills的发布,为AI能力扩展提供了一个简洁而优雅的解决方案。相比OpenAI的Plugin、GPTs和Apps等尝试,以及Anthropic自己的MCP,Skills在易用性、可控性和生态开放性之间找到了更好的平衡。它避免了过度工程化的陷阱,用最小的复杂度实现了核心价值。 在AI原生应用的探索中,我们都在寻找那个平衡点:既要充分发挥AI的能力,又要保持用户体验的简洁流畅;既要提供强大的功能,又要避免不必要的复杂性。Skills在这个平衡上做出了有价值的尝试,值得我们这些AI产品从业者认真研究和借鉴。