JavaScriptを使えばWebページを自在にコントロールできます。ユーザにマクロを組ませて、より彼らのニーズに合ったサービスにしたいと思うこともあるでしょう。しかし自由にJavaScriptが実行できるのはセキュリティ上の問題にもなります。 そこで使ってみたいのがSESです。セキュアにECMAScriptを実行できるランタイムです。

SESの使い方

アタックコードの例。Date.nowを使うことで解析するタイプです。何もしない場合はセキュリティを破られます。

SESを有効にした場合。Date.nowが使えなくなってエラーになります。

SESを使うことでグローバルな変数へのアクセスを禁止したり、特定のオブジェクトへのアクセスがエラーになります。これにより、サードパーティーが作ったJavaScriptを誰でも安全に実行できるようになります。

SESはJavaScript製のオープンソース・ソフトウェア(Apache Licnese 2.0)です。

Testing SES Agoric/SES: SES (Secure EcmaScript) is a secure runtime for running third-party code safely