pydantic-monty 调查
摘要
对 pydantic-monty 的调查,这是一个用 Rust 编写的用于沙盒执行的最小化 Python 解释器,确认其安全限制(持续时间、内存、分配、递归)按预期工作。
暂无内容
查看缓存全文
缓存时间: 2026/05/31 19:16
# 研究:pydantic-monty 调查
来源:https://simonwillison.net/2026/May/22/monty-investigation/
研究 (https://simonwillison.net/elsewhere/research/)`pydantic\-monty` 调查 (https://github.com/simonw/research/tree/main/monty-investigation#readme)— 审查 `pydantic-monty` 后发现,它是一个快速、极简的 Python 解释器,专为受控沙盒执行而设计,主要适用于数据转换、分支、循环以及与一组精选的可信宿主工具或虚拟文件系统进行交互的场景。该解释器有意省略了 CPython 的大量功能,并设定了清晰边界:不支持的特性和缺失资源通常会以结构化错误的形式干净地失败,而不会逃逸到宿主运行时中。
距离我上次研究 Monty (https://simonwillison.net/2026/Feb/6/pydantic-monty/) 已有几个月,当时它是用 Rust 实现的沙盒化 Python 子集。这次我让 Claude Code 查看了最新版本。
重要的是,`max_duration_secs`、`max_memory`、`max_allocations` 和 `max_recursion_depth` 这些设置似乎都能按预期正常工作。
相似文章
@GitTrend0x: AI Agent 安全 Python 执行器 7.5k star 杀手级开源神器 https://github.com/pydantic/monty 这就是 Monty,Pydantic 官方出品的 Rust 极致轻量安全 Python …
Monty 是一个用 Rust 编写的极简安全 Python 解释器,专为 AI Agent 设计,提供微秒级启动和近原生 CPython 性能,同时严格限制对主机文件系统、网络和环境变量的访问。
@charliermarsh: 对于这个126字节的代码片段:- ty 0.0.65 栈溢出 - mypy 2.3.0 段错误 - Pyright 1.1.411 超时 - Pyrefly 1.1.…
一个126字节的代码片段导致多个Python类型检查器(ty、mypy、Pyright、Pyrefly、Pycroscope)崩溃、挂起或恐慌,凸显了这些工具中有趣的边界情况。
Python 3.14 直接编译为机器码 – 无需解释器
pon 是一个用 Rust 编写的 Python 3.14 新 JIT 和提前编译器,它直接将 Python 编译为机器码,无需解释器或字节码,并使用垃圾回收器替代引用计数。
使用MicroPython和WASM在沙盒中运行Python代码
Simon Willison介绍了micropython-wasm,一个alpha版本包,它使用编译为WebAssembly的MicroPython在沙盒中运行Python代码,从而在Datasette等Python应用中实现安全的插件执行。
OPFS + Pyodide 测试工具
一个用于在浏览器中使用Pyodide实验源私有文件系统(OPFS)的测试工具,旨在探索Datasette Lite的持久化SQLite存储。