安心して使ってもらうための工夫

大切なファイルとパスワードを預けてもらうソフトだから、見えないところこそ、ていねいに。

最近は AI を使って、ソフトの弱いところを探したり、そこをねらうファイルを作ったりすることが、ずっと手軽になりました。メールやダウンロードで届く圧縮ファイルは、開く前に中身を確かめにくいので、昔からいたずらや攻撃に使われやすいものです。

Vault-ZIP では、次の 6 つの工夫をしています。「気を付けて作りました」で終わらせず、仕組みと試験で確かめられる形にしているのがこだわりです。

1. ほころびにくい言葉で書いています(Rust)

Microsoft や Google は、自社の製品の深刻な弱点のおよそ 7 割が、メモリの扱い方のまちがい(決められた場所の外を読み書きしてしまう、など)から生まれていると報告しています。こうしたまちがいは、C や C++ という言葉で書かれたソフトで起きやすいものです。

Vault-ZIP の本体は Rust で書いています。Rust は、こうしたまちがいを、プログラムを作る段階で見つけて止めてくれる言葉です。外から届いたファイルにふれる部分(圧縮、展開、暗号、名前のチェック、台帳)の大半が Rust です。

正直にお伝えすると、すべてが Rust というわけではありません。RAR の展開(RAR の作者のライブラリ)、台帳を暗号化して保存するデータベース(SQLCipher)、画面を描く部品(Microsoft の WebView2)は C や C++ の部品です。RAR の展開は、42,000 個の壊れた RAR を読ませても止まらないことを確かめています。

2. 届いたファイルは、まず疑ってみます

展開する前と、展開しているあいだに、こんなことを確かめています。

3. 弱いところは、先に自分で探します(ファジング)

ファジングは、機械で壊れたファイルや変な名前をたくさん作って読ませ続け、止まってしまうところを探す試験です。弱いところを探す人や AI と同じ方法を、お届けする前に試しています。

どれも、止まる、固まる、メモリがおかしくなる、といった問題は見つかっていません。さらに、いたずら目的の圧縮ファイルの手口を一つずつ再現した自動テストを、変更のたびに動かしています。

4. 勝手には外とつながりません

インターネットにつながる入口がなければ、そこからねらわれることも、データがもれることもありません。Vault-ZIP には、更新の自動確認、使い方の送信、ライセンスの確認のための通信、アカウントがありません。

画面を描く Microsoft の部品(WebView2)が自分で行う通信も止めています。計測では、起動してから 100 秒のあいだ、外への接続は 0 件でした。

5. パスワードは、人にも記録にも見せません

6. こわさない、変えられたら気づきます

できないことも、お伝えしておきます

弱いところを見つけたときの連絡先は、セキュリティのページにあります。