misskey-dev / misskey

🌎 An interplanetary microblogging platform 🚀
https://misskey-hub.net/
GNU Affero General Public License v3.0
9.82k stars 1.33k forks source link

Install Snyk #5099

Open acid-chicken opened 5 years ago

acid-chicken commented 5 years ago

To apply some unreleased security patches.

acid-chicken commented 5 years ago

@syuilo What do you think about this proposal?

syuilo commented 5 years ago

よくわからない

acid-chicken commented 5 years ago

未リリースのパッチを割り込んで入れられる

acid-chicken commented 5 years ago

@syuilo 説明不足でしょうか?

acid-chicken commented 5 years ago

😕

u1-liquid commented 5 years ago

どうやっていいですかね npmのライブラリをソースコード内に取り込んでこのパッチを適用すればいいんですか?

acid-chicken commented 5 years ago

Snyk が勝手にやってくれるので Snyk 入れたら終わります。

u1-liquid commented 5 years ago

dependbotみたいに自動化でPR送ってくれるサービスですね https://snyk.io/

acid-chicken commented 5 years ago

PR で自動で割り込み設定を入れてくれて、パッケージのインストール時に実際の割り込みを行ってくれます。

そういえば dependabot どうしちゃったんでしょうね? 最近全然 PR 見かけなくなっちゃった気がしますが。

u1-liquid commented 5 years ago

disableされてるかも 謎ですね

acid-chicken commented 5 years ago

まあいつの間にか消えてるのはよくあるのでおそらく消されてると思いますけど……。

acid-chicken commented 5 years ago

😇

acid-chicken commented 5 years ago

🐢

rinsuki commented 5 years ago

そうこうしてるうちにlodashのリリースが出た

acid-chicken commented 5 years ago

リリース出たところで直接的な依存関係ではないので、(yarn を使わない限り || 依存関係が全て更新されない限り)脆弱性修正を受けられない。

acid-chicken commented 5 years ago

あ、でもどうせ video-thumbnail-generator だけか。

acid-chicken commented 5 years ago

でもどの道 yarn を使ってるユーザーのみしか resolutions 上書きは通用しないし、やっぱこの方法のまま続けるのは良くない。あるいは Mastodon のように yarn の使用を推奨すべき。

rinsuki commented 5 years ago

セキュリティのためにyarn強制しても良さそう

acid-chicken commented 5 years ago

セキュリティ vs @syuilo の依存関係を増やしたくない気持ち https://github.com/syuilo/misskey/pull/4623#issuecomment-478549602

u1-liquid commented 5 years ago

うーむ @syuilo npm install -g yarn の代わりに npx yarn 使えばちょっと環境依存減らせることができそうですがどうですか?

syuilo commented 5 years ago

ん、yarnってnpm経由でインストールできるの?

acid-chicken commented 5 years ago

はい。逆に npm 以外でインストールする方法を知らない。(よろしくない)

u1-liquid commented 5 years ago

こういう風になります image

syuilo commented 5 years ago

私は公式サイトからインストーラーをダウンロードしてきてインストールしましたね

syuilo commented 5 years ago

ユーザーの手間が増えないならyarnでいいと思います

acid-chicken commented 5 years ago

議論の流れがややこしくなってしまったので一応勘違いのないように補足しますが、yarn は Snyk がやってくれる機能を補ってくれるわけではない。

acid-chicken commented 5 years ago

@syuilo この際お聞きしたいのですが、dependabot はどうして息をしていないんでしょうか。

rinsuki commented 5 years ago

npm経由、あんまり推奨されてない気がする

rinsuki commented 5 years ago

Install via npm

Note: Installation of Yarn via npm is generally not recommended. When installing Yarn with Node-based package managers, the package is not signed, and the only integrity check performed is a basic SHA1 hash, which is a security risk when installing system-wide apps.

For these reasons, it is highly recommended that you install Yarn through the installation method best suited to your operating system.

https://yarnpkg.com/lang/en/docs/install/#alternatives-stable

acid-chicken commented 5 years ago

a security risk when installing system-wide apps.

だから Misskey の用例ならまあ大丈夫だと思う。(そんなことはなかった。)

rinsuki commented 5 years ago

どっちにしろnpmがsha1しか検証しないことには変わりない気がするしどうしてもyarnを入れたくない場合にのみ使うべきっぽい

u1-liquid commented 5 years ago

ここで「sha1しか検証しない」の対象はyarn本体のパッケージのみのことなので、npm i -g ではなくnpxでyarnを呼び出す場合いつも最新のパッケージがfetchされるのでnpmレポジトリーのyarnパッケージが汚染されてない限り大丈夫だと思います。(強いて言えばこの方法のセキュリティーリスクはyarnパッケージに限って今と比べて全く同じですね)

acid-chicken commented 5 years ago

いや、その fetch においてセキュリティリスクをはらんでいる可能性がある気がする。

rinsuki commented 5 years ago

yarnが汚染されるとそれによりインストールされるライブラリも汚染される可能性があるので結局npm直の時とリスクが変わらなくなる

rinsuki commented 5 years ago

(yarnをnpmで入れる場合

rinsuki commented 5 years ago

まあそれでもlockはできるのでまだマシ

rinsuki commented 5 years ago

一番良い: yarnをシステムの署名検証の仕組みを使ってインストールする 妥協案: npx yarn (署名はアレだがとりあえずlockはできる) やりたくない: npm install (lockができない

u1-liquid commented 5 years ago

ちなみにnpxは node_modulesに呼び出すパッケージが

acid-chicken commented 5 years ago

で、どうしますか。

mei23 commented 5 years ago

たいていすぐリリースされそうだからいらない気がするわ

acid-chicken commented 5 years ago

lodash の件も脆弱性発覚から1ヶ月以上かかっていますが、それは本当に「すぐ」と言えるのでしょうか?

rinsuki commented 5 years ago

オフトピ気味: そもそもそんなに脆弱性発覚から修正にかかるようなパッケージを依存関係に入れることが好ましくない気はする…

mei23 commented 5 years ago

で、どうしますか。

これプルリクの方だと思ってました、とりあえず保留でいいんじゃないですかね…

acid-chicken commented 4 years ago

今度は https-proxy-agent の方でパッチが出ています。

https://snyk.io/vuln/SNYK-JS-HTTPSPROXYAGENT-469131

acid-chicken commented 4 years ago

ping

mei23 commented 4 years ago

https-proxy-agent は 修正済みのものがReleaseされていた https://github.com/TooTallNate/node-https-proxy-agent/releases/tag/3.0.0