paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Rethinking Regex engines to address ReDoS

重新思考正则引擎以应对 ReDoS
FSE Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2019匹配度 2/10 · 该论文讨论正则引擎的指数级匹配行为与 ReDoS 攻击,属于程序语言/安全与运行时方向,但与我关注的静态分析、LLM/Agent 交叉、浮点程序分析和贝叶斯程序分析没有直接关系。引用 17 inbox
James C. Davis
crossref: 2026-09-12

AI 速览

一句话:指出 Python、Java、JavaScript 等语言的正则引擎存在最坏指数级匹配行为,呼吁重新设计引擎以抵御 ReDoS 攻击。

正则表达式是广泛使用的强大字符串处理工具,但在 Python、Java、JavaScript 等主流编程语言中,其实现存在最坏情形指数级的匹配行为。这种高时间复杂度使攻击者能够构造特定输入耗尽服务端计算资源,造成正则表达式拒绝服务(ReDoS)攻击,给软件服务带来现实的安全威胁。本文以此为主题,指出该类问题并非个别语言的孤立现象,而是当前正则引擎设计层面的共性隐患,主张重新思考正则引擎的匹配与实现机制,以在保留正则表达力的同时缩小指数级匹配带来的攻击面。摘要以问题阐述与立场呼吁为主,未给出具体的技术方案与实验评估。

问题
Python、Java、JavaScript 等主流语言的正则引擎具有最坏情形指数级的匹配复杂度,使软件服务易受正则表达式拒绝服务(ReDoS)攻击。
方法
文章主张重新审视并改进正则引擎的设计,以缓解指数级匹配行为带来的安全风险;摘要未披露具体算法或实现细节。
评估
摘要未描述实验、基准测试或评估方式,属于问题阐述与立场性论述。
原文摘要(Abstract)

Regular expressions (regexes) are a powerful string manipulation tool. Unfortunately, in programming languages like Python, Java, and JavaScript, they are unnecessarily dangerous, implemented with worst-case exponential matching behavior. This high time complexity exposes software services to regular expression denial of service (ReDoS) attacks.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot5041,
  title = {Rethinking Regex engines to address ReDoS},
  author = {James C. Davis},
  booktitle = {FSE},
  year = {2019},
  doi = {10.1145/3338906.3342509}
}