n4o847 / seccamp-redos

A tool for detecting ReDoS vulnerabilities based on automata theory.
https://n4o847.github.io/seccamp-redos/
7 stars 4 forks source link

#5 IDA検出実装 #14

Closed masa5555 closed 3 years ago

masa5555 commented 3 years ago

とりあえず a*a*を正しく判定できるようにはできました。 ただ、テストケースの中の(.*)="(.*)だけは実行時間がとても長いので、計算量などを考え直す必要があります。

n4o847 commented 3 years ago

コードのスタイルの修正ですが、lint をかけるようにするのが良いと思います。(@yuziroppe さんのほうが詳しそう)

yapatta commented 3 years ago

コードのスタイルの修正ですが、lint をかけるようにするのが良いと思います。(@yuziroppe さんのほうが詳しそう)

タブインデント修正ってコミットが気になってブランチに入って見たのですが、もしかしてprettierちゃんと機能していない感じですかね?.eslint.json, .prettierの設定を取り込むためにvscode上でprettierとeslintをインストールするのと, setting.jsonでformatOnSaveをtrueにしておくと, save時に自動でprettierが効くと思います。

masa5555 commented 3 years ago

フォーマットに関しては、prettierを入れていませんでした。指摘ありがとうございます!

yapatta commented 3 years ago

フォーマットに関しては、prettierを入れていませんでした。指摘ありがとうございます!

あと改行コードが違っていたようでprettierのエラーが出ていたので、prettierの改行設定をlf(\n)にデフォでなるように変えておきますね(crになっていた)

n4o847 commented 3 years ago

正直アルゴリズムの細かいところまで把握できていないのですが、マージしても問題ないような気はします……?

ところどころ状態を id で比較している部分がつらそうで、多分他の部分でも将来的につらくなっていくので、状態を string にするなどの改善案を後々出していきたいと思います。

yapatta commented 3 years ago

マージしちゃいましょう〜! 状態をstringにするのかなりありですね(Stateがメンバにidしか持たない感じなので)

yapatta commented 3 years ago

と思ったがやはりprettierがちゃんと効いてないようなので修正してからマージします

yapatta commented 3 years ago

eslintのエラーメッセージを消してからコミットしてくれると助かります。