
2026/10/23 2:44
OpenShell:自律型 AI エージェントのフラート向けの安全でプライバシーを保護した実行環境
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
OpenShell 0.1.x は、自律型 AI エージェントのフリートを安全に実行するための、厳格なプライバシーポリシーを実装したセキュリティが高く安定したランタイムを導入しています。その最も重要な革新は、実用的なユーザー認証情報がエージェントに直接露出されないことを保証することであり、代わりに OpenShell が専用の Provider を介して承認されたエンドポイントにバインドされたリクエストに対してのみ認証情報を注入します。セキュリティリスクを軽減するため、本システムはサンドボックス化された実行(カーネルレベルの実行制御)によりエージェントのアクセス権限を制限し、ファイルへのアクセス、システムコール、ネットワーク活動を confines するとともに、人的レビュー前のポリシー変更に対する形式検証を実装しています。
現時点で Linux、macOS(Apple Silicon)、Windows(WSL 2 を通じて)に対応しており、サンドボックス、制御平面としての Gateways、Kubernetes サポート(CNI NetworkPolicy の必要あり)といった主要コンポーネントを活用しています。Python、TypeScript、Go、Rust などの言語固有の SDK を用いることで、コア CLI をインストールせずにこのフレームワークへの組み込みを容易に行うことができ、初期セットアップには CLI およびローカル Gateway のための curl インストーラーが用意されています。エコシステムには、エージェントに CLI の使用方法やポリシー記述を教えるための公開 OpenShell スキルが含まれ、GitHub Discussions、Issues を含むコミュニティ参加チャンネル、および SECURITY.md による専用セキュリティレポートイング(標準的な Issues とは別)も提供されています。OpenShell はプロンプトや認証情報などの機密データを含まない匿名運用テレメトリデータを収集しますが、必要に応じてこれを無効化することも可能です。参入障壁を低下させ包括的なサポートを提供することで、OpenShell は組織が多様なオペレーティングシステム上で高度な AI エージェントを安全に実行しつつ、機密インフラストラクチャに対する厳格な制御を維持することを可能にしています。
本文
OpenShell v0.1.x リリースのお知らせ
OpenShell v0.1.x がリリースされました。このバージョンでは、安定したリリースサイクルの確立、新しい隔離原語(isolation primitives)、拡張可能なエクステンション表面の拡大、そして新たな API が採用されています。詳細は 0.1.0 アップグレードガイド をご参照ください。
OpenShell は、自律型 AI エージェントを多数運用するための安全かつ機密性の高いランタイム環境です。エージェントがファイルへの読み取り、パッケージインストール、API 呼び出し、資格情報の活用などを可能にする一方で、データの保護と秘密鍵・ネットワークアクセスの制限を厳格に行います。各エージェントの動作範囲はポリシーで定義され、OpenShell がこれを強制します。
仕組みについて
OpenShell は以下の 2 つの手段により、エージェントの実行可能な動作を統制しています。
- カーネルレベルでの制御: カーネルを計装(instrument)し、ファイルアクセス、システムコール、ネットワーク接続に対してポリシーを強制します。
- 形式的検証に基づくポリシー管理: ポリシー変更が適用される前に、形式的検証を用いてリスクのある新規アクセス(例:新しいホストへの到達や API メソッドの呼び出し)をチェック・フラグ付けし、人間の審査を経て承認されます。
隔離とアクセス制御の詳細
- サンドボックス環境: エージェントは孤立したサンドボックス内で動作します。
- カーネルがファイルアクセスおよびシステムコールを制御。
- すべてのネットワーク接続は、ポリシーチェックを経ずにサンドボックスを離れることができません。
- 資格情報の安全な処理:
- エージェントは実際の資格情報を一切目にはしませんが、承認されたエンドポイント宛てのリクエストに必要なのみ追加されます。
アーキテクチャの概要
ゲートウェイ、監督者(supervisor)、サンドボックスがどのように連携しているかは アーキテクチャ ページを参照してください。
クイックスタート
利用には以下の環境が必要です。
- OS: Linux、Apple シリコン搭載 macOS、または WSL 2(実験的)搭載の Windows。
- コンテナ化技術: Docker、Podman、あるいはホストバチャライズーション。
- サポートマトリクス で詳細を確認してください。
インストールコマンド:
curl -LsSf https://raw.githubusercontent.com/NVIDIA/OpenShell/main/install.sh | sh openshell sandbox create --name demo
- インストーラーにより CLI とローカルゲートウェイがセットアップされます。
- デフォルトのサンドボックスイメージは、エージェント未インストールの最小限の Ubuntu です。
- 実際のエージェントを実行するには、最初のエージェントを起動 をご参照ください(OpenRouter の無料モデルを使用し、新たなアクセスを承認する方法を示します)。
さらに詳しく学ぶ
各コンポーネントの詳細機能は以下の通りです。
- サンドボックス: イメージ管理、ランタイム、GPU 割り当て、ライフサイクル管理など。
- ポリシー: ファイルシステム、ネットワーク、プロセスのルールに加え、変更審査用のアドバイザーとプロバー(prover)。
- プロバイダー: 承認されたエンドポイントでのみ有効な資格情報を保持する推論機能。
- ゲートウェイ: サンドボックス、ポリシー、アクセス管理のための制御プレーン。
- Kubernetes: Helm を使用してゲートウェイをデプロイ可能(CNI は NetworkPolicy を強制する必要があります)。
- 拡張性: ミドルウェア、インタセプタ、コンピューティングドライバーの追加が可能。
- チュートリアル: ポリシーとエージェントに関する段階別の解説記事。
- プレリリースおよび開発ビルド: 今後のリリース版や
ブランチの最新コミットを試す環境。main
エージェントのスキル(Capabilities)
コーディング用エージェント向けに、公衆向けの OpenShell スキルをインストールしてください。
npx skills add NVIDIA/OpenShell
これらのスキルにより、エージェントは以下を学ぶことができます。
-
OpenShell CLI の操作方法
-
サンドボックスポリシーの作成方法
-
ゲートウェイおよび推論ルーティングのデバッグ方法
-
ディレクトリに配置されており、OpenShell ソースコードをクローン・チェックアウトすることなく動作します。skills/
SDK(ソフトウェア開発キット)
SDK はアプリケーションを OpenShell ゲートウェイに接続するためのものです。CLI のインストールには含まれません。SDK とゲートウェイは、できるだけ同じ OpenShell リリース版を使用してください。
| 言語 | インストールコマンド | ドキュメントリンク |
|---|---|---|
| Python | | README |
| TypeScript | (GitHub Packages) | README |
| Go | | README |
| Rust | | インストールと使用方法 |
コミュニティ
- 質問および議論: GitHub Discussions へ。
- バグ報告および機能リクエスト: GitHub Issues を使用し、Issue テンプレートをご利用ください。
- セキュリティ脆弱性: SECURITY.md の指示に従ってください(GitHub Issue は作成しないでください)。
- ロードマップ: OpenShell ロードマップおよび RFC ボード(提案委員会)を参照してください。
- クラウドでの試行: Brev Launchable で利用可能。
OpenShell は「エージェントファースト」の精神で作成されています。開発プロセスも、このプラットフォームが提供するエージェント駆動型ワークフローと同じものを使用しています。
- 開発環境セットアップとコントリビューション: CONTRIBUTING.md
- コーディング規約: AGENTS.md
テレメトリ(データ収集)
OpenShell はプロジェクト改善のために、運用カテゴリとカウントに限定された匿名のテレメトリを収集します。以下のデータは一切収集しません。
- サンドボックス名、ホスト名
- ファイルパス、プロンプト内容
- 資格情報、ユーザーコンテンツ
- プロバイダーまたはモデル名
無効化方法:
- ゲートウェイ上で
を設定。OPENSHELL_TELEMETRY_ENABLED=false - Helm インストールの場合、
を設定。server.telemetryEnabled=false - テレメトリ機能を完全にコンパイル外すことも可能。
詳細は Telemetry ページおよびコミュニティテレメトリレポートをご覧ください。
ご注意および免責事項
本ソフトウェアは自動的に外部資料を検出・アクセス・相互作用します。取得された資料は本ソフトウェアに同梱されるものではなく、それぞれ独立した条件・規定およびライセンスの管轄下にあります。
- 全ての関連する条件・規定およびライセンスの遵守はお客様の責任です。
- 取得された資料が特定のユースケースに対してセキュリティ、完全性、適切性を有することの確認もお客様のお任せです。
- 本ソフトウェアは**「現状のまま」**提供され、いかなる種類の保証も伴いません。
- 著者は取得された資料に関する陳述または保証を行わず、使用または使用不能により生じるいかなる損失・損害・責任についても一切負いません。
- 利用はすべてお客様の独自リスクとなります。
ライセンス
本プロジェクトは Apache License 2.0 の下でライセンスされています。