跳到主要内容

安全性

Langflow UI 是一个 IDE 和代码执行平台,这意味着 Langflow 本身具备执行开发者提供的任意代码的能力。 按照设计,Langflow UI 包含一个代码编辑器,允许开发人员编写和执行任意 Python 代码,并可以完全访问宿主 Langflow 后端进程、文件系统和网络。 此外,一些组件封装并使用了代码执行功能,包括使用 AI 模型根据用户输入生成待执行的代码。

Langflow 既不强制在单个 Langflow 进程内的用户之间进行隔离,也不限制对本地磁盘或网络资源的访问。工作流可见性和用户访问控制是为易用性而非安全强制执行而设计的。用户可以直接访问底层数据库连接和系统资源。对于多租户部署,Langflow 依赖于基础设施层级的安全,而不是应用程序层级的隔离,这意味着您有责任强制执行租户隔离。

注意

您需要对以下事项负责:

  • 强制执行全面的基础设施隔离。
  • 安全地运行工作流,特别是那些使用 LLM 生成的代码或可能包含用户提交代码的用户输入的工作流。
  • 确保最终用户与基于 Langflow 的 API 的交互是端到端安全的,包括静态数据和传输中的数据。

本地开发期间的安全保护

Langflow 是一个代码执行平台,可以完全访问您的本地系统。 您有责任确保您执行的工作流的安全性。

如果 Langflow 可能执行不受信任的代码或 LLM 生成的代码,请考虑使用隔离或容器化的执行环境。更多信息请参见容器化 Langflow 应用程序

第一方部署的安全保护

当您提供由您或您的组织编写的工作流支持的 API 时,您有责任确保基于 Langflow 的 API 为您的最终用户提供安全性。

遵循 API 的行业最佳实践:

  • 使用安全的 API 网关提供身份验证和授权。
  • 确保用户数据得到适当隔离。
  • 对输入和输出进行清理,以防止 XSS 和注入攻击,包括使用正则模式防止 ReDoS 漏洞。

有关设置反向代理的更多信息,请参见使用 Nginx 和 SSL 部署 Langflow。 有关身份验证配置的更多信息,请参见API 密钥和身份验证

第三方部署的安全保护

如果您将 Langflow 作为服务提供给第三方,您必须假设 Langflow 执行的任何代码都可能是恶意的。

Langflow 不提供租户之间的隔离,因此您有责任在基础设施层面强制执行隔离。

  • 使用进程级隔离,防止租户共享单个 Langflow 进程。
  • 使用磁盘级隔离,防止共享访问可写的持久存储。
  • 使用网络级隔离,防止访问私有网络。
  • 使用数据库级隔离,防止访问或修改共享数据库资源。

身份验证和授权必须在 Langflow 容器外部提供并强制执行。 对于数据库等共享服务,请通过凭据和安全策略在外部实施访问限制。

有关更多信息,请参见Kubernetes 上 Langflow 的最佳实践

安全公告

有关安全漏洞、修复和 CVE 的最新信息,请参见 Langflow 安全策略Langflow GitHub 安全公告

如果您在 Langflow 中发现了安全漏洞,Langflow 团队鼓励您通过 GitHub 安全选项卡 负责任地报告。在漏洞经过评估和解决之前,请不要公开披露漏洞。

Search