VS CodeのWorkspace Trustとは?Restricted Modeで止まる機能と信頼前の確認手順

VS CodeのWorkspace Trustとは?制限モードと信頼判断の注意点
  • URLをコピーしました!

GitHubで見つけたプロジェクトをVS Codeで開いたら、画面に「Restricted Mode」と出て、ターミナルも拡張機能も動かない。そんなときに慌てて信頼ボタンを押す必要はありません。

内容を確認するまでは制限状態のままで十分ですし、閲覧と編集はそのまま続けられます。

何が止まっているのか、どこを確かめてから信頼すればよいのか、判断の順番を知っておくと、初めてのフォルダーでも落ち着いて扱えるはずです。

目次

初めて開くフォルダーをすぐ信頼してよいか迷う

GitHubから入手したプロジェクトや、取引先から受け取ったファイル一式をVS Codeで開くと、上部にバナーが出てフォルダーを信頼するか尋ねられます。

ステータスバーには「Restricted Mode」の表示が付き、ターミナルや拡張機能が普段どおりに動きません。ここで戸惑う人は多いでしょう。

この表示は作業の邪魔をしているわけではなく、VS CodeのWorkspace Trustという機能が働いている状態です。

プロジェクト内のコードを、VS Codeや拡張機能が承認なしに実行してよいかを、利用者自身が決めるための仕組みです。

内容をまだ確認していないフォルダーでは、自動的なコード実行を抑えるためにRestricted Modeが使われます。

考えるべきなのは「開けるかどうか」ではなく「実行を許可してよいか」。テキストを読んだり編集したりするだけなら、すぐにすべてを有効にする必要はありません。

内容を確認するまではRestricted Modeのままでよい

初めて見るフォルダーを開いたときは、Restricted Modeのままにしておくのが分かりやすい方法です。

作成者や配布元を信頼できるか判断し、実行される可能性のある設定やタスクを確認するまでは切り替えません。

公式ドキュメントにも、迷ったらRestricted Modeのままにしておき、信頼はあとから有効にできるという案内があります。

Restricted Modeでも、ソースコードの閲覧とテキスト編集は問題なくできます。

一部の言語機能が使えない場合はありますが、READMEや設定ファイルを読んでプロジェクトの目的と構成を把握する段階には十分でしょう。

信頼は「バナーを消すためのボタン」ではありません。ターミナル、タスク、デバッグ、ワークスペース設定、拡張機能へ、より広い動作を許す判断です。

誰が作ったかだけでなく、どの場所を信頼の対象にするかまで確認してから切り替えましょう。

Workspace TrustとRestricted Modeの違い

2つの言葉は似ていますが、指しているものが違います。

Workspace Trust

フォルダーやワークスペースを信頼するかどうかを管理する仕組み。信頼済みの一覧を持ち、追加や解除もここで行います。

Restricted Mode

まだ信頼していない状態でフォルダーを開いたときの動作モード。自動的なコード実行につながる機能が制限されます。

新しい見慣れないフォルダーを開くと、VS Codeは自動的にRestricted Modeで開きます。

初期設定では起動時に確認ダイアログは出ず、Restricted Modeで開いたうえで上部のバナーが案内役になる形です。

信頼確認のダイアログで作者を信頼しないと答えた場合も、同じくRestricted Modeに入ります。

制限中はエディター上部のバナーとステータスバーのバッジで状態が分かります。そこからWorkspace Trust editorを開き、準備ができた段階で信頼へ切り替える流れですね。

注意したいのは、信頼状態がVS Codeのウィンドウと、AI向けのAgentsウィンドウで共有される点です。ワークスペースが信頼されていなければ、どちらの画面でもエージェントは動きません。

AIエージェントを使いたいからといって信頼を急ぐ理由にはならず、先にフォルダーを確認する順番は同じです。

Restricted Modeで制限される主な機能

Restricted Modeでは、すべての機能が同じ形で止まるわけではありません。

制限の対象はAIエージェント、ターミナル、タスク、デバッグ、ワークスペース設定、拡張機能の6つで、無効になるものと、実行時に確認が出るものがあります。

どこで困っているかを切り分けるには、それぞれの役割を分けて見ていくのが近道です。

AIエージェントとターミナル

VS Code内のAIエージェントは、コードの変更やターミナルコマンドの実行、Webリクエストなどを利用者の代わりに行うものです。

どのファイルもエージェントの文脈へ取り込まれる可能性があるため、Restricted Modeではそのワークスペースのエージェントが無効になります。

ターミナルは、初期状態では開く操作自体が止められます。シェルは.envの読み込みや初期化スクリプトを通じて、フォルダーの内容に応じたコードを実行することがあるからです。

制限中にターミナルを開こうとすると信頼確認が出ますが、キャンセルすればRestricted Modeのまま変わりません。

内容をまだ確認できていないなら、ターミナルを使うためだけに信頼へ切り替えない方が安全でしょう。

タスクとデバッグ

VS Codeのタスクは、スクリプトやツールのバイナリを実行できます。タスク定義はプロジェクト直下の.vscodeフォルダーに保存され、リポジトリの一部として共有されます。

誰かが仕込んだタスクを、クローンした人全員が知らずに実行しかねない構造です。

そのためRestricted Modeでは、タスクの実行はもちろん、一覧を表示しようとした時点でも信頼確認が表示されます。

デバッグも同じ理由で制限対象です。開始時にデバッガーのバイナリを実行することがあるため、「Start Debugging」を選ぶと信頼確認が出ます。

普段のプロジェクトでは便利な操作でも、入手したばかりのプロジェクトでは実行内容を確かめてから使いたいところです。

タスク名やデバッグ構成が自然に見えても、それだけで安全とは判断できません。何を起動し、どのファイルや外部ツールを参照する設定なのかを見るのが先です。

ワークスペース設定と拡張機能

ワークスペース設定も.vscodeフォルダーに保存され、リポジトリを取得した人の間で共有されます。

設定の中にはリンターなど実行ファイルへのパスを持つものがあり、悪意あるプログラムを指すように書き換えられると危険です。

そのためRestricted Modeでは一部の設定が無効になり、適用されていない設定の一覧はWorkspace Trust editorから確認できます。

拡張機能は、Restricted Modeへの対応状況によって扱いが変わります。対応を明示していない拡張機能は初期状態で無効になり、アクティビティバーのアイコンやコマンドも表示されません。

対応を「限定的」と宣言している拡張機能は、一部の機能だけを止めて動きます。

「昨日まで使えた拡張機能が消えた」「コマンドが出てこない」というときは、故障と決めつける前にRestricted Modeかどうかを確認してください。

Workspace Trust editorのリンクから、無効または制限されている拡張機能の一覧へ進めます。

フォルダーを信頼する前の確認手順

信頼判断に万能なチェックリストはありません。

ただ、次の順で見ていくと、表示を消すことだけが目的になりにくく、あとから理由を説明できる判断になります。

STEP
入手元を確認する

自分で作成したものか、知っている組織や相手から受け取ったものかを整理します。よく知られた組織の公開リポジトリと、出どころの分からないZIPでは、判断の出発点が違うはずです。

STEP
READMEとファイル構成を読む

何をするプロジェクトで、どのツールを使う想定なのかを把握します。ここまではRestricted Modeのままで問題ありません。

STEP
.vscodeフォルダーを見る

タスクやワークスペース設定があれば、実行対象や参照先のパスを確認します。自動実行の入口になりやすい場所です。

STEP
必要な実行機能を分ける

ターミナル、タスク、デバッグ、AIエージェント、拡張機能のどれが本当に必要かをはっきりさせます。閲覧だけなら信頼は不要です。

STEP
信頼する範囲を見る

1つのプロジェクトだけか、複数のプロジェクトを含む親フォルダーまで対象になるかを確認します。

STEP
不明点が残るなら制限状態を維持する

閲覧と編集を続けながら、作成者や管理者へ確認してから切り替えましょう。

この流れは、VS Codeが配布元の安全性を自動で判定してくれるという意味ではありません。公式仕様で示された制限対象を踏まえて、利用者が判断を整理するための運用案です。

仕事で受け取ったプロジェクトなら、個人の判断だけで信頼せず、社内ルールや依頼元の手順も確認しましょう。

期限が近いと確認を省きたくなりますが、実行内容が分からないまま機能を有効にすると、何か起きたときに原因を追いにくくなります。

信頼状態を変更・解除する方法

Restricted Mode中は、上部バナーの「Manage」リンクからWorkspace Trust editorを開けます。ステータスバーのRestricted Mode表示をクリックしても同じです。

Command Paletteで「Workspaces: Manage Workspace Trust」を選ぶ入口は、制限中でなくても使えるので覚えておくと便利でしょう。

このエディターで「Trust」を選ぶと、フォルダーがTrusted Folders & Workspacesの一覧へ追加されます。

一覧では信頼するフォルダーの追加・編集・削除ができ、現在開いているフォルダーは太字で表示されるので、どれが対象か迷いません。

一度信頼したフォルダーをRestricted Modeへ戻すときも同じ場所です。Workspace Trust editorで「Don’t Trust」を選べば解除できます。

Trusted Folders & Workspacesの一覧から対象を外す方法でも構いません。

日本語化したVS Codeでは、これらのラベルが翻訳表示になっている可能性があります。

親フォルダーを信頼するときの注意点

Workspace Trustでは、親フォルダーを信頼対象にできます。Trusted Folders & Workspacesの一覧に親フォルダーのパスを追加すると、配下のすべてのサブフォルダーに信頼が適用されます。

信頼済みのリポジトリを1か所にまとめて管理するには便利な反面、対象範囲を広げすぎやすい点には注意が必要です。

実務的なのは、保存場所そのもので信頼を分ける運用です。たとえば、内容を確認した仕事用リポジトリをまとめる親フォルダーと、検証前のリポジトリを置く親フォルダーを分けておき、前者だけを信頼します。

後者に入れたプロジェクトは、確認が済んだものから個別に信頼する形です。公式ドキュメントでも、「TrustedRepos」と「ForEvaluation」のように親フォルダーを分ける例が紹介されています。

親フォルダーから信頼を継承している場合、通常の「Don’t Trust」ボタンは表示されず、別のフォルダーによって信頼されている旨の文が出ます。

解除したいのにボタンが見当たらないときは、Trusted Folders & Workspacesの一覧を開いてください。どの親フォルダーが登録されているかで原因が分かります。

  • ダウンロード先や作業用フォルダー全体を信頼すると、あとから追加した未確認のプロジェクトまで自動的に信頼済みになる
  • 親フォルダーを登録するなら、そこへ何を保存するかも運用ルールとして決めておく
  • 解除したいのに「Don’t Trust」が出ないときは、親フォルダーからの継承を疑う

Workspace Trustだけでは防げないこと

Workspace Trustは追加の防御層であって、万能な安全判定ではありません。

とくに、悪意ある拡張機能がRestricted Modeを無視してコードを実行することは防げないと、公式ドキュメントにもはっきり書かれています。

つまり、Restricted Modeにしているからといって、どの拡張機能を入れても安全になるわけではないんですよね。

拡張機能は、信頼できると判断した発行元のものだけを、用途や説明を確認したうえで導入しましょう。

対応状況は設定で上書きできますが、作者があえてRestricted Modeで無効にしている理由があるかもしれず、慎重に扱いたい機能です。

Workspace Trust自体を無効にする設定や、現在のセッションだけ無効にするコマンドラインスイッチも用意されています。ただ、公式ドキュメントは機能の無効化を推奨していません。

表示が煩わしいと感じるなら、機能を切る前に、信頼済みフォルダーの置き場所や親フォルダーの範囲を見直す方が目的に合うでしょう。

Workspace Trustが向いている人・別の管理も必要な人

Workspace Trustの確認がとくに役立つのは、次のような使い方をしている人です。

  • GitHubから初めて見るリポジトリを取得する
  • 取引先や学習教材からプロジェクト一式を受け取る
  • VS Codeのタスク、デバッグ、AIエージェントを使う
  • 複数の拡張機能を導入している
  • 仕事用と検証用のフォルダーを同じパソコンで扱う

自分だけで作成し、保存場所も管理しているフォルダーなら、信頼判断は比較的単純です。

一方、チームの共有フォルダーや自動的にファイルが追加される場所では、Workspace Trustだけでは足りません。組織のセキュリティルールや権限管理と組み合わせる必要があります。

VS Codeをテキスト編集にしか使わない人でも、未知のプロジェクトを開く場面ではRestricted Modeの意味を知っておく価値があります。

必要な機能が動かない理由が分かれば、確認なしに信頼へ切り替えてしまう操作を減らせますよね。

代替ではなく組み合わせたい管理方法

Workspace Trustは、ウイルス対策や拡張機能の発行元確認、ファイルの入手元確認を置き換えるものではありません。実務では、いくつかの管理を組み合わせて使います。

土台になるのは保存場所の分離です。確認済みのプロジェクトと評価中のプロジェクトで親フォルダーを分け、親フォルダーを信頼するときは配下に置く対象を限定します。

拡張機能は目的と発行元を確認してから導入し、タスクやデバッグを実行する前には設定内容と参照先に目を通す。この2つは、Restricted Modeがあっても省けない確認です。

不明なフォルダーはRestricted Modeのまま閲覧します。信頼状態が意図と違うと感じたら、Trusted Folders & Workspacesの一覧を見直しましょう。

一度決めた信頼を放置せず、保存場所の変更や案件の終了に合わせて一覧を整理しておくと、どこまで実行を許しているかを把握しやすくなります。

まとめ

Workspace Trustは、プロジェクト内のコードをVS Codeや拡張機能が実行してよいかを、利用者が判断するための仕組みです。

内容を確認していないフォルダーではRestricted Modeを維持し、テキストを読みながら、タスク、設定、使う拡張機能、信頼する範囲を確かめていきます。

信頼へ切り替える前に見るのは、「どの機能を使うために、どの範囲を信頼するのか」を説明できるかどうかです。信頼後でもWorkspace Trust editorから状態は変更できます。

次に未知のフォルダーを開いたら、まずステータスバーのRestricted Mode表示を確認してみてください。

すぐに解除するのではなく、必要な機能と対象範囲を言葉にできてから判断すると、VS Codeの便利さと安全確認を両立しやすくなります。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

サイト「インターネットビジネスの世界」運営者。ビジネスプロデューサー、著述業。メルマガやブログを書きながら、好きなことをしてのんびりと生きています。

目次