Skip to main content

在代码中查找现有漏洞

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

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

Note

虽然 Copilot Chat 可以帮助发现一些常见的安全漏洞并帮助修复它们,但你不应仅依赖 Copilot 进行全面的安全分析。 使用 code scanning 将更彻底地确保代码安全。 有���如何设置 code scanning 的详细信息,请参阅“配置代码扫描的默认设置”。

示例方案

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

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

示例提示

你可以请求 Copilot Chat 分析代码中的常见安全漏洞,并提供它所发现的问题的解释和修复方案。

Analyze this code for potential security vulnerabilities and suggest fixes.

示例响应

Note

以下响应是示例。 Copilot Chat 响应是不确定的,所以你可能会得到与这里所显示的不同的响应。

Copilot 会提供关于漏洞的解释,并建议对代码进行更改以修复该问题。

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

其他阅读材料