`DifySandbox(ディファイサンドボックス)`は、PythonやNode.jsなど複数のプログラミング言語に対応した、軽量・高速・安全なコード実行環境です。Dify Workflowの様々な要素(コードノード、テンプレート変換ノード、LLMノード、ツールノードのコードインタプリターなど)の基盤となる実行環境として機能します。DifySandboxは、ユーザーが提供したコードを実行しつつ、システムのセキュリティを確保します。 ### 特徴 - **複数言語対応**:DifySandboxはSeccompをベースに構築され、複数のプログラミング言語をサポートする低レベルのセキュリティ機構を実現しています。現在はPythonとNode.jsに対応しています。 - **システムセキュリティ**:予期せぬセキュリティ侵害を防ぐため、特定のシステムコールのみを許可する許可リストポリシーを採用しています。 - **ファイルシステムの隔離**:ユーザーのコードは独立したファイルシステム環境で実行されます。 - **ネットワーク隔離**: - **DockerCompose環境**:専用のSandboxネットワークとプロキシコンテナを使用してネットワークアクセスを提供します。これにより、内部ネットワークのセキュリティを保ちつつ、柔軟なプロキシ設定が可能になります。 - **Kubernetes環境**:Egressポリシーを用いて直接ネットワーク隔離戦略を設定できます。 ### プロジェクトリポジトリ プロジェクトのソースコードの入手や、導入・使用方法に関する詳細な情報については、[DifySandbox](https://github.com/langgenius/dify-sandbox)リポジトリをご覧ください。 ### 貢献 `DifySandbox`の開発に参加する方法については、[貢献ガイド](contribution.md)をご参照ください。