Skip to main content

在代码中查找现有漏洞

Copilot 对话助手 可以帮助查找代码中的常见漏洞并提供修复建议。

在本文中

虽然许多开发人员认为它们是“常识”,但新出现的绝大多数安全漏洞都是由于跨站点脚本攻击 (XSS)、SQL 注入和跨站点请求伪造 (CSRF) 等漏洞引起的。 可以通过遵循安全编码实践来缓解这些漏洞,例如使用参数化查询、输入验证,以及避免使用硬编码敏感数据。 GitHub Copilot 可以帮助检测和解决这些问题。

注意

虽然 副驾驶聊天 可以帮助查找一些常见的安全漏洞并帮助修复它们,但不应依赖 Copilot 全面的安全分析。 使用 code scanning 将更彻底地确保代码安全。 有关设置 code scanning的详细信息,请参阅 配置代码扫描的默认设置

示例方案

下面的 JavaScript 代码存在潜在的 XSS 漏洞,如果 name 参数在显示到页面之前未被正确清理,攻击者可能会利用这个漏洞。

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.innerHTML = `Showing results for "${name}"`
}

示例提示

可以要求 副驾驶聊天 分析代码是否存在常见的安全漏洞,并为找到的问题提供解释和修复。

Copilot prompt
Analyze this code for potential security vulnerabilities and suggest fixes.

示例响应

注意

以下响应是示例。 副驾驶聊天 的回答是不确定的,因此你可能会得到与这里所显示的不同的回答。

Copilot 响应漏洞的说明,并建议对代码进行更改以修复它。

function displayName(name) {
  const nameElement = document.getElementById('name-display');
  nameElement.textContent = `Showing results for "${name}"`;
}

延伸阅读