虽然许多开发人员认为它们是“常识”,但新出现的绝大多数安全漏洞都是由于跨站点脚本攻击 (XSS)、SQL 注入和跨站点请求伪造 (CSRF) 等漏洞引起的。 可以通过遵循安全编码实践来缓解这些漏洞,例如使用参数化查询、输入验证,以及避免使用硬编码敏感数据。 GitHub Copilot 可以帮助检测和解决这些问题。
Note
虽然 Copilot Chat 可以帮助发现一些常见的安全漏洞并帮助修复它们,但你不应仅依赖 Copilot 进行全面的安全分析。 使用安全工具和功能可以更彻底地确保代码安全。 有关 GitHub 安全功能的详细信息,请参阅“GitHub 安全功能”。
示例方案
下面的 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}"`;
}