dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

#html5jplat 勉強会『アプリ怪獣エレクトロンの育てかたと倒しかた』に行ってきた

行ってきました。

Electron アプリの作り方

@yosuke_furukawa さん

Electron とはなにか?という非常に基本的な知識や、これから Electron を始める上で有用な資料の紹介など。

特に、Electron の中身の部分(Main プロセスと Renderer プロセスがあって〜という話)は
実際に Electron 開発を経験した後、改めて確認したいなあと思いました。

f:id:dackdive:20160308221423p:plain:w400

スライド中で紹介されていた、最初に参考にすると良いサイトはこのあたりです。

f:id:dackdive:20160309100342p:plain:w400


Electron の倒し方

@hasegawayosuke さん

スライド:http://utf-8.jp/public/2016/0307/electron.pdf

セキュリティの観点から、Electron の脆弱性についての非常に詳しい説明。

Electron はXSSの問題が解決できてなくて気をつけないといけない、みたいな話はどっかで聞いたことあったんですが
具体的にどうやったら攻撃できるのかとか、なぜ Electron だとそこまで気にしないといけないのかといった話が理解できてよかったです。

f:id:dackdive:20160309101448p:plain:w400

Electron は通常のブラウザ上で動く Web アプリと違ってローカルのファイル操作とかまでできてしまうので、XSS を受けた時の被害も大きい。

f:id:dackdive:20160309101507p:plain:w400

また、ファイル名など従来の web アプリでは気にしなくてよかった部分も脆弱性が生まれてしまうポイントになります。
このスライドの「ソース」と「シンク」という言葉、初めて聞きました区別するための言葉があるんですね。

ソース:脆弱性が生まれてしまう場所
シンク:ソースから入り込んだ悪意のある文字列が JS で実行される箇所

と理解しました。


エレクトロンエンタープライズ

@SakamakiM さん

エンタープライズの視点で見た Electron の魅力と、Electron 実際にエンプラで使えるの?を色々検証してみたという話。

f:id:dackdive:20160309102043p:plain:w400

f:id:dackdive:20160309102045p:plain:w400

f:id:dackdive:20160309102052p:plain:w400

テスト自動化しようとしたらどんなツール使うことになるの?それってほんとにコストに見合ってる?というところをこれでもかというぐらいに検証されていて、web のゆるい空気に慣れてしまった自分にはため息しかありませんでした。


感想

Electron の倒しかた、というタイトルから Electron 開発における攻略法みたいな話が聞けるのかなと思ってたんですが

「Electron ってこんなに危険があるんやで〜
 相当気合い入れてやらないと簡単に倒されてまうで〜(ゲス顔」

(注:イメージ)

という予想に反したプレゼンを聞くことができ、逆に個人で開発してたらそもそも気にすることもないような観点だなーっと勉強になりました。

バージョンを意識したことなかったんですが、Electron もまだまだ発展途上なんですね。

とりあえず Electronica から始めてみたいと思います。