TRE Python 绑定展示抗 ReDoS 能力
Simon Willison··作者 Simon Willison
关键信息
关键技术差异在于 TRE 是一种不进行回溯的正则引擎,因此比 Python 默认实现更能抵御恶意输入。这个绑定仍然是实验性的,并且是通过 ctypes 创建的,所以应把它看作研究演示,而不是受支持的正式库。
资讯摘要
Simon Willison 发布了一篇题为《TRE Python binding — ReDoS robustness demo》的研究文章。他表示,既然 antirez 都觉得 TRE 足够好并把它加入 Redis,那么进一步了解它就很有必要。为此,他让 Claude Code 用 ctypes 构建了一个面向 TRE 正则表达式引擎的实验性 Python 绑定。随后,他用恶意正则表达式攻击对这个库进行了测试。
结果显示,TRE 处理这些攻击的能力明显优于 Python 标准库中的正则实现。文章指出,这种鲁棒性主要来自 TRE 不支持回溯。整体来看,这更像是一个小型研究演示,而不是重大产品发布,也不是在宣称 TRE 已经可以全面取代 Python 的正则引擎。
资讯正文
研究:TRE Python 绑定——ReDoS 稳健性演示
如果它“足够好到让 antirez 把它加入 Redis”,那我就觉得 Ville Laurikari 的 TRE 正则表达式引擎值得更详细地研究一下。
我让 Claude Code 构建了一个实验性的 Python 绑定(它使用了 <code>ctypes</code>),并尝试对这个库发起一些恶意的正则表达式攻击。TRE 对这些攻击的处理要比 Python 标准库实现好得多,这主要归功于它不支持回溯。
标签:security、python、regular-expressions、c、ctypes
来源与参考
收录于 2026-05-05