最佳实践
在构建此类应用程序时,开发者应牢记遵循良好的安全实践:- 限制权限:将权限范围具体限定于应用程序的需求。授予广泛或过度的权限可能会引入重大的安全漏洞。为避免此类漏洞,请考虑使用只读凭证、禁止访问敏感资源、使用沙盒技术(例如在容器内运行)、指定代理配置以控制外部请求等,具体取决于您的应用程序。
- 预见潜在的滥用:正如人类会犯错一样,大型语言模型(LLM)也可能出错。始终假设任何系统访问或凭证都可能以权限允许的任何方式被使用。例如,如果一对数据库凭证允许删除数据,那么最安全的做法是假设任何能够使用这些凭证的 LLM 都可能实际删除数据。
- 纵深防御:没有完美的安全技术。微调和良好的链设计可以减少但不能消除大型语言模型(LLM)犯错的可能性。最好结合多种分层安全方法,而不是依赖任何单一防御层来确保安全。例如:同时使用只读权限和沙盒技术,确保 LLM 只能访问明确供其使用的数据。
- 数据损坏或丢失。
- 未经授权访问机密信息。
- 关键资源的性能或可用性受损。
- 用户可能要求具有文件系统访问权限的代理删除不应删除的文件或读取包含敏感信息的文件内容。为缓解此问题,将代理限制为仅使用特定目录,并仅允许其读取或写入安全的文件。考虑通过在容器中运行代理来进一步对其进行沙盒化。
- 用户可能要求具有外部 API 写入权限的代理向 API 写入恶意数据或从该 API 删除数据。为缓解此问题,为代理提供只读 API 密钥,或将其限制为仅使用已能抵抗此类滥用的端点。
- 用户可能要求具有数据库访问权限的代理删除表或修改模式。为缓解此问题,将凭证范围限定为代理需要访问的表,并考虑发放只读凭证。
报告开源漏洞
请使用以下流程报告与 LangChain 开源项目相关的安全漏洞:- 在漏洞存在的 GitHub 仓库的“Security”选项卡上提交安全公告。
- 发送电子邮件至
security@langchain.dev,通知我们您已提交安全问题以及提交的仓库。
漏洞赏金资格
我们欢迎所有 LangChain 库的安全漏洞报告。但是,我们可能仅对以下软件包中的漏洞提供临时漏洞赏金:- LangChain 团队拥有和维护的核心库:
langchain-core、langchain(v1)、langgraph及相关检查点软件包(或其 JavaScript 等效项) - LangChain 团队维护的流行集成(例如
langchain-openai、langchain-anthropic等,或其 JavaScript 等效项)
langchain-community,由于其社区驱动的性质,不符合漏洞赏金资格,但我们将接受并处理报告。
超出范围的目标
以下内容不属于安全漏洞报告的范围:- langchain-experimental:此仓库用于实验性代码,不在安全报告范围内(请参阅软件包警告)。
- 示例和示例应用程序:示例代码和演示应用程序不在安全报告范围内。
- 带有安全通知的代码:这将根据具体情况决定,但很可能不在范围内,因为代码已附带开发者应遵循的指南文档,以确保其应用程序安全。
- LangSmith 相关仓库或 API:请参阅下面的报告 LangSmith 漏洞。
报告 LangSmith 漏洞
请通过电子邮件将与 LangSmith 相关的安全漏洞报告至security@langchain.dev。
- LangSmith 站点:https://smith.langchain.com
- SDK 客户端:https://github.com/langchain-ai/langsmith-sdk
其他安全问题
对于任何其他安全问题,请通过security@langchain.dev 联系我们。
通过 MCP 将这些文档连接到 Claude、VSCode 等 以获取实时答案。

