3行でいうと
- モデルのファイルは「ただのデータ」とは限らない。形式はsafetensorsかGGUFを選び、古いPyTorch形式(pickle系)は避ける。
- 配布元は公式か有名な作者にする。まとめ直し版は作者・元モデル・ライセンスを見て、ダウンロード数だけで信じない。
- サーバーは手元のパソコンだけに閉じ(127.0.0.1)、エージェントには必要最小限の権限だけ渡す。
ローカルAIは、ネットから大きなファイルを落として動かします。知らない人が作ったファイルを、自分のパソコンで開くことでもあります。この記事は防御側の話だけを書き、攻撃のやり方には触れません。
先に結論(見立てです)
- 形式は、safetensorsかGGUFを選ぶ。pickle系(古いPyTorch形式)は避ける。
- 配布元は、開発元の公式か、よく知られた作者にする。
- まとめ直し版は、作者・元モデルへのリンク・ライセンスを見る。ダウンロード数だけで信じない。
- サーバーは、手元のパソコンだけに閉じる(127.0.0.1)。外に開くなら認証をつける。
- エージェントには、必要最小限の権限だけ渡す。
ファイル形式の違い
| 形式 | 確認できたこと |
|---|---|
| pickle系(PyTorchの古い .bin / .pt など) | 読み込むときに、任意のコードが実行されうる(Hugging Face公式) |
| safetensors | pickleの危険を避けるための、テンソル保存用の形式(Hugging Face公式) |
| GGUF | Hubの公式ページには、安全性についての記述がない |
pickle系。 Hugging Faceの公式ドキュメントによると、pickleは読み込み時に任意のコードを実行できます。信頼できないファイルを開くのは「極めて危険」で、safetensorsなどへの切り替えが勧められています。
PyTorchの公式ドキュメントでは、2.6以降の torch.load は、標準で weights_only=True になります。実行できる処理を、重みの読み込みに必要な範囲へ絞る設定です。ただし公式は、サービス拒否は防げず、メモリ破損も起こりうると書いています。危険は減りますが、ゼロにはなりません。
実際に、セキュリティ企業のJFrogは、2024年2月27日の記事で、Hugging Face上に悪意のあるモデルを約100件見つけたと報告しました。主にpickle系で、利用者のパソコンを操作できる仕掛けが入っていたといいます。報告後、Hugging Face側で該当のモデルは遮断されました。
safetensors。 数字の配列を保存するだけの形式で、読み込み時にコードが動く設計を避けています。新しく選ぶなら、まずこれを探してください。
GGUF。 重みと付属情報を1つにまとめた、llama.cpp系で広く使われる形式です。僕らが読んだ範囲では、公式ページに「コードが実行される」とも「絶対に安全」とも書かれていませんでした。ただし、読む側のソフトにも不具合はありえます。Ciscoの研究部門Talosは、llama.cppのGGUFを読む処理に、メモリの書き込みの不具合があったと公表しました(CVE-2024-21825)。ベンダーは2024年1月に修正済みです。形式だけでなく、ソフトも新しい版に保ってください。
Hugging Faceの対策
Hugging Faceのドキュメントによると、Hubには次の仕組みがあります。
- マルウェアスキャン:コミットのたびに、ClamAVで全ファイルを検査する。結果は「ok」か「infected」で出る。数分かかることがあり、バッジがないファイルは、検査中かエラーの場合がある。
- pickleの中身の表示:pickleが呼び出す関数を、コードを実行せずに取り出して表示する。怪しいものには「unsafe」が付く。ただし公式は、完全ではないので利用者自身も確かめるよう書いている。
- 外部スキャナー:Protect AIとJFrogが連携している。
「スキャンされている」ことは、安全の保証ではありません。JFrogの記事でも、「unsafe」のpickleモデルは、ダウンロード自体はできると説明されています。
:::
まとめ直し版(量子化版・再配布版)を入れるとき
手元のパソコンに合う大きさにするため、誰かが量子化した版を使う場面は多いです。この連載のSplash版も、開発元のAlibabaではなく、Inco AIがまとめ直したものでした。中身を作ったのは別の人なので、入れる前に確認します。
| 確認すること | 見るポイント |
|---|---|
| 誰が作ったか | 作者・組織名。開発元の公式か、以前から活動している作者か。作ったばかりのアカウントなら慎重に |
| 元モデルへのリンク | モデルの説明(モデルカード)に、元モデルが書かれているか。元の公式ページに戻って、名前を照らす |
| 形式 | safetensorsかGGUFか。「unsafe」の表示がないか |
| ライセンス | 元モデルと矛盾しないか。まとめ直し側にも記載があるか |
| ダウンロード数 | 参考程度。決め手にしない(次の節) |
| 追加のコード | trust_remote_code や付属スクリプトが必要と書かれていないか |
Transformersのドキュメントは、trust_remote_code でカスタムモデルを読むときは、悪意のあるコードを実行しないよう注意が必要だと書いています。特定のコミットを指定して読むと、安全性が一段上がるとも説明しています。
偽物・名前の似たリポジトリ
報告された事実だけ並べます。
- 偽のOpenAIリポジトリ(2026年5月):HiddenLayerの報告によると、OpenAIの「Privacy Filter」を名乗る
Open-OSS/privacy-filterが、Windows向けの情報窃取ソフトを配っていました。BleepingComputerの報道では、問題はモデルのファイルではなく、付属のloader.pyでした。ダウンロード数は24万4000件でしたが、研究者は、水増しされた可能性を指摘しています。Hugging Faceは、報告を受けて削除しました。 - 有名企業を名乗る名前(Protect AI):Protect AIは、FacebookやVisaなどの名前を使ったリポジトリが複数見つかったと報告しました。日付は、読んだページから確認できませんでした。同社は、組織のバッジを確認すること、公開されていることは安全の証拠にならないことを注意しています。
ここから言えるのは、ダウンロード数は水増しされうること、そして、モデルのファイルだけでなく付属のスクリプトも入口になることです。見立てですが、公式を名乗るのに公式サイトからリンクされていないものは、公式ページから正しいリンクをたどり直すのが安全です。
ローカルサーバーの公開範囲
モデルを動かすと、同じパソコンから使えるAPIのサーバーが立ちます。「どこから見えるか」を確認してください。
| ソフト | 標準の状態(公式) | 外に開くときの注意 |
|---|---|---|
| Ollama | 127.0.0.1の11434番 | OLLAMA_HOST で変更できる。FAQは組み込みの認証に触れていない |
| llama.cpp(llama-server) | 127.0.0.1の8080番 | --api-key で認証キーを設定できる。ツールやMCPの機能は、信頼できない環境で有効にしないよう公式が警告 |
| LM Studio | 「ローカルネットワークで提供」の切り替えがある | オンで同じネットワークの別端末から使える。APIトークンの認証を必須にする設定もある |
127.0.0.1は「このパソコン自身」だけを指します。ここに閉じていれば、外の人は届きません。
SentinelLABSとCensysは、2026年1月、インターネットに公開されたOllamaのホストが約17万5000件あったと報告しました(The Hacker Newsの報道)。130か国にわたり、約48%はツール呼び出しの機能を持っていたといいます。報告は、AIのサーバーにも、ほかの外向きのサーバーと同じ認証・監視・ネットワーク制限が必要だとしています。
家庭では、次のとおりにしてください(見立てです)。
- 標準のまま、127.0.0.1に閉じる。
- スマホなどから使うときだけ、家の中のネットワークに限って開き、認証をつける。
- ルーターで、外からこのポートへの転送をしない。
エージェントにつなぐときの権限
エージェント(ファイルを触ったり、コマンドを動かしたりするAI)につなぐと、モデルの出力が実際の操作になります。MCP(AIと外部の道具をつなぐ規格)の公式ドキュメントは、ローカルのMCPサーバーについて、次の点を挙げています。
- クライアントと同じ権限で動くので、そのユーザーが触れるものが対象になりうる。
- 実行する命令は、省略せずに見せて、同意を求めるべき。
- 可能なら、ファイルやネットワークを絞った隔離環境(サンドボックス)で動かす。
- 権限は最小から始め、必要になったときに足す。
初心者向けに言い換えます。
- 最初は「読むだけ」にする。書き込みや削除は、あとで足す。
- 触らせるフォルダは、作業用の1つにする。ホーム全体や、鍵・パスワードのある場所は渡さない。
- コマンドの実行は、1回ずつ確認する設定にする。
- 出どころの分からないMCPサーバーやスクリプトは入れない。
気をつけること
- この記事は、実際に使って確かめた記録ではありません。公式ドキュメントと、報道・調査報告の記述にもとづきます。
- 事件の記述は、各社の報告と報道の範囲です。Hugging Faceや個別の作者を評価するものではありません。
- 仕様は変わります。入れる前に、最新の公式ドキュメントで確かめてください。
出典
- Pickle Scanning(Hugging Face Hub ドキュメント)
- Malware Scanning(Hugging Face Hub ドキュメント)
- Security(Hugging Face Hub ドキュメント)
- Safetensors(Hugging Face ドキュメント)
- GGUF(Hugging Face Hub ドキュメント)
- Serialization semantics(PyTorch ドキュメント)
- Data Scientists Targeted by Malicious Hugging Face ML Models(JFrog、2024年2月27日)
- TALOS-2024-1912(Cisco Talos)
- Fake OpenAI repository on Hugging Face pushes infostealer malware(BleepingComputer、2026年5月)
- Name Squatting Organizations on Hugging Face(Protect AI)
- Researchers find 175,000 publicly exposed Ollama servers(The Hacker News、2026年1月)
- Ollama FAQ(GitHub)
- llama.cpp server README(GitHub)
- Server Settings(LM Studio ドキュメント)
- Security Best Practices(Model Context Protocol)
- Models(Hugging Face Transformers ドキュメント)
更新履歴
- 2026年10月25日 書き方を直しました。
- 前:運営者が使っていないと読める書き方 → いま:「この記事は、実際に使って確かめた記録ではありません」。公式の資料を読んでまとめた記事で、使い心地は書いていない、という意味に直した
