Unsloth Studioの脆弱性、モデルの日常的な確認作業をコード実行に変える

Unslothは、Web用ユーザーインターフェース(UI)のフロントエンドに存在した脆弱性を修正しました。この脆弱性を悪用されると、悪意のあるモデルを通じて任意のコードが実行されるおそれがありました。

Pillar SecurityのAriel Fogel氏は本日、Unsloth Studioの脆弱性を取り上げたブログ記事を公開しました。Unsloth Studioは、大規模言語モデル(LLM)のファインチューニングや量子化に広く使われているオープンソースライブラリ「Unsloth」のWeb UIフロントエンドです。ブログ記事によると、Unsloth Studioで悪意のあるモデルを選択すると、そのモデルのHugging Faceリポジトリに含まれるPythonコードが実行される可能性がありました。

「コードが実行されたきっかけは、メタデータの確認だけでした。モデルのconfig.jsonを読み込むだけでエクスプロイトが発動します。バックエンドは重みの読み込みも推論の実行もしていません。モデルを確認する行為そのものが、モデルのコードを実行させるのに十分だったのです」と、Fogel氏は記している。

コードはユーザーの権限で実行されます。そのためFogel氏は、この脆弱性を突いた攻撃が企業のAI開発環境を狙った場合、独自の学習データやモデルの成果物のほか、侵害されたプロセスに紐づく多数の認証情報が流出しかねないと指摘しています。クラウドのログイン情報やSSH鍵などが該当します。

「攻撃者はユーザーとしてコードを実行できます。つまり、アクセス可能なデータの窃取、モデルや学習結果の改ざん、利用可能な認証情報を使った他システムへの侵入が可能になるということです」と同氏は書いています。「社内の実験環境は、本番トラフィックを処理していなくても、機密データや特権アクセスを抱えている場合があります」。

Fogel氏はDark Readingの取材に対し、この設定メカニズムを狙った実環境での悪用や、悪意のあるモデルリポジトリは、Pillarではこれまでのところ確認していないと述べました。ただし、Hugging Faceにアップロードされた悪意のあるモデルを利用した別の攻撃キャンペーンが起きていることは強調しています。

問題の中心にあった設定

Pillarは、原因がUnsloth Studioによる「trust_remote_code=True」設定の使い方にあると突き止めました。Studioはモデルの構成を確認する際にこの設定を使っていました。その結果、基盤となる「Transformers」ライブラリが、モデル自体の読み込み前であっても、config.jsonが参照するカスタムPythonコードをダウンロードして実行できる状態でした。

Pillar Securityは6月上旬にこの脆弱性をUnslothに報告し、Unslothは同月中にアップデート2026.6.9で対処しました。Pillarは攻撃経路を検証し、塞がれたことを確認しています。Fogel氏はUnslothのメンテナーの迅速な対応を評価しています。一方で、ブログ記事によると、Unslothはセキュリティ評価の一部に異議を唱えたといいます。「Hugging Faceのマルウェアスキャンが攻撃対象領域に対する十分な対策になっている」「技術的にベータ版とされているStudioは検討の対象外とすべきだ」というのがその主張です。

これに対しセキュリティベンダーのPillarは、Unslothの主張ではStudioがリポジトリのコードを自動実行する問題に対処できていないと反論しました。Pillarによると、Unslothが提案されたセキュリティアドバイザリの公開を拒否したため、CVEは割り当てられていません。

Dark ReadingはX経由でUnslothに連絡を試みましたが、記事の公開時点で返答はありません。

「trust_remote_code」は信頼できないデータとして扱う

Pillarは、Unsloth Studioを2026.6.9以降にアップグレードするよう推奨しています。さらに、より広い対策として「transformersライブラリのtrust_remote_codeで読み込むモデルリポジトリは、データではなく信頼できないコードとして扱うこと。パイプライン内のツールが、ユーザーに代わってこの設定を有効にすることがないよう確認すること」と呼びかけています。

ブログの筆者が指摘するように、この設定には正当な用途もあります。しかし、同様の脆弱性の中心になったのは今回が初めてではなく、今年に限っても事例があります(LMDeployのバグCVE-2026-46432、vLLMのバグCVE-2026-4944、InstructLabのバグCVE-2026-6859を参照)。

Fogel氏はDark Readingに対し、同じ問題が繰り返されるのは、機械学習ツールが実行可能なモデルコンテンツを扱う方法に、構造的な欠陥があることを示唆していると語りました。開発者は、ユーザーが一般にデータと考えているアーティファクトを軸に便利なワークフローを構築します。しかし、そのアーティファクトはコードを提供することもできます。Fogel氏は、ツールがtrust_remote_codeを黙って有効にすると、ユーザーに代わって重大なセキュリティ上の判断を下すことになると説明しています。

「Unslothの件で特に懸念されるのは、ユーザーが確認作業だと当然のように理解していた操作の最中に、境界が越えられてしまったことです」と同氏は述べています。

翻訳元: https://www.darkreading.com/application-security/unsloth-studio-flaw-model-inspection-code-execution

本記事は darkreading.com の記事を翻訳・要約したものです。