![[FEATURE] Add Wasm-based code interpreter tool to safely run untrusted code.](https://www.chat-gpts.plus/wp-content/uploads/2026/06/4810-3cca9c44.jpg)
[FEATURE] Add Wasm-based code interpreter tool to safely run untrusted code.
快速结论:本 Issue 是一个功能请求,提出在 CrewAI 中集成基于 WebAssembly (Wasm) 的沙箱代码解释器(如 crewai-capsule 或 vpod),以安全运行不受信任的代码。CrewAI 维护者表示需要进一步评估安全性,目前该 Issue 已关闭。
问题场景
用户在 CrewAI 框架中试图运行不受信任的 Python 代码时,关注到了现有 CodeInterpreterTool 的安全漏洞(参见 Issue #4516)。Feature request 提出集成 Wasm 沙箱(如 Capsule)作为替代方案,以提供更安全的代码执行环境。
报错原文
None(本 Issue 为功能请求,无具体报错原文)
原因分析
可能原因:当前 CrewAI 的 CodeInterpreterTool 存在安全漏洞,直接执行不受信任的代码可能导致主机被攻击。用户需要更安全的沙箱隔离方案,而 WebAssembly 提供进程级隔离,相比纯 Python 层沙箱更安全。
环境排查
- 确认 CrewAI 版本(建议使用最新版本,
CodeInterpreterTool已在 #5309 中被移除)。 - 确认是否已安装相关依赖(如
crewai-capsule或vpod)。 - 确认操作系统支持 WebAssembly 运行时(Linux、macOS、Windows 均可)。
- 如使用
vpod,确认是否已拉取相关快照(如vsnap-base、vsnap-data)。
解决步骤
- 如果你是 CrewAI 维护者或贡献者,建议评估
vpod或crewai-capsule等 Wasm 沙箱方案的安全性和集成复杂度。 - 如果你是需要沙箱代码解释器的用户,可参考
vpod示例:from vpod import Sandbox with Sandbox.create(snapshot="vsnap-data") as sandbox: sandbox.code.run("import pandas as pd; import numpy as np") result = sandbox.code.run("s = pd.Series([1, 2, 3, 4, 5]); print(s.sum(), s.mean())") print(result.text)此方案无需专用
crewai-capsule包,可直接使用 Python 适配器。 - 或参考
crewai-capsule方案(已不再推荐,因已有更简单的vpod方案):from crewai_capsule import CapsulePythonREPLTool python_tool = CapsulePythonREPLTool() code = """ def factorial(n): if n <= 1: return 1 return n * factorial(n - 1) factorial(6) """ result = python_tool.run(code) print(result) # "720" - 如欲提交 PR 集成到 CrewAI,请与维护者沟通,确保安全性评估通过。
验证方法
运行上述代码示例,确认代码能在沙箱中正确执行并返回预期结果。若需验证安全隔离性,可在沙箱内尝试执行 subprocess、open 等系统调用,确认被拒绝或仅影响沙箱内环境。



![[推广] [aitokensflux] 主打 cx-Pro20 / cc-Max20, GPT 0.2 倍率,进群私聊机器人 /cdk 每天领 5 美元,活动到 7 月 3 日](https://www.chat-gpts.plus/wp-content/uploads/2026/06/ai_cover_3-993-768x403.jpg)