Хотя они могут считаться "общими знаниями" многими разработчиками, подавляющее большинство недавно введенных слабых мест безопасности обусловлены уязвимостями, такими как межсайтовые скрипты (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}"`;
}