{"meta":{"title":"在代码中查找现有漏洞","intro":"Copilot Chat 可以帮助查找代码中的常见漏洞并提供修复建议。","product":"GitHub Copilot","breadcrumbs":[{"href":"/zh/copilot","title":"GitHub Copilot"},{"href":"/zh/copilot/tutorials","title":"教程"},{"href":"/zh/copilot/tutorials/copilot-chat-cookbook","title":"GitHub Copilot Chat 指南"},{"href":"/zh/copilot/tutorials/copilot-chat-cookbook/analyze-security","title":"分析安全性"},{"href":"/zh/copilot/tutorials/copilot-chat-cookbook/analyze-security/find-vulnerabilities","title":"查找漏洞"}],"documentType":"article"},"body":"# 在代码中查找现有漏洞\n\nCopilot Chat 可以帮助查找代码中的常见漏洞并提供修复建议。\n\n虽然许多开发人员可能认为这些漏洞属于“常识”，但绝大多数新引入的安全弱点源于诸如跨站脚本（XSS）、SQL 注入和跨站请求伪造（CSRF）等漏洞。 通过遵循安全编码实践，可以缓解这些漏洞，例如使用参数化查询、输入验证，以及避免硬编码敏感数据。 GitHub Copilot 可以帮助检测和解决这些问题。\n\n> \\[!NOTE] 虽然 副驾驶聊天 可以帮助发现一些常见安全漏洞并提供修复方案，但不应依赖 Copilot 进行全面的安全分析。 使用 code scanning 将更彻底地确保代码安全。 有关如何设置 code scanning 的详细信息，请参阅“[配置代码扫描的默认设置](/zh/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-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可以请求 副驾驶聊天 分析代码中的常见安全漏洞，并提供解释及修复方案。\n\n```copilot copy prompt ref=potential-xss\nAnalyze this code for potential security vulnerabilities and suggest fixes.\n```\n\n## 示例响应\n\n> \\[!NOTE] 以下响应是示例。 副驾驶聊天 的回答是不确定的，因此你可能会得到与这里所显示的不同的回答。\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/using-github-copilot/prompt-engineering-for-github-copilot)\n* [使用 GitHub Copilot 的最佳做法](/zh/copilot/using-github-copilot/best-practices-for-using-github-copilot)\n* [关于代码扫描](/zh/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning)"}