Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nodecli: markedのsanitizeオプションはdeprecatedとなった #918

Closed
azu opened this issue Aug 3, 2019 · 10 comments
Closed

nodecli: markedのsanitizeオプションはdeprecatedとなった #918

azu opened this issue Aug 3, 2019 · 10 comments

Comments

@azu
Copy link
Collaborator

azu commented Aug 3, 2019

https://github.com/markedjs/marked/releases/tag/v0.7.0

nodecliで利用してる markedsanitizeオプションは非推奨となったので、なんか別のライブラリとかにしたほうがいいような気がしてる。

@azu
Copy link
Collaborator Author

azu commented Aug 3, 2019

https://www.npmtrends.com/marked-vs-markdown-it-vs-showdown-vs-remark-html

markdown-itが妥当な感じはするけど、オプション逆なんだよね(普通はそうな気がするけど、意外とそういうのが少ない)
https://github.com/markdown-it/markdown-it

@azu azu changed the title nodecli: sanitizeオプションはdeprecatedとなった nodecli: markedのsanitizeオプションはdeprecatedとなった Aug 3, 2019
@lacolaco
Copy link
Collaborator

lacolaco commented Aug 4, 2019

https://github.com/markdown-it/markdown-it/blob/master/docs/security.md

markdown-itもHTMLを有効にするなら外部のサニタイザーを使ってって書いてる

@lacolaco
Copy link
Collaborator

lacolaco commented Aug 4, 2019

サニタイザー内包してるほうが少なそう

@azu
Copy link
Collaborator Author

azu commented Aug 4, 2019

markdown-it はまあデフォルトがHTML無効だからまだいいけど、
https://github.com/azu/safe-marked
デフォルトが安全じゃないのが多いからわざわざこういうの書いた記憶もある。
(DOMPurify どう考えても使い方が難しい)

@lacolaco
Copy link
Collaborator

lacolaco commented Aug 4, 2019

markdown-itにしてsanitizeの項目消しちゃう感じの想定です?

@azu
Copy link
Collaborator Author

azu commented Aug 4, 2019

markdown-itにしてsanitizeの項目消しちゃう感じの想定です?

markdown-itにして、--enable-html みたいなオプションを追加するとか?

https://github.com/commonmark/commonmark.js
はmarkedと似た感じだけど、こっちはgfmオプションはないんだ(こっちも0.x系…)

@azu
Copy link
Collaborator Author

azu commented Aug 4, 2019

オプションがバージョンで変わるのはしょうがないんだけど、機能そのものがライブラリから消えちゃうパターンなのがちょっとネックなんだよなー

取れそうな選択肢

  • marked の バージョンを固定しちゃう (でもGitHub Security Alertにでてくる)
  • marked + サニタイズライブラリで実装する
  • 他のなにかにする
  • marked でサニタイズ以外のオプションにする

@yumetodo
Copy link
Contributor

yumetodo commented Aug 4, 2019

ところでJS製のライブラリにこだわる必要ってあるんでしょうか・・・?

@azu
Copy link
Collaborator Author

azu commented Aug 4, 2019

@yumetodo 趣旨がよくわからないです。
環境依存とかを考えると、ネイティブライブラリを検討するのは難しいと思います。

@azu
Copy link
Collaborator Author

azu commented Aug 5, 2019

このIssueは #928 にマージされる。
基本的には扱わないように消すという方向。

@azu azu closed this as completed Aug 5, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants