LangChain 拥有一个庞大的生态体系,与多种外部资源(包括本地和远程文件系统、API 和数据库)深度集成。这些集成使开发者能够构建灵活多变的应用程序,将大语言模型(LLMs)的能力与访问、交互和操作外部资源的能力相结合。
最佳实践
在构建此类应用时,开发者应遵循良好的安全实践:
- 限制权限:将权限范围严格限定在应用程序需求内。授予过宽或过多的权限会引入显著的安全漏洞。为避免此类漏洞,建议根据应用程序特性使用只读凭据、禁止访问敏感资源、采用沙箱技术(如容器化运行)、配置代理以控制外部请求等。]
- 预见潜在滥用:与大语言模型(LLMs)类似,人类也会犯错。始终假设任何系统访问或凭据可能以权限允许的方式被使用。例如,若某对数据库凭据允许删除数据,则应假定任何能使用该凭据的 LLM 可能实际执行数据删除操作。
- 纵深防御: 没有完美的安全技术。微调和良好的链式设计可降低,但无法完全消除,大语言模型(LLM)出现错误的概率。建议采用多层防御策略而非依赖单一防护层。例如:同时使用只读权限和沙箱技术,确保 LLM 仅能访问明确授权的数据。]
未遵循上述实践可能带来的风险包括,但不限于:
- 数据损坏或丢失
- 未经授权的访问敏感信息
- 关键资源性能或可用性受损
示例场景与缓解策略:
-
用户可能要求具有文件系统访问权限的智能体删除本应未被删除的文件,或读取包含敏感信息的文件内容。为缓解此风险,限制智能体仅能访问特定目录,并仅允许其读写安全文件。考虑进一步对智能体进行沙盒化,通过容器运行来增强隔离。
-
用户可能要求具有外部API写入权限的智能体向API写入恶意数据,或删除API数据。为缓解此风险,为智能体分配只读API密钥,或限制其仅能访问已具备抗滥用能力的端点。
-
用户可能要求具有数据库访问权限的智能体删除表或修改模式。为缓解此风险,限制凭据范围仅限智能体需要访问的表,并考虑为智能体颁发只读凭据。
如果您正在开发访问文件系统、API或数据库等外部资源的应用程序,建议与公司安全团队沟通,以确定最佳的应用设计和安全方案。
报告开源漏洞
通过LangChain开源VDP漏洞赏金计划向Intigriti平台提交LangChain开源项目的安全漏洞报告。
报告LangSmith漏洞
通过LangChain VDP漏洞赏金计划向Intigriti平台提交与LangSmith相关的安全漏洞报告。
其他安全关注事项
对于其他安全相关事项,请联系我们:security@langchain.dev。
官方原文:src/oss/security-policy.mdx · 非官方翻译,译文由 AI 生成,以英文原文为准。
Last modified on November 3, 2026