こんにちは!悠です!
Civitaiで入手可能なモデルやLoRAのファイルは、基本的に95%以上がsafetensors形式ですが、Hugging Faceなどではたまにckpt形式で配布されているものがありますよね。
可能性としては非常に低い話ですが、ckpt形式のファイルにはごくまれに悪意があるデータが混じっていることもあるそうです。(実際に見たことはありません)
そこで今回は、ckpt形式のファイルを事前にスキャンして安全性を確認してくれる拡張機能「sd-webui-model-scanner」に関して紹介していきます。
「Model Scanner」の導入方法
Google Colaboratory版の場合
下記の方法で紹介している「maintained by Akaibu」のノートブックを使って、拡張機能「sd-webui-model-scanner」を導入していきます。
まだご覧になっていない方は、まず最初にこちらを準備しておいてください。


Google Driveからモデルデータを読み込むセルの下に新しくセルを作成し、下記のコードを入力してください。
#sd-webui-model-scannerをインストール
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/ddomen/sd-webui-model-scanner /content/stable-diffusion-webui/extensions/sd-webui-model-scanner
%cd /content/stable-diffusion-webui
ローカル版の場合
「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックしましょう。
https://github.com/ddomen/sd-webui-model-scanner
WebUIを再起動して、Model Scannerのタブが追加されていれば導入成功です。
「Model Scanner」の使い方
Model Scannerのタブを開いて、Targetsの中にPC内にあるチェックしたいファイルのパスを入れるだけです。
パスに関してはHugging Faceのリポジトリを指定してもOKです。

ファイルのパスを直接指定

フォルダを指定

Hugging Faceのリポジトリを指定
Scanを押せば該当のファイルを自動的にチェックしてくれます。
ちなみにTargetsを空にしてScanをすると、デフォルトで指定しているモデル保存フォルダをチェックするようです。
対応しているファイル形式
本拡張機能は、pt形式、bin形式、ckpt形式のファイルスキャンに対応しています。
ptとbinはembeddingsなどに多いファイルですね。
safetensors形式のファイルには対応していないので注意してください。safetensors形式はもともと安全性が非常に高いため、チェックはしないそうです。
スキャン結果の見方
スキャン結果は、下記のように色分けされて表示されます。
- 白or黒(テーマの色):安全。
- 黄色:ほぼ安全。numpyなどの特定のモジュールを使用しているというお知らせ。通常は無害。
- オレンジ:注意。コンピュータまたはユーザーデータに損害を与える可能性のある潜在的なリスクが検出。
- 赤:警告。悪意があるライブラリや技術の使用を検知。
- 紫:エラー。スキャン不可。safetensors形式を読み込ませた時など。
オレンジもしくは赤以上のスキャン結果が出た場合は、使用を控えることがおすすめされています。

ただCivitaiやHugging Faceでは、悪意があるファイルはすぐサイト側で削除されるので基本的に問題ありません。
海外の怪しげなサイトで、個人が配布しているモデルなどは危ないかもしれませんね。
まとめ
以上が「Stable Diffusion WebUI」で、ckpt形式のファイルを事前にスキャンして安全性を確認してくれる拡張機能「sd-webui-model-scanner」の紹介でした。
悪意あるファイルが配布されている例は非常に少なく、実際に遭遇したことはありませんが、大量にモデルやLoRAを使う予定がある方は念のため導入しておいてもいいかもしれません。
では、ここまで読んでいただきありがとうございました。
コメント