この記事は「Snykを使って開発者セキュリティにまつわる記事を投稿しよう! by Snyk Advent Calendar 2022」の12/15記事となります。
突然ですが犬派ですか?猫派ですか?
私は断然犬派です!
という訳で、凛々しいパッチがガードしてくれるセキュリティプラットフォームのsynkに関して少しでもお伝えできればと。
Synk
https://snyk.io/
セキュリティチェック
Snykではセキュリティチェックの対象としてソースリポジトリはもちろんのこと、コンテナレジストリなど様々なツールとの連携が可能です
VSCodeやSlackなどとも連携が可能なんですね。
最初に私が触ったのは9月頃でしたが、連携対象も増えておりより多くのプロジェクトでの活用が見込めそうです。
Snykに関して調べていく中で知ったこととしては、コンテナに対しての静的な解析・診断も行ってくれることです。
Github上で大きなプロジェクトを立ち上げているわけでもない私にとっては、各プロジェクトはその時その時のものでしかありません。
しかし、Publicに公開しているプロジェクトである以上、誰かしらの目にとまることを考えるとセキュリティ的なリスクを内包したままでは心苦しいところ。
かと言って、自分で調べて対応するというのは厳しい。。。
そこでSnykですよ
Githubで試してみる
という訳で、過去にチュートリアルを元にした勉強用プロジェクトを対象に診断をかけてみた
Code analysis ではミディアムが6件検知されているけど、問題はpackage.json。
作ってから放置されているので、そりゃ問題があるバージョンが定義されているんだろうな。
選択すると、何が問題かを教えてくれる。そこで「Fix this vulnerability」を選択する
一番下にある「Open a Fix PR」を押すと、自動でPRを作ってくれる。
ちなみに、出来ることと出来ないことはやっぱりあって、下の3つは自動では無理のようだ
expressのバージョンが変わったことがわかる。
無事に、驚異が取り除かれました!
別のプロジェクトでも試してみると、、、
XSSの脆弱性を数多く指摘してくれていました。
継続した検査が必要です!
連携に関しては設定ページから確認が可能です
XSSなどの脆弱性に関しては問題外ではあるものの、使用しているライブラリの脆弱性や、コンテナに埋め込まれた問題などを個人でキャッチアップするのは現実的ではありません。
また、それらに対して継続して確認していくのは更に難しいでしょう。
Synkであれば、継続した診断を行ってくれて、更にサマリをメールで通知してくれます
至れり尽くせりですね。
もちろん、レポートされたとしても対応は必要となりますが、その敷居を大きく下げてくれていると感じます。
この先、コンテナを用いたアプリケーション構築がより多くなり、ソースコード上からでは分かりづらい問題が多く発生する可能性があります。
だからこそ、この部分はしっかりとしたところに自動化して欲しい。
その有力な選択肢となると期待しています。
最後に
そんな私は、セキュリティだけでなく肩こりも解消したいので「ガチガチ肩こり解消したい賞」を狙っていきたいと思います。
冒頭でも言いましたが、私は犬派で飼っているのも犬なので猫トイレは困ります。
多分、パッチもなんで犬トイレじゃないのかと困惑していると思います。
これは脆弱性で修正されるべきではないでしょうか!