Security

2026 DeepSeek Harness Mac サンドボックスは安全か:Seatbelt 受け入れチェックリスト

2026 DeepSeek Harness Mac サンドボックスは安全か:Seatbelt 受け入れチェックリスト

Seatbeltを使うMac上のDeepSeek Harnessは、ファイル書き込みの防護としては採用できますが、完全なホスト・ネットワーク・プロセス隔離とは扱えません。受け入れ条件は、read-onlyまたはworkspace-writeが実際に効き、境界外の書き込みが拒否され、ランナー障害時に実行が停止し、権限拡大が明示承認を要求することです。個人管理の信頼できるコードなら本機で進められますが、不審なリポジトリや機密キーを扱うタスクは専用リモートMacか、さらに強い隔離環境へ移します。

個人開発者は、日常の作業フォルダーをAgentに渡す前の確認に使えます。セキュリティ・プラットフォーム担当者は、Seatbeltの能力を実行可能な検査項目へ変換できます。チーム責任者は、共有Mac、専用リモートMac、より強い隔離環境のどれを選ぶか判断できます。

※ 最終更新:2026年8月21日。バージョン、サンドボックス仕様、Providerの扱いは、公式Release一覧公式サンドボックス仕様公式Harnessページを基に確認しています。developer previewのため、互換性を壊す変更が入り得ます。

合格ラインと適用範囲

DeepSeek HarnessのMacローカルバックエンドは、Seatbeltとsandbox-execを利用します。後者はAppleからdeprecatedと扱われていますが、現時点ではmacOSに提供されています。将来の削除は確定事項ではありません。プロジェクトの公式文書も、この実装に依存する場合は環境確認が必要だと示しています。Appleのサンドボックス設計資料も、サンドボックスをOSリソースへのアクセス制御として説明しており、Agent全体の安全性を保証するものではありません。

最低限、次の4項目を満たさない環境は本番運用に進めません。

  • 制限モードが表示だけでなく実際の実行に適用されている
  • 作業フォルダー外への書き込みが拒否される
  • サンドボックスランナーが利用不能なら、非隔離実行へ切り替わらない
  • danger-full-accessなどの広い権限は、理由と承認なしに使えない

DeepSeek HarnessはMITライセンスですが、モデル呼び出し、自社運用の推論環境、Macの利用費まで無料になる意味ではありません。ライセンスと運用コストは分けて評価します。

ファイル境界の検査

公式文書上のread-onlyは、Agentによる変更範囲を抑えるためのモードです。workspace-writeは指定したワークスペースへの書き込みを許可する設計です。一方、danger-full-accessは制約を外すため、頻繁な拒否を解決する通常設定にはできません。詳細なポリシーの解釈は公式ポリシー解析文書に従います。

検査対象 read-only workspace-write 合格記録
ワークスペース内の既存ファイル 読み取り結果を確認 変更可否を確認 実体パス、コマンド、結果
ワークスペース外のファイル 書き込み拒否を確認 原則として拒否を確認 拒否エラーと対象パス
テンポラリ領域 読み書きの扱いを個別確認 OS・ポリシー依存の結果を記録 実際の保存先
相対パス・シンボリックリンク 解決後の境界を確認 解決後の境界を確認 表面上と実体の両方

検査は次の順番で実施します。

  1. 専用の検証用ワークスペースと、その外側にある検証用ファイルを用意します。
  2. read-onlyで、ワークスペース内の読み取り、内側への書き込み、外側への書き込みを別々に実行します。
  3. workspace-writeに切り替え、同じ3操作を繰り返します。
    4.テンポラリ領域への保存と、相対パス、..、シンボリックリンク経由の書き込みを検査します。
  4. コマンド、解決後の絶対パス、ポリシーモード、終了結果、エラー本文を記録します。
  5. 実行後にファイルのハッシュと更新時刻を確認し、拒否されたはずの対象に変更がないことを確認します。

ここで重要なのは、../outside.txtという文字列を拒否したかではありません。リンクや相対指定を解決した後、どのファイルへ到達したかが検査対象です。表面上のパスだけをログに残す検証は不十分です。

失敗時の停止動作

通常のコマンド失敗と、ファイルアクセス拒否と、ランナー障害は別の結果です。公式Shellサブシステム文書とサンドボックス仕様を参照し、受け入れ記録でも別分類にします。

事象 見るべき結果 不合格となる挙動
コマンド自体の失敗 コマンドの終了結果 原因不明の再実行
禁止パスへのアクセス ファイルアクセス拒否 別経路で自動再実行
sandbox-execの欠落・実行不能 SANDBOX_UNAVAILABLE 非隔離モードへの移行
ポリシー設定の拒否 ランナー失敗として停止 危険な既定値で続行

sandbox-execを実行できない状態、ポリシーを適用できない状態、ランナーが設定を拒否する状態を意図的に作り、コマンドが実行されないことを確認します。公式実装が掲げるfail-closedが、実際の環境でも成立するかが判断点です。

注意:エラーが表示されたことだけでは合格になりません。SANDBOX_UNAVAILABLEが返り、対象コマンドが隔離なしで実行されていないことまで、プロセス記録とファイル差分で確認します。

権限拡大の扱い

Agentがより広いsandbox_permissionsを要求する場合、要求理由が具体的であることが必要です。「ビルドに必要」だけでは足りません。対象パス、必要な操作、今回だけ必要なのか、拒否した場合の代替策を承認画面または監査ログに残します。

受け入れ試験では、次の4ケースを分けます。

  • 拒否した場合:コマンドは実行されない
  • 利用者がキャンセルした場合:コマンドは実行されない
  • 承認サービスが利用不能な場合:安全側へ停止する
  • 承認した場合:今回の呼び出しだけが広い権限で実行される

一度承認した権限が、後続の別コマンドへ自動継承されないことも確認します。danger-full-accessは例外対応として監査対象にし、拒否が多いからという理由で常用しません。

自社運用モデルと認証情報

Seatbeltがファイル書き込みを制限しても、モデルへのリクエスト、ネットワーク接続、APIキーの保管まで安全になるわけではありません。自社運用のDeepSeek V4やOpenAI互換エンドポイントを接続する場合、Harnessを動かすMacと推論エンドポイントを別コンポーネントとして図にします。

公式Provider設定ガイドに基づき、少なくとも次を確認します。

  • base URLがどこから読み込まれるか
  • Provider IDがプロジェクト設定で変更可能か
  • APIキーが環境変数、秘密管理機能、設定ファイルのどこに存在するか
  • リクエストログ、エラー、シェル履歴にキーが残らないか
  • 作業フォルダー内の編集可能な設定で、信頼済み端末へ接続先を差し替えられないか

受け入れのポイントは、Agentに見せる作業領域と、推論端末へ接続する秘密を同じ場所に置かないことです。プロジェクト設定が編集可能なら、認証情報はその設定から参照できない仕組みにします。接続先の変更が必要な場合は、作業フォルダー外の管理設定と明示承認を使います。

本機運用と専用Macの分岐

安全性の判断は、サンドボックスのモード名だけでは決まりません。コードの信頼度、共有利用者、連続稼働、認証情報の機密度、障害後の復旧方法を組み合わせます。

条件 管理された本機 専用リモートMac より強い隔離環境
コードの信頼度 自作・レビュー済み チーム管理済み 不審・未検証
利用者 単独 限定されたチーム 多数・不特定
認証情報 低機密 分離保管 高機密・強い監査が必要
障害復旧 手動で可能 再構築手順あり 使い捨て・復元可能
採用判断 4項目の検証後 専用アカウントと限定ディレクトリ Mac単体のSeatbeltで証明できない場合

個人の信頼できるプロジェクトで、4つの最低条件をすべて満たすなら本機運用が現実的です。共有チームの継続運用では、専用のリモートMacに利用者、作業領域、認証情報を分ける方が監査しやすくなります。

不可信コード、境界を証明できないランナー、物理的な分離が必要な秘密を扱う場合は、導入を止めます。Macを変えるだけで解決しない場合は、より強い隔離方式を選びます。既存環境のMac上のAgent認証情報管理も、サンドボックス検証とは別の項目として確認してください。

受け入れ記録の残し方

受け入れ表には、実行日時、Harnessの版、macOSの版、モード、実体パス、コマンド、終了結果、承認者、ファイル差分を残します。公式Releaseでは、2026年8月19日時点の最新可視版がv0.1.0-rc.8のプレリリースです。Releaseページで版を固定し、正式版が出た場合は同じ試験をやり直します。

developer previewの間は、互換性を壊す変更を前提に運用します。正式版、バックエンド変更、ポリシーの意味変更、macOSでのsandbox-exec提供状況の変化があれば、過去の合格記録をそのまま流用しません。

よくある確認

作業フォルダー外の書き込み

read-onlyとworkspace-writeの差は、許可された書き込み範囲です。どちらも「パス文字列を見ているだけ」と考えず、解決後のファイル、リンク先、テンポラリ保存先を確認します。外部書き込みが成功した場合は、Agentの指示内容ではなくポリシー適用そのものを調査します。

sandbox-exec障害時の挙動

sandbox-execがない場合に重要なのは、エラーの見た目ではなく実行停止です。SANDBOX_UNAVAILABLEの返却、子プロセスが起動していないこと、ファイル差分が発生していないことをセットで記録します。自動的な非隔離フォールバックがあれば、導入を止めます。

DeepSeek V4の端末とキー

自社運用のDeepSeek V4へ接続する際は、Agentのワークスペースから認証情報を読み書きできない構成にします。base URLとProvider IDを編集可能なプロジェクト設定に任せず、管理領域、秘密管理機能、承認済みの実行環境で管理します。ログのマスキングも必須です。

運用環境を見直す判断

現在のMacが共有利用で、長時間稼働し、作業領域の初期化もできず、推論用キーを同一ユーザーが扱っているなら、Seatbeltだけで補う設計には限界があります。利用者間の権限が混ざること、障害後に汚染状態を戻せないこと、監査ログを分離しにくいことが実際の弱点です。

その条件では、専用のリモートMacへHarnessを移し、作業ディレクトリと秘密を分離する方が管理しやすくなります。必要な環境のMacレンタル料金を確認し、短期検証なのか継続運用なのかを分けて比較してください。既存Macで境界試験、権限試験、fail-closed試験を完了できない場合は、移行を急ぐより先に検証可能な専用環境を用意するのが安全です。

低リスクの個人作業なら本機、共有チームと継続稼働なら専用リモートMac、不可信コードや高機密情報ならさらに強い隔離環境。この分岐で判断すれば、Seatbeltを過大評価せずにDeepSeek Harnessを運用できます。現在のMacでこの条件を満たせない場合に限り、ProxyMacのリモートMacを一時的な検証環境、または専用運用環境として比較する価値があります。

サンドボックス検証に、専用のリモートMacを

日常利用の端末と検証環境を分離したい場合は、ProxyMacの専用Mac mini M4をご利用いただけます。
専用物理ノード上でSSHやVNC、ブラウザから接続できるため、隔離設定や権限境界を実際のmacOS環境で確認できます。