500万人が使うAIコーディングツール『Cline』に乗っ取りの脆弱性、悪意あるサイトを開くだけでPC操作やAPIキー窃取の恐れ CVE-2026-59723、3.0.30へ更新を
500万人以上が使うAIコーディングツール『Cline』に深刻な脆弱性が見つかりました(CVE-2026-59723、CVSS 8.8)。悪意あるサイトを開くだけで、パソコン上のClineが乗っ取られ、勝手にコマンドを実行されたりAPIキーやソースコードを盗まれたりする恐れがあります。5月に続き同型の穴で2回目。いますぐ最新版(3.0.30以降)へ更新を。
目次
500万人以上が使うAIコーディングツール『Cline』に深刻な脆弱性が見つかりました(CVE-2026-59723、CVSS 8.8)。悪意あるサイトを開くだけで、パソコン上のClineが乗っ取られ、勝手にコマンドを実行されたりAPIキーやソースコードを盗まれたりする恐れがあります。5月に続き同型の穴で2回目。いますぐ最新版(3.0.30以降)へ更新を。
プログラミングを丸ごと手伝ってくれるAIツールとして世界で500万回以上インストールされている Cline(クライン) に、深刻な乗っ取りの脆弱性が見つかりました。番号は CVE-2026-59723、深刻度はCVSS 8.8(High、10点満点)です。怖いのは、攻撃者が用意したWebサイトをうっかりブラウザで開くだけで、自分のパソコン上で動くClineが乗っ取られてしまう 点です。
問題があったのは、Clineに付いている「ダッシュボード」機能(cline dashboard で起動する管理画面)が、パソコンの内部でこっそり動かしている通信の受け口です。この受け口が、「どのWebサイトから話しかけられているか」を確認しないまま命令を受け付けてしまう ため、無関係な悪意あるサイトから操作されてしまいます。乗っ取られると、AIに勝手にコマンドを実行させられ、パソコン上のファイルや、AIサービスのアクセス鍵(APIキー)まで盗まれる 恐れがあります。開発元の注意喚起 によれば、初期設定のまま使っている人がそのまま危険にさらされます。
さらに厄介なことに、Clineでは 同じ仕組みの穴が今年すでに2回目 です。5月には別の画面機能で、より深刻な CVE-2026-44211(CVSS 9.7)が公表されていました。修正版は、今回のダッシュボードの穴が Cline 3.0.30、5月に見つかった方が 0.1.66 です。Clineを使っている人は、いますぐ最新版へ更新してください。記事公開時点で 米政府CISAが公開する「実際に攻撃されている脆弱性リスト(KEV)」への登録や、実被害の報告は確認されていませんが、攻撃を再現する実証コードはすでに公開されています。
Clineとは何か、なぜこの穴が怖いのか
Clineは、コードエディタ「Visual Studio Code」に組み込んで使う、オープンソースのAIコーディングエージェントです。もとは「Claude Dev」という名前で公開され、いまは GitHubのスターが6万超、インストール数は500万を超える 人気ツールになりました。ClaudeやChatGPT、Geminiなど30以上のAIモデルにつなげられ、単なる補完にとどまらず、ソースコードを読んで自分でファイルを書き換え、ターミナルでコマンドを実行し、ブラウザまで操作する ――人に代わって開発作業をこなす「エージェント」型のツールです。
これだけの権限を持つということは、Clineは あなたのソースコード、ターミナル、Gitリポジトリ、そしてクラウドの認証情報にまで手が届く場所にいる ということです。だからこそ、そのClineが外から乗っ取られると被害が大きくなります。今回の穴は、Clineが便利機能のために パソコンの内部だけで動かしている小さなサーバー にありました。
Clineには、作業状況を見やすく表示する「ダッシュボード」や、タスクをカードで管理する「Kanban(かんばん)」といった画面機能があります。これらを動かすと、Clineは 127.0.0.1(自分自身を指すアドレス。パソコンの内側からしか見えない)で、ブラウザの画面と裏側をつなぐための通信路(WebSocket、ブラウザとサーバーが双方向にやり取りし続けるための仕組み)を開きます。本来これは「自分のパソコンの中だけの通信」なので安全なはずでした。ところが、WebSocketにはブラウザの安全装置が効かない という盲点があります。
通常のWebページ同士の通信には「同一生成元ポリシー(CORS)」という仕組みが働き、別のサイトから勝手に他のサイトの中身を読み取れないようになっています。ところがWebSocketはこの制限の対象外で、インターネット上のどんなサイトからでも、あなたのパソコンの内側で動くWebSocketに接続できてしまう のです。だから、接続を受ける側(Cline)が「どのサイトから来た接続か」を自分で確認しなければ、悪意あるサイトからの接続をそのまま受け入れてしまいます。今回の穴の正体は、まさにこの 「誰から話しかけられているかの確認忘れ」 でした。
攻撃者は誰で、何を狙い、どこまで被害が届くのか
難しい仕組みの話に入る前に、この穴が「自分に関係あるかどうか」をはっきりさせます。危ないのは、Clineの画面機能(ダッシュボードやKanban)を 手元で動かした状態のまま、別のタブで見知らぬサイトを開いてしまう ときです。使い方によって、対象かどうかが変わります。
| Clineの使い方 | この乗っ取りの対象か | やること |
|---|---|---|
| ダッシュボード (cline dashboard)を 起動している | ✅ 直接の対象 (CVE-2026-59723) | いますぐ 3.0.30以降へ更新 |
| Kanban機能の ローカルサーバーを 使っている | ✅ 直接の対象 (CVE-2026-44211) | Kanbanを 0.1.66以降へ更新 |
| 拡張機能として 普通にコーディングに 使っているだけ | △ 画面機能を 使う時に危険。 念のため更新を | 最新版へ 更新しておく |
この穴を突いて得をするのは、いたずら目的の相手ではありません。開発者のパソコンを狙い、そこに保存されたソースコードやクラウドの認証情報、AIサービスのAPIキーを盗み出したい、金銭目的の攻撃者やサプライチェーン攻撃を仕掛ける集団です。彼らは、広告や乗っ取ったサイト、SNSのリンクなどを使って、開発者を「見た目はふつうのWebページ」へ誘い込みます。
開発者がそのページを開くと、ページに仕込まれたプログラムが裏で パソコンの内側で動くClineのWebSocketにこっそり接続し、Clineに新しい「道具(MCPサーバー)」を勝手に追加登録するという手口を取ります。MCP(Model Context Protocol)は、AIエージェントに外部ツールをつなぐための仕組みです。ここに攻撃者が細工した「道具」を登録すると、その中身として パソコン上で実行される命令(シェルコマンド)を紛れ込ませられます。しかもダッシュボードの初期設定では、AIが道具を使うときの承認が自動になっている(autoApproveTools: true)ため、登録された悪意ある命令が 本人の確認なしにそのまま実行されてしまいます。
被害を受けるのは、まず Clineを使っている開発者本人 です。パソコン上で任意のコマンドを実行されれば、ソースコードやAPIキーの流出、開発環境の改ざん、そこを足がかりにした社内ネットワークへの侵入につながります。さらに、その開発者が企業のソフトウェアを作っている場合、盗まれた情報や仕込まれた不正コードが その企業の製品を通じて、最終的な利用者にまで波及する 恐れがあります。実際、Clineは今年2月にも、開発の裏側を突かれて 不正なバージョンがnpmに公開され、更新した開発者に別のプログラムが勝手に入る事件(いわゆるサプライチェーン攻撃)を経験しています。「開発者のパソコンを乗っ取る」ことの先には、その人が関わるすべてのソフトウェアがぶら下がっているわけです。
何が起きていたのか、技術的な詳細
今回の一連の問題は、いずれも 「パソコンの内側で開いたWebSocketが、接続してきた相手のOrigin(どのサイトから来たか)を確認していなかった」 という同じ根っこを持っています。Clineの2つの機能で、それぞれ別のCVE番号が振られました。
CVE-2026-59723:ダッシュボードのWebSocket乗っ取り(CVSS 8.8)
今回れいなの検知にかかった新しい方の穴です。cline dashboard で起動する管理画面は、初期状態で ws://127.0.0.1:8787/browser という受け口を開きます。開発元のセキュリティ情報(GHSA-3cj3-hqcr-g934) によれば、この受け口の認可チェックは、ROOM_SECRET という合言葉(環境変数)が設定されているかどうかで判定していました。ところが、ローカルで動かす通常の使い方では ROOM_SECRET が設定されておらず、そのときは認可関数が無条件で「許可」を返してしまう 作りになっていました。加えてWebSocketの接続時にOriginの確認も行っていなかったため、外部の悪意あるサイトからの接続が丸ごと通ってしまいます。
攻撃者は、接続後に upsert_mcp_server という命令を送り、設定ファイル cline_mcp_settings.json に、シェルコマンドを含む不正なMCPサーバーを書き込みます。前述のとおりダッシュボードのセッションは道具の自動承認が有効なため、書き込まれたコマンドがそのまま実行に至ります。報告したのはセキュリティ研究チームの EQSTLab で、Dockerと簡単なスクリプトで攻撃を再現する実証コードも添えられています。修正版は Cline 3.0.30 で、ROOM_SECRET 未設定時に素通りしないよう認可とOrigin確認が加えられました。
CVE-2026-44211:Kanbanサーバーの同型の穴(CVSS 9.7)
5月に セキュリティ企業Oasis Securityが公表 した、より深刻な先行事例です。タスクをカードで管理するKanban機能のローカルサーバーが、127.0.0.1:3484 でWebSocketを開いており、こちらは Originの確認も合言葉による認証もいっさい無し でした。研究者いわく「開発者のブラウザで動くどんなJavaScriptからでも届いてしまう」状態です。悪意あるサイトから接続すると、Kanbanサーバーは 作業中のワークスペースの丸ごとのスナップショット(ファイルのパス、タスクの内容、Gitのブランチ名、AIとのチャット履歴)をそのまま送り返してきます。
さらに攻撃者は、AIエージェントに プロンプト(指示文)を送り込み、キー入力を偽装して、AIにそれを正規の指示として受け取らせる ことができました。これによりターミナルで任意のシェルコマンドが実行され、遠隔からのコード実行(RCE)に至ります。作業中のタスクを勝手に止めてしまう妨害も可能です。CVSSが今回の3件で最も高い9.7となっているのは、認証がまったく無く、被害が情報漏えいからコード実行まで一直線につながるためです。修正版は Kanbanパッケージの0.1.66 です。
2つのCVEはコンポーネントもポートも別ですが、「便利機能のためにローカルでWebSocketを開き、接続元の確認を怠った」 という失敗の型はまったく同じです。ローカルで動くサービスは「どうせ自分のパソコンの中だけ」と油断しがちですが、ブラウザ経由でインターネットの向こう側から手が届くという事実が、この2件で立て続けに突きつけられました。
発覚から修正までの時系列
← スワイプで移動
5月のKanbanの一件で同じ種類の穴が指摘されていたにもかかわらず、7月にはダッシュボードでほぼ同型の穴が見つかりました。ローカルで開くWebSocketの接続元確認という論点が、製品全体で洗い直されていなかったことがうかがえます。ダッシュボードの穴 CVE-2026-59723 がNVDに登録されたのは2026年7月8日です。
いますぐやること
対応の基本は、Clineを最新版へ更新することです。使い方によって、加えてやるべきことが変わります。
- Clineを使っているすべての人:Cline 3.0.30以降 へ更新してください。自分では画面機能を使っていないつもりでも、拡張機能の操作でローカルサーバーが立ち上がることがあるため、最新版にしておくのが安全です。
- ダッシュボード(cline dashboard)を使う場合:更新に加えて、環境変数
ROOM_SECRETを設定して合言葉による保護を有効にしてください。作業が終わったらダッシュボードを開きっぱなしにしないことも有効です。 - Kanban機能を使う場合:Kanbanを0.1.66以降 へ更新してください。5月に修正済みのため、しばらく更新していない人ほど要注意です。
- 共通の心がけ:ローカルサーバーを外部からアクセスできるネットワーク上で動かさない、開発作業中は素性の分からないサイトを不用意に開かない、といった基本も被害を減らします。
Clineは npm やVS Codeの拡張機能マーケットプレイスから配布されているため、CI/CDやチーム共通の開発環境に組み込んで使っているケースでも、バージョンの確認と更新を忘れないようにしてください。Oasis Securityも、Clineに限らず 手元で動かしている他のAI開発ツールについても、同じような接続元確認の抜けがないか点検すること を勧めています。
技術者として見ると、繰り返される「ローカルなら安全」の思い込み
今回の根っこは、ローカル(127.0.0.1)で開いたWebSocketに、接続元のOriginを確認する処理を入れ忘れた という一点です。「自分のパソコンの中だけで動くサービスなら外から触られない」という思い込みが土台にありますが、これは正しくありません。ブラウザは、WebページからのHTTP通信にはCORSで制限をかける一方、WebSocket接続にはその制限を適用しません。だから、開発者が悪意あるページを開いた瞬間、そのページのJavaScriptは ws://127.0.0.1:... へ自由に接続できます。守りの責任はサーバー側にあり、接続時にOriginヘッダを検査して、想定した画面以外からの接続を拒否する のが定石です。合言葉(トークン)による認証を必須にするのも有効な対策です。
この構図は、AI時代に急に使われ始めた開発ツールで何度も繰り返されています。AIにコードを渡す人気ツールRepomixが公開サーバーを踏み台にされたSSRF、AIツールLangflowが公開直後に攻撃された事例、AmazonのAI開発ツールKiroの脆弱性、データ基盤Snowflakeのコマンドツールの脆弱性、開発ツールmiseの脆弱性 など、便利さを優先した実装のまま外部からの入力や接続を受け取り、後から穴が見つかるパターンが続いています。AIエージェントは コード・ターミナル・認証情報という「一番奪われたくないもの」に手が届く場所にいる だけに、オープンソースのサプライチェーン(部品供給網) の観点でも、これらツールの安全性は今後ますます問われます。実際に攻撃が観測された脆弱性は CISAのKEV(実際に攻撃されている脆弱性リスト) に随時追加されるため、あわせて確認しておくと安心です。
よくある質問
Q. Clineを拡張機能として普通にコーディングに使っているだけです。危ないですか?
直接の対象は、ダッシュボードやKanbanの画面機能を動かしているときです。ただ、拡張機能の操作でこれらのローカルサーバーが立ち上がる場合があり、自分では気づきにくいため、最新版(Cline 3.0.30以降)へ更新しておくのが安全です。
Q. 悪意あるサイトを開かなければ大丈夫ですか?
仕組み上は、攻撃者のページを開いた時に成立する攻撃です。ただし、正規のサイトが乗っ取られたり、広告経由で不正なプログラムが読み込まれたりすることもあるため、「怪しいサイトを避ける」だけでは防ぎきれません。根本的な対策は更新です。
Q. APIキーやソースコードは盗まれたのでしょうか?
記事公開時点で、実際に悪用された被害の報告は確認されていません。ただし攻撃を再現する実証コードは公開されています。心配な場合は、Clineに設定していたAIサービスのAPIキーを念のため再発行し、更新を済ませておくと安心です。
Q. 実際に攻撃されている記録(KEV登録)はありますか?
記事公開時点では、米政府CISAの実際に攻撃されている脆弱性リスト(KEV) への登録は確認されていません。ただし実証コードは公開済みで、Clineは利用者が非常に多いため、早めの更新が安全です。
まとめ
500万人以上が使うAIコーディングツールClineに、悪意あるWebサイトを開くだけで手元のAIが乗っ取られ、コマンド実行やAPIキー・ソースコードの窃取につながる 脆弱性(CVE-2026-59723、CVSS 8.8)が見つかりました。原因は、パソコンの内側で開いたWebSocketが接続元を確認していなかったことです。しかもClineでは、5月に公表された Kanbanの穴(CVE-2026-44211、CVSS 9.7) に続いて、同じ型の失敗が2回目でした。対策はシンプルで、Clineを最新版(3.0.30以降、Kanbanは0.1.66以降)へ更新すること、そしてダッシュボードを使うなら合言葉(ROOM_SECRET)を設定することです。「ローカルだから安全」という思い込みが、AIエージェント全盛の時代にどれだけ危ういか――便利な相棒に強い権限を預けているからこそ、その相棒の守りを確かめる一件です。
参照元

堀川 慎
Backend Engineer / AWS / Django / Go