DifySandbox

介绍

DifySandbox是一个轻量、快速、安全的代码运行环境,支持多种编程语言,包括PythonNodejs等,用户在Dify Workflow中使用到的如Code节点、Template Transform节点、LLM节点的Jinja2语法、Tool节点的Code Interpreter等都基于DifySandbox运行,它确保了Dify可以运行用户代码的前提下整个系统的安全性。

特性

  • 多语言支持DifySandbox基于Seccomp,这是一个系统层级的解决方案,从而确保了可以支持多种编程语言,目前支持了PythonNodejs

  • 系统安全:使用白名单策略,只允许运行特定的系统调用,从而确保不会出现意外的绕过。

  • 文件系统隔离:用户代码将运行在一个独立的隔离的文件系统中。

  • 网络隔离:

    • DockerCompose:独立网络Sandbox网络,并使用代理容器进行网络访问,确保内网系统的安全,同时提供了灵活的代理配置方案。

    • K8s:直接使用Exgress配置网络隔离策略即可。

项目地址

你可以直接访问DifySandbox获取项目源码,并遵循项目文档进行部署和使用。

贡献

你可以参考贡献指南来参与到DifySandbox的开发中。

Last updated