PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

偽の「OpenAI Privacy Filter」リポジトリがHugging Faceで急上昇、244,000件ダウンロードの裏にマルウェア

キーポイント

この記事のざっくりした意味

今回の話、かなりイヤらしいです。
「AIモデルを使いたい人」が集まる場所に、​本物そっくりの偽物を置いて、そこからマルウェアをばらまいた——それがこの記事の核心です。

舞台は、AIモデルの共有プラットフォームとして有名な Hugging Face
ここに、OpenAIが公開した正規の「Privacy Filter」モデルを真似た Open-OSS/privacy-filter というリポジトリが登場しました。見た目だけでなく、説明文まで正規版をそのままコピーしていたため、うっかり信用してしまう人がいても不思議ではありません。

個人的には、これは「AI時代のフィッシング」というより、​**“開発者の習慣”そのものを狙った攻撃**だと思います。
今は「とりあえずHugging Faceでモデルを探して、READMEを読んで、cloneして動かす」という流れが珍しくないので、その自然な行動に悪意を差し込まれるとかなり危ないです。

何が起きたのか

The Hacker Newsによると、この悪性リポジトリはOpenAIの正規版 openai/privacy-filter を装っていました。
OpenAIのPrivacy Filterは、​PII(個人を特定できる情報)​を見つけて、文章から削除・マスクするためのモデルです。たとえば、氏名、住所、電話番号、メールアドレスなどを扱う場面で役立ちます。

悪性リポジトリは、その正規版の説明をほぼ丸ごと流用して利用者をだまし、ユーザーに次のような操作を促しました。

ここが本当にポイントで、​​「モデルを動かすためのスクリプト」に見せかけたコードが、実はマルウェアの起動装置だったわけです。
この手口はかなり巧妙です。見た目は「セットアップ用の便利スクリプト」なので、技術にそこまで詳しくない人なら疑いにくいと思います。

マルウェアはどう動くのか

記事によると、loader.py を実行すると、次のような流れで攻撃が進みます。

  1. SSL verification を無効化

    • これは通信の安全確認を弱める動きです。普通は「相手が本物か」を確認しますが、それを外してしまう。
  2. Base64で隠されたURLを復号

    • Base64は文字列を見た目上わかりにくくするだけの方式で、暗号というより“包装”に近いものです。
  3. JSON Keeperという公開サービスを使ってコマンドを取得

    • 攻撃者が外部のJSON置き場を“伝言板”みたいに使い、あとから中身を差し替えられるようにしています。
    • これ、地味に賢いです。リポジトリ本体を書き換えなくても、裏で動きを変えられるからです。
  4. PowerShellにコマンドを渡して実行

    • PowerShellはWindowsの強力な管理用コマンド環境です。便利ですが、攻撃者にもよく悪用されます。

そこから先は、別サーバー api.eth-fastscan[.]org からバッチファイルを落として実行し、さらに別の段階へ進みます。

何を盗むのか

最終的に落ちてくるのは、​情報窃取型マルウェア(infostealer)​です。
これは名前の通り、PCの中から情報を集めて外に送るタイプのマルウェアです。

今回のものは、次のようなデータを狙っていたとされています。

seed phrase は、仮想通貨ウォレットの“復元キー”みたいなものです。
これを盗まれると、資産を丸ごと持っていかれる可能性があります。ここはかなり深刻です。

さらに、マルウェアは以下のような回避テクニックも使っていたとされています。

AMSI は Windows がマルウェアっぽいスクリプトを検査する仕組み、ETW はイベント監視の仕組みです。
つまり、​セキュリティ製品や解析環境に見つかりにくくする工夫まで入っていたということです。ここまで来ると、「ちょっと怪しいファイル」ではなく、かなり本気の攻撃です。

盗んだ情報は recargapopular[.]com にJSON形式で送られていたそうです。

244,000ダウンロードは本物なのか

この記事で特に目を引くのは、悪性リポジトリが18時間で約244,000ダウンロード、667いいねを集め、Hugging FaceのTrending #1にまで上がったことです。

しかも HiddenLayer は、これらの数字が人工的に水増しされた可能性があると見ています。
つまり、「人気があるように見せて信頼を演出し、さらに人を呼び込む」狙いがあったかもしれない、ということです。

これは本当にいやらしい。
人は「人気があるもの」を無意識に信用しがちです。ダウンロード数やいいねが多いと、つい「みんな使ってるなら安全そう」と感じてしまう。攻撃者はそこをよく分かっています。

ほかにも似たリポジトリが見つかった

HiddenLayer は、この件に関連して6件の追加リポジトリも発見したとしています。
いずれも似たような Python loader を使ってマルウェアを展開していたそうです。

名前を見るだけでも、いかにも「それっぽいモデル名」に見せているのが分かります。
この“それっぽさ”が一番危ないんですよね。雑な偽物ならすぐ気づけますが、ちゃんと流行りのモデル名を混ぜてくると、慣れている人でも油断する可能性があります。

これは供給網攻撃の一種

この事件は、​supply chain attack(供給網攻撃)​の一例として見るのが分かりやすいです。
供給網攻撃とは、直接本体を狙うのではなく、​みんなが信頼して使っている配布経路や依存関係を汚染する攻撃です。

たとえば、開発者が「公式っぽいモデル」「人気のライブラリ」「よく使われるパッケージ」を信じて取り込んだ瞬間にやられる。
今回もまさにその構図です。OpenAIやHugging Faceの信用、そしてオープンソースの“公開されているから安心”という空気を悪用しています。

正直、この手の攻撃は今後もっと増えると思います。
AI関連のエコシステムは便利な反面、モデル、スクリプト、依存パッケージ、サンプルコードが高速で流通するので、攻撃者にとってはかなりおいしい市場です。

どう身を守ればいいのか

一般の利用者や開発者が気をつけるべき点は、わりとシンプルです。

特に、​​「モデル本体」より「添付スクリプト」を疑うのが大事です。
モデルファイルそのものより、セットアップ用に見えるスクリプトのほうが危ないことは珍しくありません。今回もそのパターンでした。

まとめ

この事件は、「AIモデルの配布サイトにも、普通にマルウェアが紛れ込む」という現実をはっきり示した事例です。
しかも、ただ置いただけではなく、人気表示や説明文のコピーまで使って、信頼を演出しているのがかなり悪質でした。

個人的には、これは**“AIモデル版の偽ソフト配布”**として覚えておくべきニュースだと思います。
今後は、モデルを試す前に「それ、誰が出してるの?」「本当に公式?」を確認する習慣が、以前よりずっと大事になりそうです。


参考: Fake OpenAI Privacy Filter Repo Hits #1 on Hugging Face, Draws 244K Downloads

同じ著者の記事