「Retire.js」を使って、Webサイトで使われているJavaScriptライブラリの脆弱性を確認してみよう
よしたくさんのブログで「Wrappalyzer」を紹介していました。
私が「Wrappalyzer」と合わせて使っている「Retire.js」も便利なので、ご紹介したいと思い記事にしてみました。
目次
Retire.jsって?
Webサイトで利用しているJavaScriptライブラリに存在する、既知の脆弱性を教えてくれます。
形式で提供されています。
今回はChrome Extensionについてご紹介します。
※ローカルプロキシツールと呼ばれるツールです。ブラウザとWebサーバの通信間でプロキシとして動作します。Webサーバとの通信内容を確認したり、書き換えてテストする目的で利用します。
OWASP ZAP
Burp Suite
インストール方法
Chromeウェブストアで「retire.js」と検索し、「Chromeに追加」します。
使い方
Webサイトにアクセスするだけで、アクセスしたWebサイトで利用されているJavaScriptライブラリに既知の脆弱性が存在するか確認してくれます。
動作例
わざと脆弱性が作りこまれている「juice-shop」というWebアプリで確認してみます。
「juice-shop」は、Webアプリケーションの脆弱性を学ぶためのコンテンツです。
Dockerイメージが公開されているので、pullして実行します。
$ docker pull bkimminich/juice-shop $ docker run --rm -p 3000:3000 bkimminich/juice-shop
ブラウザから「 http://localhost:3000 」にアクセスします。 アクセスすると、画面右上にあるRetire.jsのアイコン上に赤い通知バッジが表示されます。
Retire.jsのアイコンをクリックすると詳細を確認できます。
利用しているjquery 2.2.4に脆弱性があることが検出されました。
詳細ウインドウに記載されているリンクにアクセスすると、githubのIssuesや、jQuery公式のアナウンスなど、当該脆弱性に関する情報を確認することができます。
できること / できないこと
Retire.jsができることは、「ライブラリに存在する既知の脆弱性の検知」です。 まだ公表されていない脆弱性は見つけることができません。
注意点
脆弱性が存在している機能をWebサイトで利用していない場合もあります。
「脆弱性があるライブラリを利用しているから、このサイトは危険だ!」というわけではありません。
まとめ
Retire.jsを利用することで、対象Webサイトで利用しているライブラリの脆弱性を簡単に確認することができます。
一度ご自身の関係するWebサイトを確認してみてはいかがでしょうか。
本記事が役立って、インターネットの世界が少しでも安全になれば幸いです。