はじめに
脆弱性検知を勝手にやってくれるサービスSnykがどんなものか30秒くらいで説明します。
登録方法は調べればすぐ出てくるので割愛します。
使い方
Githubと連携し追加したいプロジェクトを選択すると、このような画面になります。
- コードにある脆弱性
- Dockerfileで追加しているイメージやモジュールの脆弱性
- 使っているライブラリ(今回はRailsなのでGemfile.lock)の脆弱性
を自動で検知してくれました。
Gemfile.lockの脆弱性を見てみます。
アプリケーションサーバーであるpumaのバージョンによる脆弱性とその中身(CVEとかのリンク)を教えてくれます。
今、v5.2.2使ってるから、4.3.12とか5.6.4使えばいいよって言ってくれてますね。
Fix this vulnerability
ボタンを押すと、
こういうちゃんとしたPRを勝手に作ってくれます。
他にも、
configの中で、SSL強制してないよとか教えてくれます。
ここはなんかPR自動作成とかはないんですが、1文コメントアウトを外すだけなので自分で作れますね。
まとめ
無料なので、とりあえず導入しておけば良いかと思います!
CI/CDに組み込むこともできますし、脆弱性レベルによって挙動を変えることもできるらしいので、試してみると良いかと思います。(本当はこれに関する記事書こうと思ったけど、以下リンクと全く同じものになってしまうのでやめました。)
[GitHub Actions] Snyk Node Actionを使ってCI Workflow上で脆弱性のチェックをしてみた