何が起きたか
Pluto Securityは、7つのアカウントにまたがる31の悪意のあるHugging Faceリポジトリ(ModelScopeミラーも含む)を通じて配布される暗号通貨マイニング/バックドアキャンペーンを追跡し、32,000回以上のダウンロードを記録しました。ペイロードは文書化されたTransformersの動作を利用します:trust_remote_code=Trueでリポジトリをロードすると、ウェイトがロードされる前に、リポジトリのPython(config.jsonのauto_mapで指定)が呼び出し元の権限でインポートされます。ペイロードはウォッチドッグ(/tmp/.cch/svc.py)を配置し、シェルプロファイルに永続化フックを追加し、SSHバックドアとリバースシェルを仕掛け、カーネルワーカーに偽装したUPXパックされたマイナー(peakminer)をmemfd_create/fexecve経由で起動します;後の段階の1つは、GPUStackの/var/lib/gpustackを標的としたコンテナからホストへのエスケープです。キャンペーンはテイクダウンから数日以内に再出現し、ハードコードされたSSHキーをリバースシェルに置き換えました。
なぜ重要か
モデルレジストリはマルウェアチャネルになりつつあります:感染は推論の前に発生し、呼び出し元の権限で実行され、HFのアンチウイルスやウェイト形式スキャナーが分析しないauto_map Pythonに実行を隠蔽します。これはセルフホスト型推論(Xinference、GPUStack)、レンタルGPU、ノートブック、CIジョブを標的とし、マイナーよりも長く持続する永続的なバックドア/SSHアクセスを残します。
攻撃経路
毒されたリポジトリをロードする(trust_remote_code=Trueでfrom_pretrained)と、モデルプロセス内でリポジトリのPythonが実行され、マイナー、リバースシェル、SSHバックドアが配置されます。
影響を受けるシステム
Hugging FaceモデルリポジトリとTransformersのauto_map/trust_remote_codeモジュールのロード;セルフホスト型Xinference/GPUStackデプロイメント。
緩和策
ロード前にauto_mapが参照する.pyファイルをレビューする;信頼されていないリポジトリにはtrust_remote_code=Trueを避ける;信頼できるモデルIDとハッシュを固定する;/tmp/.cchと.bashrcフックをスキャンする;Xinference/GPUStackモデルレジストリで異常なステータスエントリをチェックする;GPUワークロードを分離する。