虽然许多开发者可能认为这些是“常识”,但新出现的安全弱点绝大多数是由于跨站脚本(XSS)、SQL 注入和跨站请求伪造(CSRF)等漏洞导致的。这些漏洞可以通过遵循安全编码实践来缓解,例如使用参数化查询、输入验证以及避免硬编码敏感数据。GitHub Copilot 可以帮助检测并解决这些问题。
注意
虽然 Copilot Chat 能帮助发现一些常见的安全漏洞并协助修复,但不应完全依赖 Copilot 进行全面的安全分析。使用代码扫描可以更彻底地确保代码安全。有关设置代码扫描的更多信息,请参阅 配置代码扫描的默认设置。
示例情景
下面的 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.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.innerHTML = `Showing results for "${name}"`
}
Analyze this code for potential security vulnerabilities and suggest fixes.
Analyze this code for potential security vulnerabilities and suggest fixes.
示例回复
注意
以下响应为示例。Copilot Chat 的回复具有不确定性,您可能会得到与此处显示的不同的响应。
Copilot 会给出漏洞的解释,并建议对代码进行修改以修复问题。
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.textContent = `Showing results for "${name}"`;
}