銀の弾丸

プログラミングに関して、いろいろ書き残していければと思っております。

GitHub の Security Alerts を 1 clickで解消する(Botが勝手にやってくれる)

f:id:takamints:20190714165555j:plain
photo credit: verchmarco Vintage-Haustürschlüssel liegt auf einem selbstgemalten Haus via photopin (license)



GitHubからSecurity Alertsのメールが来ていました。3日連続で合計12件。全部npmのリポジトリ。 未明から早朝にかけてメールを受信するので朝起きて即ウンザリしてました。

すべて 12件のうち11件は間接的に依存している lodash が「prototype汚染に対して脆弱」だとのことで、解消するにはバージョンを 4.17.13 以上に上げなさいと。残り1件は diff というモジュールでした。

この場合、各リポジトリpackage-lock.json を直接開いて、lodash の tgz や sha の情報を npm info lodash で表示される最新バージョンの情報に書き換える必要があります。 npm install で 監査(Audit)の警告が出た時に npm audit fix で解消するのとほぼ同じ対処ですね(多分)

しかし、この単純作業を12個のリポジトリでやっていくのが若干面倒だったので、1日知らないふりして放置していましたが、本日GitHubでセキュリティ警告の画面を見ると、以前は無かった「Create automated security fix」という緑色のボタンがあって「なんだこれは?」と。

f:id:takamints:20190714110011p:plain

どうなるのか少し不安でしたが、Gitなので大丈夫だろうと押してみると、Botが勝手にブランチ切って、上記対処を適用してくれ、プルリクエストまで投げられました。 さらにこのプルリクをマージすると、ブランチを削除してくれました。

※ npmのパッケージのバージョンは勝手に上げてくれないので、それは手作業で対処が必要。


MicrosoftGitHubを買って以降、いろいろ便利になっていますね。 npmの場合、他のリポジトリで使われている数がわかったりしてチョット上がる。 UIも結構変わっているけど気に障らないし戸惑わない。 マイクロソフトらしい妙な日本語が交じることも無く良い状態(笑)。