koya-kudaka / sample_app

0 stars 0 forks source link

Gemfile.lockにセキュリティの脆弱性があるというアラートがきているので、解決してみる #10

Open koya-kudaka opened 4 years ago

koya-kudaka commented 4 years ago

アラートが5件ほど。 全てGemfile.lockからきている。gemの管理関係っぽい。

スクリーンショット 2020-10-14 1 25 39

スクリーンショット 2020-10-14 1 23 25

koya-kudaka commented 4 years ago

一応中身を確認すると

スクリーンショット 2020-10-14 1 31 13

koya-kudaka commented 4 years ago

各gemfileに脆弱性があるので、バージョンアップしろというアラートかな

koya-kudaka commented 4 years ago

GemfileとGemfile.lockがどう違って、どちらのファイルをアップデートすればいいのかわからない。 参考になるサイトがあったので、、、

https://qiita.com/Nash-BETA/items/0d4e876cf9460778b985

bundle update と bundle installの違い https://qiita.com/lasershow/items/1a048d03ddaaba98171e

koya-kudaka commented 4 years ago

gemfileは、、、 必要なgemを記入しておくと、bundle installを実行したら、記述しているgemでインストールされていないgemのインストールを実行してくれるファイル。

koya-kudaka commented 4 years ago

gemfile.lockは、、、 実際にインストールされているgemを記入していて、そこにバージョンまで記入したファイル。

koya-kudaka commented 4 years ago

アラートで指定された、バージョンをgemfileに記入してbundleインストールを実行して見る。

順序

1 新しいブランチ solve_alert を作成、head

2 特定(一つ)のgemのバージョンを指定されたものに書き換える

3 bundle updateを実行

4 特定(残り)のgemのバージョンを指定されたものに書き換える

5 bundle updateを実行

6 git  addとcommitを行う

7 masterブランチに移動

8 solve_alertをmasterにマージ

9 git add, commit, pushを行う

koya-kudaka commented 4 years ago

Gemfileに警告にあったgemがそもそもない。。。 Gemfile.lockにはあるけどな。

とりあえず、bundle updateだけで、バージョン更新できるのか試したけど、変化なし。。。 無理だったからやっぱGemfileにgemとバージョン書くのかな。

koya-kudaka commented 4 years ago

https://qiita.com/lasershow/items/1a048d03ddaaba98171e

この記事通りだと、Gemfile.lockのバージョンを変更するなら、Gemfileを書き換えて(gemがない場合は追加する)、bundle updateを実行するのかな。

とりあえず、今日はもう遅いので明日やってみる!

koya-kudaka commented 4 years ago

やるぞーーーーー!

koya-kudaka commented 4 years ago

なんと!!!railsのバージョンは、actionviewに依存している!!

ていうか、 gem同士に依存関係があるなんて知らなかった。。。。。。。。。

今知れてよかった(汗 意外とめんどくさいぞこの問題。

Kudaka-KouyanoMacBook-ea:sample_app kudaka$ bundle update
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "actionview":
  In Gemfile:
    actionview (>= 6.0.3.3)

    rails (= 6.0.3) was resolved to 6.0.3, which depends on
      actionview (= 6.0.3)
koya-kudaka commented 4 years ago

どう解決しよう。。。

koya-kudaka commented 4 years ago

railsのバージョン変更をしてみるか。。。

デフォルトのバージョンに変えてみる。 gem 'rails', '~> 6.0.3', '>= 6.0.3.3'

koya-kudaka commented 4 years ago

おー! railsのバージョンを更新したら、アラートが4つ一気に解決できた!!!

結果、actionviewとrailsだけ更新したけど、本来なら、railsだけで良かったのかも。。。どうなんだろ。

とりあえず、ラスト一個!

スクリーンショット 2020-10-14 10 07 58

koya-kudaka commented 4 years ago

まあ、似たような警告みたい。 gem pumaのバージョンをupgradeしろとのこと。

pumaって確か、webサーバーのgemだよな。。。

スクリーンショット 2020-10-14 10 11 05

koya-kudaka commented 4 years ago

解決できた!!! この解決だけでもトータル1時間半くらいかかってる。。。