Dev.to | 📄 原文链接 | 2026-07-21 收录

smolagents 的 Bug:让我的代理对同一段有效代码重试了三次

来源:dev.to — Jul 20

📋 概述

Himanshu Kumar 用模糊测试方法在 smolagents 的 LocalPythonExecutor 沙箱中发现了一个隐蔽 bug:Python 的字典解包语法(`{**d1, k: v}`)在沙箱中被拒绝,但报错信息指向了不存在的 `None` 值。问题根源是 Python AST 中解包节点的 `key` 字段为 `None`,而沙箱代码未处理这种情况。一个下午发现了四个未报告 bug。

🔑 核心要点

💡 金句

当公开 issue 被抢光时,我启动了一个小模糊测试器。方法很无聊但很有效:喂入普通有效的 Python 片段,标记任何抛出 InterpreterError 的——有效 Python 被沙箱拒绝,这就是 bug。
← 返回 Dev.to 首页