{"meta":{"title":"在代码中查找现有漏洞","intro":"Copilot 对话助手 可以帮助查找代码中的常见漏洞并提供修复建议。","product":"GitHub Copilot","breadcrumbs":[{"href":"/zh/copilot","title":"GitHub Copilot"},{"href":"/zh/copilot/tutorials","title":"教程"},{"href":"/zh/copilot/tutorials/copilot-cookbook","title":"GitHub Copilot 指南"},{"href":"/zh/copilot/tutorials/copilot-cookbook/analyze-security","title":"分析安全性"},{"href":"/zh/copilot/tutorials/copilot-cookbook/analyze-security/find-vulnerabilities","title":"查找漏洞"}],"documentType":"article"},"body":"# 在代码中查找现有漏洞\n\nCopilot 对话助手 可以帮助查找代码中的常见漏洞并提供修复建议。\n\n虽然许多开发人员认为它们是“常识”，但新出现的绝大多数安全漏洞都是由于跨站点脚本攻击 (XSS)、SQL 注入和跨站点请求伪造 (CSRF) 等漏洞引起的。 可以通过遵循安全编码实践来缓解这些漏洞，例如使用参数化查询、输入验证，以及避免使用硬编码敏感数据。 GitHub Copilot 可以帮助检测和解决这些问题。\n\n> \\[!NOTE] 虽然 Copilot Chat 可以帮助查找一些常见的安全漏洞并帮助修复它们，但不应依赖 Copilot 全面的安全分析。 使用 code scanning 将更彻底地确保代码安全。 有关设置 code scanning的详细信息，请参阅 [配置代码扫描的默认设置](/zh/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning)。\n\n## 示例方案\n\n下面的 JavaScript 代码存在潜在的 XSS 漏洞，如果 `name` 参数在显示到页面之前未被正确清理，攻击者可能会利用这个漏洞。\n\n```javascript id=potential-xss\nfunction displayName(name) {\n  const nameElement = document.getElementById('name-display');\n  nameElement.innerHTML = `Showing results for \"${name}\"`\n}\n```\n\n## 示例提示\n\n可以要求 Copilot Chat 分析代码是否存在常见的安全漏洞，并为找到的问题提供解释和修复。\n\n```copilot copy prompt ref=potential-xss\nAnalyze this code for potential security vulnerabilities and suggest fixes.\n```\n\n## 示例响应\n\n> \\[!NOTE] 以下响应是示例。 Copilot Chat 的回答是不确定的，因此你可能会得到与这里所显示的不同的回答。\n\nCopilot 响应漏洞的说明，并建议对代码进行更改以修复它。\n\n```javascript\nfunction displayName(name) {\n  const nameElement = document.getElementById('name-display');\n  nameElement.textContent = `Showing results for \"${name}\"`;\n}\n```\n\n## 延伸阅读\n\n* [GitHub Copilot 对话助手的提示设计](/zh/copilot/concepts/prompting/prompt-engineering)\n* [使用 GitHub Copilot 的最佳做法](/zh/copilot/get-started/best-practices)\n* [代码扫描](/zh/code-security/concepts/code-scanning/code-scanning)"}