Files
2025-07-16 16:42:34 +08:00
..
2025-07-16 16:42:34 +08:00

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: DifySandbox
---

### はじめに

`DifySandboxディファイサンドボックス`は、PythonやNode.jsなど複数のプログラミング言語に対応した、軽量・高速・安全なコード実行環境です。Dify Workflowの様々な要素コードード、テンプレート変換ード、LLMードのJinja2構文、ツールードのコードインタプリターなどの基盤となる実行環境として機能します。DifySandboxは、ユーザーが提供したコードを実行しつつ、システム全体のセキュリティを確保します。

### 特徴
- **複数言語対応**DifySandboxはSeccompというシステムレベルのソリューションをベースに構築され、複数のプログラミング言語をサポートしています。現在はPythonとNode.jsに対応しています。
- **システムセキュリティ**:予期せぬセキュリティ侵害を防ぐため、特定のシステムコールのみを許可する許可リストポリシーを採用しています。
- **ファイルシステムの隔離**:ユーザーのコードは独立した隔離されたファイルシステム環境で実行されます。
- **ネットワーク隔離**
    - **DockerCompose環境**専用のSandboxネットワークとプロキシコンテナを使用してネットワークアクセスを提供します。これにより、内部ネットワークのセキュリティを保ちつつ、柔軟なプロキシ設定が可能になります。
    - **Kubernetes環境**Egressポリシーを用いて直接ネットワーク隔離戦略を設定できます。

### インストール依存関係

DifySandboxプロジェクトをインストールおよび展開する前に、以下の依存関係要件を満たしていることを確認してください

1. **システム依存関係**

Linuxディストリビューションに応じて、以下のコマンドを実行して必要なシステムコンポーネントをインストールします

- Ubuntu/Debian

```bash
sudo apt-get update
sudo apt-get install pkg-config gcc libseccomp-dev git wget
```

- CentOS

```bash
sudo yum install pkgconfig gcc libseccomp-devel git wget
```

2. **Go言語環境**

Go開発環境をインストールしますGo 1.20.6以上を推奨):

```bash
# Go 1.20.6をインストール
sudo apt-get install -y golang-1.20.6
```

インストールを確認します:

```bash
go version  # インストールされたGoバージョンを表示
```

3. **Python環境設定**

**サンドボックス環境の準備**

Python 3.10以上を推奨します。

**事前インストール済み依存関係管理**

DifySandboxには以下のPython依存関係があらかじめ設定されています

- `http` - 基本的なネットワークライブラリ
- `jinja2` - LLMプロンプト処理用のテンプレートエンジン
- `requests` - HTTPクライアントライブラリ

**カスタム依存関係の追加**

追加のPython依存関係が必要な場合は、以下の手順に従ってください

1. プロジェクトのルートディレクトリにある`dependencies/python-requirements.txt`ファイルを見つけます。
2. 必要なパッケージ名とバージョンをファイルに追加します。権限変更が必要な場合は、[FAQ](https://github.com/langgenius/dify-sandbox/blob/main/FAQ)を参照してください。
3. DifySandboxを再構築します。

<Warning>
    新しい依存関係を追加すると、追加の権限要件が発生する可能性があります。セキュリティへの影響を慎重に評価してください。潜在的なセキュリティリスクを完全に制御できない場合は、権限設定を変更しないことをお勧めします。
</Warning>

### 貢献

`DifySandbox`の開発に参加する方法については、[貢献ガイド](contribution)をご参照ください。

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[このページを編集する](https://github.com/langgenius/dify-docs/edit/main/ja-jp/development/backend/sandbox/README.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)