『D-Calc』のアップデート版は今週中にリリース予定だ。

次回以降の公開は、メインサイト内の特設ページで行う。

ということで、スクリプティングとWEBページ作成をしてたんだが……

まさかの事態。

「NScripter」に脆弱性――

4年の沈黙を破る突然の事件

まずは窓の杜のニュースを読んでくれ。

ゲーム向けスクリプトエンジン「NScripter」の旧版にバッファオーバーフローの脆弱性 - 窓の杜

NScripterは主にノベルゲームなどに利用されているスクリプトエンジンで、商業ゲームを始め、同人ゲームにも多数の採用実績をもつ有名なソフトだ。

『ひぐらし』とかもNScripterだったな。

で、これ自体は2011年に開発が終了していて、より高性能な後継エンジンが開発され、最近公開されたものの、これまでの開発ノウハウや情報の蓄積があるから、今でも多くのゲーム開発者がNScripterを使っている。

俺は後発組だけど、そんな開発者の一人だ。

NScripterで作成されたゲームを配布する際は、NScripterのサイトで配布されている実行可能ファイル(.exe)をゲームに同梱し、これを起動することでゲームが動作するしくみだ。

その実行可能ファイル、つまりソフトにセキュリティ上の問題があり、このほど発見されたというのだ。

各所での対応

NScripterの開発者は、開発終了しているはずのこのソフトをすぐさま修正してくれた。

ゲームの開発者側は、同梱するこのソフトを最新版に差し替えればよい。

→ 公式サイト「nscripter.com」

ちなみに、投稿の時点での最新版のバージョンは3.02で、開発終了時のバージョンは2.96だった。

ゲームのユーザーは、念のためゲーム側が更新されるまでプレイしないようにするのがよい。

とはいえ、正規のセーブデータでは問題ないようだけど……

俺の対応

俺が公開しているADVゲーム『屋上・彼女』体験版と、数日前に公開した遊戯王電卓アプリ『D-Calc』β版では、モロにこのNScripterが使われており、対応に迫られた。

D-Calcは、次回のアップデートのためにバグの修正や機能の追加に取り組んでいて、今週の土曜に決闘者デュエリストの友人に会うのに合わせて次期バージョン(まだβ版)を公開する予定だったけど、今回の問題を深刻にとらえ、一刻も早い対処を取ることにした。

とはいえ、まだβ版なのに頻繁にアップデートするのもあれだから、喫緊の対処として、Windows版のみ公開を一時停止することにした。

D-Calcの次期バージョンは、Windows版も含め予定通り金曜日に公開……と書いてて気付いたけど、金曜日って今日じゃないか。

あー、まだD-Calc用の特設ページもできてないのに!

まあがんばるよ。

一方、ADVゲームのほうもソフトの差し替えは済ませて、あとはZIPに圧縮すれば公開できるんだけど、あれって今は一応開発停止中なんだよね……

(シナリオは小説版として現在バリバリ制作中だよ!)

追加要素もないのに、未完成ゲームのセキュリティ・アップデートなんてしたくないよう……

ということで、Windows版は無期限の公開停止と相成りました。

もし、それでもいいからアプデして公開再開して! という人が一人でもいたらアプデする。

ちなみに……Android版のほうは、NScripterと同じスクリプトで動作する第三者製の互換エンジン「ONScripter」が使われていて、今回の問題とは関係ないからご安心を。

感想

それにしても「今さら!?」という感じで、驚きを隠せないな……

古いソフトで信頼性もあったけど、やはりこういった新たな問題も発生してくるんだろうか。

でもこのソフトは自力で通信とかを行うことはなく、あくまで同梱されたスクリプトやその他のデータに沿って動作するスクリプトエンジンであって、俺のようなゲーム開発者が意図して変なスクリプトやデータを仕込まない限り、ウイルスのような動作をするようなことはないはず。

というか、このソフト側でも、ウイルス作成に使われないように機能にいろんな制約をかけてるから、実際にそんなとんでもない動作をさせることは難しいと思うけど。

俺の場合、単なるADV(もしくは電卓アプリ)にいろんな機能を搭載することもないので、かなり原始的なゲームの動作になるんじゃねーの?

いい意味でね!

まとめ

ともかく、俺を始め、NScripterを使用したゲームの開発者にとっては寝耳に水だったと思うけど、NScripterの開発者には、開発が終了したソフトであるにもかかわらず迅速に対応してくれて感謝する。

この脆弱性を突かれる被害がどのゲームにおいても出ませんように。