DOM Snitchは危険性のあるJavaScriptの処理を検出してスタックトレースするGoogle機能拡張。

DOM SnitchはGoogle Chrome用のオープンソース・ソフトウェア。先日、旧バージョンのjQueryに潜むセキュリティ問題が取沙汰された。JavaScriptが多用されるようになると、そこにセキュリティホールが潜む可能性がある(先日まで当サイトにも存在していた)。


DOM Snitchの画面

JavaScriptが出力したコンテンツなのか否か、Webブラウザを単純に使っている限りでは分かりづらい。ブラウジングを通じて問題があるかも知れない処理を発見できるのがDOM Snitchだ。Google製のGoogle Chrome機能拡張だ。

DOM SnitchはGoogle Chromeの機能拡張であり、Webブラウジング中に特定のメソッドを使われていないかどうか監視し、使われている場合にそのURLとスタックトレースを保存してくれる。例えばdocument.writeやScriptElement.srcだ。


実行

そしてそれらの処理が実行されると、アラートが表示される。そうするとDOM Snitchに記録が残り、実行されたデータが確認できるようになる。DOM Snitchを入れておくことで、セキュリティホールにつながる可能性があるかどうか早期に判断ができるようになるのだ。

MOONGIFTはこう見る

JavaScriptのセキュリティホールはコードが見えてしまっているので簡単につかれる可能性がある。クライアントサイドのクラッキングを受けるとセッション情報を抜き取られたり、別なサービスにデータをポストすることができてしまう。

DOM Snitchを使うと危険性のあるデータのやり取りが可視化される。決して必ずしも危険がある訳ではないが、チェックすべきポイントを教えてくれるだけでも十分利用価値があるはずだ。DOM Snitchを使ってセキュアなWebサービスに仕上げていこう。

domsnitch - A passive reconnaissance tool inside the DOM (experimental) - Google Project Hosting