最佳实践
构建这类应用时,开发者应遵循良好的安全实践:- 限制权限:根据应用的具体需求限定权限范围。授予过宽或过高的权限可能引入严重安全漏洞。为避免这类漏洞,请根据应用需要考虑使用只读凭据、禁止访问敏感资源、使用沙箱技术(例如在容器中运行)、指定代理配置以控制外部请求等措施。
- 预判潜在误用:人会出错,大语言模型 (LLM) 也会出错。始终假设任何系统访问权限或凭据都可能以其权限允许的任何方式被使用。例如,如果一组数据库凭据允许删除数据,最安全的假设是任何能够使用这些凭据的 LLM 实际上都可能删除数据。
- 纵深防御:没有任何安全技术是完美的。微调和良好的链设计可以降低大语言模型 (LLM) 出错的概率,但无法完全消除这种可能性。最好组合多层安全方法,而不是依赖任何单一防御层来确保安全。例如,同时使用只读权限和沙箱,确保 LLM 只能访问明确供其使用的数据。
- 数据损坏或丢失。
- 未授权访问机密信息。
- 关键资源的性能或可用性受损。
- 用户可能要求有文件系统访问权限的代理删除不应删除的文件,或读取包含敏感信息的文件内容。为缓解此风险,将代理限制为只能使用特定目录,并且只允许它读取或写入可安全读写的文件。还可以考虑通过在容器中运行代理来进一步沙箱化。
- 用户可能要求对外部 API 有写入权限的代理向 API 写入恶意数据,或从该 API 删除数据。为缓解此风险,请向代理提供只读 API key,或限制它只能使用已经能够抵御这类误用的端点。
- 用户可能要求有数据库访问权限的代理删除表或修改 schema。为缓解此风险,将凭据范围限定为代理需要访问的表,并考虑发放 READ-ONLY 凭据。
报告 OSS 漏洞
请按照以下流程报告与 LangChain 开源项目相关的安全漏洞:- 提交 security advisory:在漏洞所在 GitHub repository 的 Security 标签页中提交。
- 发送邮件:发送邮件到
security@langchain.dev,告知你已提交安全问题以及提交所在的 repository。
Bug bounty 资格
LangChain 欢迎所有 LangChain 库的安全漏洞报告。不过,只有以下包中的漏洞可能获得临时 bug bounty:- LangChain 团队拥有并维护的核心库:
langchain-core、langchain(v1)、langgraph以及相关 checkpointer 包(或其 JavaScript 等价包) - LangChain 团队维护的热门集成(例如
langchain-openai、langchain-anthropic等,或其 JavaScript 等价包)
langchain-community,由于它由社区驱动,因此不具备 bug bounty 资格,但 LangChain 仍会接受并处理报告。
范围之外的目标
以下内容不在安全漏洞报告范围内:- langchain-experimental:这个已归档 repository 用于实验性代码,不在安全报告范围内(请参阅包警告)。
- 示例和示例应用:示例代码和演示应用不在安全报告范围内。
- 带有安全说明的代码:这会逐案决定,但通常不在范围内,因为相关代码已经在文档中提供了开发者应遵循的应用安全指导。
- LangSmith 相关 repository 或 API:请参阅下面的报告 LangSmith 漏洞。
报告 LangSmith 漏洞
请通过邮件向security@langchain.dev 报告与 LangSmith 相关的安全漏洞。
- LangSmith 站点:https://smith.langchain.com?utm_source=docs&utm_medium=cta&utm_campaign=langsmith-signup&utm_content=oss-security-policy
- SDK 客户端:https://github.com/langchain-ai/langsmith-sdk
其他安全问题
如有任何其他安全问题,请通过security@langchain.dev 联系 LangChain。
Connect these docs to Claude, VSCode, and more via MCP for real-time answers.

