{"meta":{"title":"维护依赖项的最佳做法","intro":"有关维护您所使用依赖项的指导和建议，以及可提供帮助的 GitHub 安全产品。","product":"安全性和代码质量","breadcrumbs":[{"href":"/zh/code-security","title":"安全性和代码质量"},{"href":"/zh/code-security/concepts","title":"Concepts"},{"href":"/zh/code-security/concepts/supply-chain-security","title":"供应链安全"},{"href":"/zh/code-security/concepts/supply-chain-security/best-practices-for-maintaining-dependencies","title":"依赖项最佳做法"}],"documentType":"article"},"body":"# 维护依赖项的最佳做法\n\n有关维护您所使用依赖项的指导和建议，以及可提供帮助的 GitHub 安全产品。\n\n## 维护依赖项的最佳做法\n\n保持依赖项的最新状态对于维护安全的软件环境至关重要。 以下是一些建议：\n\n**采用以安全为中心的依赖项管理工具**\n\n* 使用并设置可扫描依赖项漏洞并自动建议更新的工具。\n* 确保这些工具已集成到 CI/CD 管道中，以实现持续监控和更新。\n* 在流程中遵循语义化版本控制，以避免破坏性更改。\n\n**定期执行漏洞扫描和审计**\n\n* 定期安排依赖项审计和依赖项扫描，以识别过期或存在漏洞的依赖项。\n\n**自动化安全修补程序管理**\n\n* 将依赖项管理工具配置为自动应用安全修补程序。\n* 为关键安全更新设置自动化拉取请求，以便快速审查和合并。\n\n**对依赖项的使用实施策略**\n\n* 实施策略以强制使用安全版本的依赖项。\n* 使用工具在拉取请求引入漏洞或未更新存在漏洞的依赖项时，阻止其合并。\n\n**在 CI/CD 中集成安全测试**\n\n* 将安全测试工具纳入 CI/CD 管道。\n* 确保依赖项更新会自动进行安全合规性测试。\n\n**使用锁定文件和依赖项固定**\n\n* 使用锁定文件（例如 `package-lock.json`、`yarn.lock`、`Pipfile.lock`）将依赖项固定到已知的安全版本。\n* 定期更新并审查这些锁定文件，确保依赖项保持最新状态且不会引入意外的安全问题。\n\n**监控安全公告**\n\n* 订阅你所使用语言和框架的安全公告。\n* 将安全公告自动集成到开发工作流中，以便及时获知新的漏洞信息。\n* 密切关注依赖项管理工具提供的仪表板。\n* 注意关键更新，尤其是安全修补程序，并优先处理。\n\n**版本控制与变更管理**\n\n* 在版本控制中跟踪依赖项更改（例如，通过自动化拉取请求）。\n\n* 定期进行代码审查，以确保更新不会引入新的漏洞。\n\n**培训与意识提升**\n\n* 教育开发和运维团队了解保持依赖项安全和最新的重要性。\n* 提供有关如何有效使用依赖管理和安全工具的培训。\n\n**漏洞响应计划**\n\n* 在依赖项中发现漏洞时，应制定清晰的事件响应计划。\n* 确保团队知道如何快速处理和修复安全问题。\n\n通过遵循这些做法，可以显著降低过期或存在漏洞的依赖项带来的风险，并维护更加安全的环境。\n\n## GitHub 的帮助方式\n\nGitHub 提供安全功能来帮助维护依赖项：\n\n**依赖项图**：跟踪项目依赖项并识别漏洞。 请参阅“[依赖项关系图](/zh/code-security/concepts/supply-chain-security/dependency-graph)”。\n\n**依赖项评审**：在请求合并之前捕获拉取请求中的不安全依赖项。 此外，依赖项审查操作 可能无法通过检查，并且在分支保护规则要求时，可以防止合并引入漏洞的拉取请求。 请参阅“[依赖项审查](/zh/code-security/concepts/supply-chain-security/dependency-review)”。\n\n\\*\\*\nDependabot\n\\*\\*：自动扫描漏洞、创建警报并打开拉取请求以更新易受攻击或过时的依赖项。 可以将多个更新分组到单个拉取请求中，以简化评审。 请参阅“[Dependabot 警报](/zh/code-security/concepts/supply-chain-security/dependabot-alerts)”。\n\n\\*\\*\nGitHub Advisory Database\n\\*\\*：提供支持 Dependabot漏洞检测的安全公告。 请参阅 [GitHub 通告数据库](/zh/code-security/concepts/vulnerability-reporting-and-management/github-advisory-database)。\n\n**专用漏洞报告**：使维护人员能够在公开披露之前在私有中接收、讨论和修复漏洞报告。\n\n**安全概述**：显示组织的安全状况，其中包含风险存储库、警报趋势和功能启用状态的仪表板。 请参阅“[安全性概述](/zh/code-security/concepts/security-at-scale/security-overview)”。\n\n有关端到端供应链指南，请参阅 [保护端到端供应链](/zh/code-security/tutorials/implement-supply-chain-best-practices/end-to-end-supply-chain-overview)。"}