web-dev-qa-db-ja.com

KeePassプラグインはどの程度信頼できますか?

KeePassは素晴らしいです。大好きですが、数年使用してプラグインをインストールしたい場合もありますが、同意せずにこのプラグインで何ができるのか怖いのでインストールしません。

ドキュメント プラグイン開発については本当に短いです。 ソースコード をダウンロードしてコンパイルしましたが、プラグインがアクセスできる関数のAPIリストがどこにあるのかわかりません。

ドキュメント で述べたように、PLGX形式は「まだコンパイルされていない」形式です。

プラグインをDLLアセンブリにコンパイルする代わりに、プラグインのソースコードファイルをPLGXファイルにパックできます。KeePassは、プラグインをロードするときにプラグイン自体をコンパイルします

したがって、これらのファイルを読み取ることができるはずです。これを行う方法?

ファビコンダウンローダー または パスワードカウンター の例を見てみましょう。これらの2つのプラグインは、どちらもインターネットと私のパスワードにアクセスできることを明確に示しています。では、どうすれば彼らがそれらを盗まないことを確認できますか?つまり、私のすべての情報をサーバーに送信するだけで、それを知らないのです。

したがって、ifPLGXファイルを読み取る方法はありません。最適なセキュリティを確保する唯一の方法は、自分でプラグインを自分で開発することですか?

11
Jérôme MEVEL

つまり、KeePassプラグインで最適なセキュリティを確保する唯一の方法は、自分でコードを確認することです。

唯一の問題は、それらのいくつかはオープンソースであり、他のいくつかはそうではないということです。さらに、オープンソースプラグインの場合、ダウンロードしたPLGXファイルが実際に公開されている利用可能なソースコードに対応しているとは限りません。したがって、自分でPLGXファイルを生成するか、PLGXファイルのコードを直接確認します。

非オープンソースプラグインのコードを確認することもできるため、2番目のソリューションを選択しました。

それを実現するために、KeePass 2.35のコードを少し修正しました。インストール手順を含むプロジェクトは https://github.com/jmevel/KeePassPluginsSourceCode で入手できます。

コードは非常にシンプルで、KeePass/Plugins/PlgxCsprojLoader.csファイルのみ。

私はあなたに提供しませんkeepass.exeファイルは直接意味がないので、自分でコンパイルする必要があります。それ以外の場合、この.exeファイルが実際に何をしているのかをどのように知ることができますか?

みんなハッピーコードレビュー!

6
Jérôme MEVEL

KeePassプラグインは、KeePass自体が実行できるほとんどすべてのことを実行できます。実質的には.NETライブラリです。 AFAIK、KeePassプラグインへのサンドボックスはまったくありません。したがって、逆コンパイルしてコードレビューを行わない限り、プラグインの作成者、プラグインをコンパイルした人、およびプラグインが転送中に改ざんされていないことを信頼する必要があります。プラグインは、パスワードリスト全体をインターネットに送信したり、KeePassを実行する権限を持つユーザーとしてKeePassを実行した場合にハードディスクをフォーマットしたりすることができます。

また、KeePassプラグインのソースを確認する場合は、--plgx-build-pre:および--plgx-build-post:コードも確認することを忘れないでください。これらのオプションを使用して、プラグインのコンパイル/インストール中にシェルコマンドを実行できます。

5
Lie Ryan