首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >smolagents >smolagents 的代码执行沙箱机制有哪些选项?

smolagents 的代码执行沙箱机制有哪些选项?

词条归属:smolagents

1. 执行环境类型

CodeAgent 通过 executor_type 参数选择代码执行环境,不同选项在安全性和适用场景上存在差异:

执行器类型

安全级别

适用场景

local(默认)

受限(基于 AST 的导入白名单)

本地开发、可信环境

e2b

高(云端 Firecracker 微虚拟机)

生产环境、不可信代码

docker

高(容器隔离)

自托管、完全控制

modal

高(无服务器容器)

大规模自动扩缩容

blaxel

高(托管远程执行)

边缘原生执行

wasm

高(WebAssembly 沙箱)

浏览器级隔离、边缘部署

2. 本地执行器的安全限制

默认的 LocalPythonExecutor 并非真正的安全沙箱,它通过以下机制提供基础防护:

  • 将导入限制在用户显式传递的白名单内
  • 阻止危险模块(如 ossyssubprocess)的导入
  • 限制操作总数和循环迭代次数,防止资源耗尽
  • 禁止 evalexecos.system 等危险内置函数

官方文档明确指出,本地执行器不能用作安全边界,生产环境中处理不可信输入时必须使用远程沙箱执行器。

3. 远程沙箱的选择建议

  • E2B:云端托管沙箱,启动时间约 2 秒,提供免费额度,适合原型开发
  • Modal:基于 gVisor 隔离,支持大规模自动扩缩容,适合生产规模
  • Docker:自托管,完全控制,需本地 Docker 守护进程
  • WebAssembly(Pyodide + Deno):在浏览器级 WASM 沙箱中运行,适合无法使用 Docker 的边缘环境

需要注意的是,沙箱化执行目前不支持多智能体系统,架构设计时应将不可信输入的处理隔离在独立的子 Agent 中。

相关文章
smolagents 真正强的地方是代码型行动,但第一步不是放权
smolagents 吸引人的地方,不只是“几行代码就能跑 agent”。更关键的是它支持 CodeAgent:agent 可以用 Python 代码表达行动,而不是只吐出一段 JSON tool call 或文字指令。
用户12029797
2026-06-29
2250
GPON的控制管理机制有哪些?
OLT的一个PON口是如何能够高效有序的管理下挂的一堆ONU?那就需要来了解下GPON的控制管理机制。
通往ICT之路
2024-04-09
1.8K0
干掉 “重复代码” 的技巧有哪些
软件工程师和码农最大的区别就是平时写代码时习惯问题,码农很喜欢写重复代码而软件工程师会利用各种技巧去干掉重复的冗余代码。
每周聚焦
2023-01-03
9030
有哪些好玩又实用的Python代码?
在GitHub上,可以通过搜索spider,找到关于Python的爬虫项目,里边只有你想不到,没有Python做不到的。
Java阿呆
2022-04-15
4.2K0
免费的低代码开发平台有哪些?
近年来,低代码行业逐渐成为了人们口中的“香馍馍”,尤其是在中、美地区,几乎每周都有一家低代码/无代码平台(No-Code)的公司融资。而根据Gartner的报告显示,低代码/无代码的市场,仅在去年(2021年)就增长了25%,分析软件市场也在一年内成长了20%。放眼国内市场,也是发展得如火如荼。
informat低代码
2022-07-25
14.3K1
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券