はじめに 皆さんこんにちは.3回生のらん(@hoshina350)です. 文字列マッチングに便利な正規表現ですが,テキトーに書くと脆弱になり得るという情報を耳にしてから色々と原因や対策を調べていました. しかし,多くの記事で紹介されていた対策方法は,「独自の正規表現を使用しないー」とか「 * や + などの繰り返し表現はなるべく使わないー」とかいう なんともふわっとしたものでした.これでは「いやぁ確かにそうなんかもしれんけど…そうゆう訳にはいかんやんか…」と納得できません. つまり,「本質的に何が問題」で,「具体的にどんな特徴のある正規表現が脆弱になり得るのか」を知りたい訳です. そこで,様々な文献を調査してみました.本記事では調査して溜まった知見を紹介していきます. 本記事は, Purdue大学のJames Davis教授による “The Regular Expression Denia
![20日目: 正規表現が ReDoS 脆弱になる 3 つの経験則](https://cdn-ak-scissors.b.st-hatena.com/image/square/6de27eb7b153f7ce0d31f98a7bdee93d4897fca9/height=288;version=1;width=512/http%3A%2F%2Fwww.rcc.ritsumei.ac.jp%2Fpr%2Fwp-content%2Fuploads%2F2021%2F12%2Fimage-8.png)