Dify
0.12.0 (commit 625aace)融合可视化 LLM 编排、RAG 流程与 Agent 工具的平台。
本项独立技术评估严格针对 Dify 0.12.0 (commit 625aace) 版本的默认架构机制与工程特征观察,不代表对任何后续上游版本或您具体业务系统的安全背书或生产放行批准。Agent 在生产环境中的实际安全边界,严格取决于您的外置工具沙箱、网络出站白名单与两阶段审批流设计。
评审协议 v1.1;应在 2026年12月30日 前复核。披露状态:不适用——本档案记录公开架构观察,未开启私下漏洞披露。
证据等级:A = 可复现观察;B = 版本关联文档或源码;C = 证据不足或超出评审范围。
部署证据与观察范围概要
独立代码沙箱与工作流执行上限提供了有限控制,但工具权限、Prompt 信任、凭据以及外部写入恢复仍由部署方负责。
五维工程控制边界与依赖说明
代码节点通过内部网络调用独立沙箱服务,但沙箱默认经 SSRF 代理开启网络访问,其他工作流工具也不受这个代码专用边界保护。
自托管配置具有工作流总步数与总时间上限,复核源码中的 Agent 循环也有上限;这些并非每个节点都必须配置的速率限制。
可以配置内容审核钩子,但默认控制不能证明检索文档或工具输出可被下游模型当作可信指令。
系统记录工作流与节点执行状态,但复核源码不能证明已经提交到外部系统的写入会被自动回滚。
工作流运行记录包含状态、步数、耗时与 Token 字段,并支持可选追踪集成;保留、脱敏、访问和外部审计导出取决于部署配置。
企业部署建议补齐的硬控制
- 在暴露自托管环境前替换默认沙箱与服务凭据
- 非必要时关闭沙箱网络;确需联网时限制 SSRF 代理与出站目标
- 为每个外部工具单独限定凭据权限,并对高影响写入设置审批
- 为修改外部系统的工作流增加幂等键与补偿动作
概述
Dify 0.12.0 将可视化工作流、Agent 循环、RAG、外部工具和独立代码执行服务组合在一起。固定源码提供了实用的执行上限并记录工作流状态,但沙箱只覆盖代码节点而非所有集成,也不会让检索内容或工具输出天然可信。
审查范围与版本基线
- 官方仓库:langgenius/dify。
- 评审版本:
0.12.0(Commit625aace)。 - 许可证边界:固定版本的 LICENSE 基于 Apache-2.0 并附加了额外条件,包括对部分多租户和前端使用方式的限制,因此本档案不再将其简写为纯 Apache-2.0。
- 目标执行模式:通过自托管 Docker Compose 运行包含代码、模型、检索、HTTP 和工具节点的工作流。
- 主要证据来源:固定版本的 Docker Compose 配置、Agent Runner、工作流引擎与工作流持久化模型。
- 未覆盖范围:Dify Cloud 控制、运行时渗透测试、独立版本的沙箱实现、插件及后续 1.x 版本。
已观察到的控制与源码证据
- 独立代码沙箱服务:
默认 Compose 拓扑通过内部网络将代码执行请求发送到
dify-sandbox:0.2.10。网络访问默认经 SSRF 代理开启,仓库也提供了要求部署方替换的占位服务凭据。 - 工作流与 Agent 上限: Compose 默认将工作流限制为 500 个步骤和 1,200 秒;复核版本的 Agent Runner 将配置的迭代数限制在五次,并增加终止处理轮次。这些限制能停止后续执行,但不能撤销已完成副作用。
- 工作流状态记录: 持久化模型记录状态、耗时、总步数、Token、输入、输出和错误字段,并支持可选追踪集成;保留、脱敏和访问仍由部署方控制。
待验证假设与部署依赖
- 工具与凭据隔离: 代码沙箱不会自动隔离 HTTP 节点、模型服务、检索服务或外部工具,它们的凭据和权限需要分别限定。
- 间接提示注入抵抗能力: 系统可以配置内容审核,但本轮没有运行对抗性复现,源码也不能证明检索内容与工具指令之间存在默认信任边界。
- 外部事务恢复: 后续节点失败不代表此前写入 CRM、数据库或 API 的变更会被自动回滚;幂等和补偿仍是应用责任。
部署证据与观察范围概要
Dify 0.12.0 提供独立代码执行服务、工作流级上限、受限 Agent 迭代和持久化运行记录。生产使用仍需完成默认凭据替换、出站网络策略、逐工具授权、不可信内容处理与外部写入恢复设计。
说明:本档案仅依据 Dify 0.12.0 及其仓库配置进行源码观察,不认证沙箱镜像、Dify Cloud、插件、后续版本或任何具体部署。
准备在企业内部定制或部署 Dify?
开源基线评测仅能针对默认通用环境。BartsAI 为工程团队提供针对具体业务数据库连接、私有 API 调用权限及企业级发布门槛的专属 Launch Gate 准入审查。