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