メインコンテンツへスキップ

Copilotをroot化!開発環境の脆弱性を突いた手法とは?

·2 分
2025/07 AI セキュリティ 脆弱性 ハッキング コンテナ

Copilotをroot化!開発環境の脆弱性を突いた手法とは?

引用元:https://news.ycombinator.com/item?id=44695098

simonw 2025/07/26 16:36:46

Microsoftが修正した脆弱性は、コンテナ内で非rootユーザーとしてコードを実行するように設計されてたのに、root権限で自分のコードを実行できるってトリックがあったことだね。でも、コンテナ自体は安全でネットワークリクエストも脱出もできなかったから、結局root権限でできるのは自分だけがアクセスできるコンテナをめちゃくちゃにするくらいだったって話。

0xbadcafebee 2025/07/26 20:33:59

Microsoftはちゃんと脆弱性対策をしたから評価するべきだね。ほとんどの企業はそこまでしっかり対策しないけど、Microsoftは徹底してたってわけだ。

ajross 2025/07/26 16:51:06

今の時代、脆弱性は積み重なってるよね。「コンテナ自体は安全だった」ってのは、攻撃者が見つけられなかったってだけ。コンテナやVMからの脱出は既知の事実で、設定ミスや virtio ドライバーのバグがあれば起こり得る。だから、今回の結果はマジで重要なんだよ。

simonw 2025/07/26 16:54:59

もし彼らがコンテナ脱出を見つけて報告してたら、バグ報奨金をもらってたはずだよ!
今、Microsoftが使ってそうなシステムに、まだ未修正のコンテナ脱出脆弱性って何か知られてるの?

stogot 2025/07/26 22:37:04

僕はMicrosoftじゃなくて、改善した個々のエンジニアを評価したいな。Microsoft全体のセキュリティ文化はひどいからね。CISAのレポートを見てみればわかるよ。

VBprogrammer 2025/07/26 17:19:29

悪意のある奴は、きっとroot権限の脆弱性を保持したまま、コンテナ脱出のバグが出てくるのを待ってるんだろうね。

thfuran 2025/07/26 17:24:27

でも、5ドルのスパナが、いつか誰かが適切な人物にそれを使って重要な認証情報を引き出すかもしれないからって、重大なセキュリティ脆弱性になるわけじゃないでしょ。

stevage 2025/07/26 22:53:15

Copilotがコードの実行を拒否したり、許可したりするのって変だよね。一体何を目指してるんだろう?

wizzwizz4 2025/07/26 23:56:32

彼らは目標なんて持ってないよ。Copilotは、あるプログラムがコマンド実行結果を挿入するために勝手に乗っ取ってる、テキスト補完システムとの共同物語作成セッションって考えた方がいい。
予測テキストモデルが「はい、そして」となることもあれば、「いいえ、なぜなら」となることもある。記事にもあったように、「はい、そして」が多いと次もそうなるし、特定の要求から始まると拒否が続くみたいだね。

ajross 2025/07/26 22:06:14

適切な比喩じゃないね。
5ドルのレンチは脆弱性じゃない。誰でも使えるツールは脅威モデルの一部で、排除できない。
今回の手口は斬新だ。
開かない箱を守るカルトがあって、レンチが発明されたら、それは明確なセキュリティ脆弱性だろ?

stevage 2025/07/27 01:37:52

人が働くのと逆なのが面白いな。
何度も「ノー」って言われると最終的に折れるし、何度も「イエス」って言われると、全部やるのにうんざりするだろうし。

0xbadcafebee 2025/07/27 01:51:32

このチームはすごいね。
親会社がこれを機に、機能より品質とセキュリティにもっと投資することに価値があると気づいてくれるといいな。

thfuran 2025/07/26 22:51:39

レンチで手に入るのが、誰も開けられない箱が入った部屋へのアクセスだけなら、深刻な脆弱性じゃない。
それが実際に起こったことに近い比喩だよ。

dudeinjapan 2025/07/27 06:07:06

プロダクトマネージャーに全ての功績をあげるべきだな。
だって、彼がエンジニアに「セキュアにしろ」って言ったんだから。

bravesoul2 2025/07/27 08:55:21

コンテナも隔離されたVMの中にあったんだろうな。

worik 2025/07/26 21:48:49

>彼らはバグバウンティをもらえただろう!
なんで訴えられないと思うの?気になるな。

ajross 2025/07/26 23:33:13

まただよ。比喩を無視すれば、コンテナやVMのエスケープは日常的な脆弱性だろ。
セキュリティ分析は脆弱性がない前提でやるもんじゃない。
現代のセキュリティは多層防御だ。
AIのプリプロンプトは最初の層で突破された。コンテナ内のUID分離も破られた。次はコンテナだ。
他にもネットワークファイアウォールやイングレス、イーグレスルールがあるだろうけど、それらも過去には破られてるんだ。

dangero 2025/07/27 05:37:43

営業担当者は、相手に「はい」と言わせる質問をすることで、人を操作するよう訓練されてるんだって。一度「はい」と言い始めると、人はそのまま言い続ける傾向があるからね。

j-krieger 2025/07/27 10:20:08

俺が今まで関わったインフラは全部、ある程度このパターンを使ってたよ。Kubernetesクラスター内にProxmoxのVMがたくさんあったりね。

DSMan195276 2025/07/26 17:20:59

問題は、Microsoftが報奨金を出さないせいで、開発者が脆弱性を自分で抱え込んで悪用して稼ごうとしちゃうことだよ。Microsoftは今すぐ報告してほしいはずなのにね。Microsoftが考えるべきなのは、攻撃者がコンテナのroot権限を持つのって大事なこと?って質問だよ。もし重要なら、rootアクセスに関するバグバウンティは何か支払うべきだし、重要じゃないなら、これは脆弱性ってマークされるべきじゃなかったってことだね。

VBprogrammer 2025/07/26 17:31:16

コンテナのroot権限奪取って、めちゃくちゃヤバいセキュリティ脆弱性ってわけじゃないよね。moderate(中程度)って評価は妥当だと思うけど、次の段階への足がかりにはなるってことだね。

worik 2025/07/26 21:50:33

まさにその通りだよ。適切な多層防御ってのは、信頼できる人がシステムを裏切っても、被害が最小限に抑えられるってことだね。

pamelafox 2025/07/26 17:16:41

このコンテナがどう実装されてるかは知らないけど、MicrosoftはPythonサンドボックスを隔離する標準的な方法を持ってるよ。
https://learn.microsoft.com/en-us/azure/container-apps/sessi
この機能がこれか、似たようなものを使っているといいんだけどね。

homarp 2025/07/27 14:55:12

https://news.ycombinator.com/item?id=39922066
このリンク見てみて。

NemosDemos 2025/07/27 03:26:17

OP(オリジナルポスター)じゃないけど、多分このリンクを言ってるんだと思うよ。https://www.cisa.gov/resources-tools/resources/CSRB-Review-S…

tptacek 2025/07/27 03:44:09

まあ、そうかもしれないけど、もし任意のコンテナエスケープを前提にするなら、Copilot以外にも壊れるものはたくさんあるってことだよね。(俺はそう思ってる!)

pbhjpbhj 2025/07/27 00:24:14

サンドボックスを破るエクスプロイトでも、root権限が必要なら大したことないよね…だからもしハッカーがその両方を持っていたとしても、Microsoftはそれらを売っても気にしないだろうね、だってどっちも深刻じゃないからさ。ほら、完璧なセキュリティだよ、しかもタダでね。

tptacek 2025/07/26 19:06:24

ほぼ間違いなくそうだね。その段階ではLinux kernel LPEを探してるだけだから。

stogot 2025/07/27 12:05:41

これだよ:https://www.cisa.gov/sites/default/files/2025-03/CSRBReviewO…

afro88 2025/07/26 21:04:44

“Copilotをroot化”って記事を書けるなんて信じられないよ。実際は、何もできないほど厳重にロックダウンされた一時的なPython sandboxコンテナでroot権限を取っただけじゃん。
俺は“Copilotをroot化”って読んだ時、CopilotのコアとなるVMでroot権限を取ったんだと思ったよ。
もっと正確なタイトルは“Copilot Python Sandboxをroot化する方法”だね。

もっとコメントを表示(1)
stingraycharles 2025/07/27 04:48:25

“完全にロックされたsandboxで、一般ユーザーからrootユーザーへの特権を昇格させた方法”ってのが、ほぼすべてを物語ってるね。
これは大したことないし、むしろdepth defenseにおけるsandboxingがいかに効果的かを示してるよ。

bravesoul2 2025/07/27 08:59:04

LLMが防御にどれだけ役立たないかを示してるね。LLMは積極的にexploit探しを助けるんだから。
LLMはまるで狂ったクアドラプルエージェントみたいで、誰の味方かわからないよ。

brookst 2025/07/27 13:52:45

LLMが“味方”につくのは、本が味方につくのと同じだよ。全然違うね。ツールにはエージェンシーなんてないんだから。

arccy 2025/07/27 10:07:07

カオス・ニュートラルだね。

tptacek 2025/07/26 16:32:16

俺は、Python sandboxからcontainerに脱出したって読んだよ。それなら、Microsoftがこれを“moderate”なseverityだと採点したこととも一致するね。

blastonico 2025/07/26 19:35:57

彼がその応答がただのhallucinationsじゃないって、どうやってわかるんだ?
俺はそこで働いてるから言えるんだけど、あそこに挙げられてるプロセスはどれも見たことないんだよね。
実際、keepAliveJupyterSvc.shっていうスクリプトをパブリックリポジトリで見つけたよ:https://github.com/shivamkm07/code-interpreter/blob/load-tes…

eddythompson80 2025/07/26 20:57:34

そのリポジトリと貢献者はMicrosoft/Azureの社員みたいだね。Pythonコードをコンテナで動かすサービスを作ってるらしいけど、なんで個人のアカウントなんだろう?Officeのリポジトリからフォークしたって書いてあるのに見つからないのは変だな。

what 2025/07/27 03:54:26

どうやってMicrosoft/Azureの社員って判断したの?俺には何もそう思わせるものが見当たらないんだけど。

eddythompson80 2025/07/27 07:06:48

リポジトリのオーナーのプロフィールに雇用主が載ってるよ?
それと、GitHubのコミットURLに.patchを追加するとgitパッチファイルが取れるんだ。
https://github.com/shivamkm07/code-interpreter/commit/5e282c

jon_adler 2025/07/26 21:14:32

ハルシネーションじゃないのかもな。CopilotのコードはGitHubのトレーニングセットから作られたんじゃないかな?

blastonico 2025/07/26 19:48:30

あー、これは本当にハルシネーションっぽいな。
みんな、チャットボットってほとんどトークンジェネレーターで、プログラムを実行して返事してるわけじゃないんだよ…単純なシェルプログラムじゃなくて、GPUで計算してトークンを返して、それが日本語に翻訳されてるだけだからね。

MattGaiser 2025/07/26 21:16:39

それはかなり時代遅れだよ。
今は、よくツールを動かしてその結果を返してるんだ。

blastonico 2025/07/26 23:22:42

そうでもないよ。
エージェントのこと言ってるんだろうけど、モデルがいつもエージェントを使うわけじゃないし、公開されてるチャットボットが勝手にコマンドを実行できるシェルに繋がってるわけじゃないんだ。

brookst 2025/07/27 13:56:58

それは違うよ。
最近のチャットボットはLLMが使えるツールのリストが与えられるツールオーケストレーションを使ってて、ウェブ検索とかコード実行とかが含まれるんだ。
LLMがPythonとかのコードを生成して、それを実行するツールを呼び出して結果を受け取るんだよ。
ツールはPythonの入力を受け取って、コンテナとかで動かして出力するから、LLMがそれをさらに処理できるってわけ。

blincoln 2025/07/27 12:39:03

>そして、公開されているチャットボットは、任意のコマンドを自由に評価するシェルに接続されているわけではない。
って言ってるけど、根拠は?

ChuckMcM 2025/07/26 18:15:45

じゃあ、何か見落としてるのかな?
それとも、どうにかして「外部」にネットワーク接続を作れるってこと?
例えばローカルネットワークを迂回して、ルーターのエンドポイントにファジングを始めたりさ。
Microsoftは、顧客がrootアクセスできるコンテナを、データ流出や悪用のリスクなしに提供できるってことなの?

aurelien_gasser 2025/07/27 09:32:35

記事がエグレス(送信)トラフィックのブロックに言及してるから、コンテナをホストしてるマシンやVMに、それを強制するためのiptablesルールがあったんだろうね。

pinoy420 2025/07/26 18:38:19

OpenAIがPython解釈機能を出した時、オープンなネットワークアクセスなしで開発者のプログラミング手法や内部設定ファイルが見れたんだ。今回も似たようなもんさ。

reliablereason 2025/07/26 18:28:47

脆弱性には見えないね。コードがコンテナ内で動くのがシステムの安全性を保ってるんだから。

varispeed 2025/07/26 16:28:45

昔のLLMは、公開しちゃいけない文書を学習して会社の秘密の宝庫だったんだよ。今は消されてるっぽいけどね。

furyofantares 2025/07/26 17:49:06

>以前のLLMは、会社の秘密の宝庫だったんだ(公開されるべきでない文書を学習した時ね)。
それ嘘じゃない?LLMはトレーニングセットの情報をそんなに覚えないし、非公開データの誤学習なんて聞いたことないよ。LLMの幻覚でそう見えるのはわかるけどね。

baxtr 2025/07/26 16:34:31

俺の経験だと、会社の秘密って他の会社にはほとんど役に立たないもんだよ。

dataviz1000 2025/07/26 18:27:37

昔、会社でIP訴訟の件でフロントエンド書き直しをさせられたのを思い出したよ。人は攻撃探しでソーシャルメディアやSlackを見るんだ。会社の秘密は自社には無用でも他社には超有用!だからコミュニケーションは短期保持ポリシーにすべきだし、安易に公開しちゃダメだね。

simonw 2025/07/26 16:54:05

もっと大きな問題は株の「重要非公開情報」、例えば未発表の売上だね。それを取引に使うのも、承認されたルート以外で漏らすのも違法なんだ。

bravesoul2 2025/07/27 09:01:53

いや、そうじゃない時もあるよ。多層防御やゼロトラスト、短期有効期限で、情報の有用性はかなり下がる。スタートアップはインフラに自己流のやり方(全IPからのSSH開放とか)を使いがちだから、一番危ないんじゃないかな。

baxtr 2025/07/27 12:13:15

企業に大きな経済的影響を与えた、漏洩した秘密の例を教えてくれる?

brookst 2025/07/27 14:01:53

パナマ文書で会社が潰れたり、何億も損害が出た例があるよ。Uberハックとか、Cambridge Analyticaもそうだった。

bravesoul2 2025/07/28 06:36:05

あー、鍵とかの秘密について話してるんだと思ってたわ。

wkat4242 2025/07/26 19:31:42

本当に機密な部分を定義するのが難しいからだよ。みんな文書を分類するけど、制限がないから公開を選びがち。アクセスリストも面倒がるし。クレジットカード番号みたいな自動検出も不完全だし、新製品の情報とか3Dモデル、コード、戦略メールなんかはただのテキストだしね。
全部漁られたら文脈無視されるし、些細な内部連絡でも公開されたら波紋を呼ぶことも。多国籍企業には情報が山ほどあるから、正しい情報を見つけるのが大変で、そのためにCopilotを使ってる。OutlookとかSharePointの検索がひどいからCopilotが必要なんだ。

reaperducer 2025/07/26 16:40:52

ほとんどの会社で、下っ端のマネージャーが秘密をため込みたがるんだ。それが彼らを力強く感じさせるのさ。「新しいこと知ってるんだぜ!」ってね。義母も親戚のゴシップを知ってることで想像上の力を得てるのと同じ。人間の本性なんだろうな。

もっとコメントを表示(2)
SoftTalker 2025/07/26 17:06:52

なんで下っ端のマネージャーだけに限るの?システム管理者とかプログラマーでも全く同じ振る舞いをするやつを知ってるよ。彼らは君に権限をくれたり、必要なことをするスクリプトを渡したりできるのに、君に彼らのところに来て頼ませたがるんだ。それが彼らに存在意義を与えてるんだろうな。

pastage 2025/07/26 18:30:37

他人のためにたくさん直してる者としては、俺のしてることは秘密じゃないけど、それを学ぶのはほとんどの人には難しすぎるみたいだ。俺は学びたいやつを見つけたら、仕事を任せるようにしてるよ。もし誰かが何か得意なことを見せたら、もっと厄介な問題が回ってくるのを覚悟しなきゃな。たまに秘密にしてるように見えるかもしれないけど、ただ機嫌が悪いだけかもね。

dns_snek 2025/07/26 19:12:51

それは「そのこと」が何なのかに大きく依存するよ。「ただ重要感を味わうため」にやってるやつもいるだろうけど、アクセスを拒否するのには正当な理由があることが多い。そもそもひどいアイデアか、信頼できないか、上司からの明確な要求がない限りね。君の経験とは違うかもしれないけど、俺も未経験の同僚に危険な認証情報を共有するのを拒否したとき、同じようなこと言われたことある。「やっても地獄、やらなくても地獄」ってやつさ。

jon_adler 2025/07/26 21:20:34

スクリプトの目的とか使ってるシステムにもよるかもね。職務分掌は不正、無駄、エラーを減らすためのISO 27001のリスク軽減原則だよ。

arccy 2025/07/27 10:11:11

システム管理者の気持ち、すげぇわかるわ。開発者に権限あげたら、SOとかLLMからテキトーにコピペしてシステムをメチャクチャにしやがる。だから、悪いけど権限制限するしかねーんだよな。

kingofmen 2025/07/26 16:40:10

「ほとんど」って言葉が、その文ではかなり効いてるんだよな。会社ってのはさ、軍隊みたいに、公開しても大丈夫な情報でも大量に秘密にしてるんだ。だって、どれがマジでヤバい情報なのか分かんねーからな。

samastur 2025/07/26 16:40:43

偏執症と、どれが「ほとんど」のカテゴリに入るか分からないからだよ :)

wkat4242 2025/07/26 19:28:22

だから企業の諜報活動ってマジで儲かる業界なのかね?もちろん、どんな秘密かによるけど。99%は社内プロセスのくだらないこととか部署間の揉め事だろうけど、中にはマジで重要なものもあるからな。

simonw 2025/07/26 16:37:41

これに関する具体的な例とかあんの?俺はまだ見たことないんだけどさ。

Barbing 2025/07/26 20:31:59

LLMがメール署名を再現したって言われる事例を探したけど、正確なものは見つからなかったな。それに、たくさんのメール署名は長年ニュースグループなんかで公開されてきたわけだし。もしかしたらWebのコメントが、ChatGPTがユーザーが入力したメールで学習してるって思い込んだ、陰謀論的な考え方だったのかもね、実際そんな必要ないし。
ただ、このトップのスクリーンショットみたいなのはあるよ: https://www.zdnet.com/article/chatgpt-can-leak-source-data-v
まあ、要するにないってことだ。

nyarlathotep_ 2025/07/26 17:47:27

「テック」じゃない会社がLLMを導入し始めた頃、それらの製品の意図とは違うコンテンツへの「ガードレール」(標準的な用語かは分からんけど)がなかったんだよな。ChatGPTの無料版が始まる前、登録不要の無料LLM持ってるタピオカ屋があって、俺それ使ってちょっとbashスクリプト生成したことあるわ。

1970-01-01 2025/07/27 14:48:09

出力がハッキリ存在してるのに、自分がroot化されたことに気づいてないってことは、そいつは賢くないってことだな。

ratg13 2025/07/26 17:00:47

Copilotにsudoバイナリをbase64形式で渡してショートカットできたんじゃないか?

jfyi 2025/07/26 18:42:02

ファイルの所有者をrootに変更する必要があるってさ。

yencabulator 2025/07/29 17:39:39

Base64はただのエンコード方式で、ファイルの所有者とかSUIDビットみたいなメタデータは運べないんだぜ。sudoバイナリは、その中身だけじゃ特別な力はないんだからな。
https://en.wikipedia.org/wiki/Setuid
https://en.wikipedia.org/wiki/Base64
https://xkcd.com/1053/

yencabulator 2025/07/29 17:27:12

コマンドをたくさん実行すると、Copilotがファイルをダウンロードしたり、フォルダをtarで固めて提供したりするようになるってさ。これは最初のコマンドじゃやっちゃダメだぞ!LLMのセーフガードなんて機能しないって、いつものことじゃん?せいぜいツール呼び出しのセキュリティ境界について、ましなメッセージを出すくらいだよ。

bramhaag 2025/07/26 16:32:51

Microsoftに脆弱性を報告したけど、バウンティはもらえなかったってさ。重要度“Moderate”だからだって。Microsoftみたいな小さなインディー企業だと、バグバウンティは払えないってことなんだろうな。これで何か悪いことが起きるなんて、まさかな?

citizenpaul 2025/07/26 17:12:43

なんでみんな、何兆ドルも稼ぐ多国籍企業のためにタダ働きするのか、俺にはさっぱり理解できねえな。

hombre_fatal 2025/07/26 17:29:29

それって、オープンソースソフトウェアについても同じことが言えるよな。

blendergeek 2025/07/26 17:44:31

だから俺は“オープンソース”を信じる意味が分からん。“フリーソフトウェア”は、人類全体のために仲間へ無償で開発貢献することだと信じてるんだ。何十億ドルも稼ぐ企業に無償貢献なんてするか?

n2d4 2025/07/26 16:39:33

大事なのはここ!コンテナへのrootアクセスで何を得たか?
何も得てねえ!
これで今までアクセスできなかったコンテナの場所を探れたけど、/rootにファイルはなかったし、ログも面白くないし、既知のコンテナブレイクアウトは全部パッチ済みだったから無理だったってさ。root権限を得る方法は他にもあるだろうし、Microsoftが一つに報酬払ったら全部に払うことになるだろうから、危険じゃないことに対して払うのは馬鹿げてるってわけだな。

CharlesW 2025/07/26 17:57:42

それは誤解かもしれないな。“フリーソフトウェア”(例: Linux)も大企業に利益をもたらすし、“オープンソース”も人類全体に恩恵をもたらすんだぜ。

blendergeek 2025/07/26 18:01:42

フリーソフトウェアとオープンソースは同じことに対する二つのイデオロギーだ。フリーソフトウェアは人類のために開発するって思想(倫理的なスタンスだな)。オープンソースは、開発者にお金払わないで企業がコスト削減するための思想だ。オープンソースも人類に貢献はするけど、金のために企業向けソフトウェアを開発するだけだろ。俺は自分の時間で開発するなら、自分や一般の人々に利益をもたらすソフトウェアに集中するぜ。

記事一覧へ

海外テックの反応まとめ
著者
海外テックの反応まとめ
暇つぶしがてらに読むだけで海外のテックニュースに詳しくなれるまとめサイトです。