# Поиск существующих уязвимостей в коде

Copilot Chat может помочь найти распространенные уязвимости в коде и предложить исправления.

Хотя они могут считаться "общими знаниями" многими разработчиками, подавляющее большинство недавно введенных слабых мест безопасности обусловлены уязвимостями, такими как межсайтовые скрипты (XSS), внедрение SQL и межсайтовые подделки запросов (CSRF). Эти уязвимости можно устранить, следуя безопасным методам написания кода, таким как использование параметризованных запросов, проверки входных данных и предотвращения жестко закодированных конфиденциальных данных. GitHub Copilot может помочь обнаружить и устранить эти проблемы.

> \[!NOTE] Хотя Copilot Chat это может помочь выявить распространённые уязвимости безопасности и помочь их исправить, не стоит полагаться на Copilot них для всестороннего анализа безопасности. Использование code scanning обеспечивает более тщательную безопасность вашего кода. Для получения дополнительной информации о настройке code scanningсм. [Настройка настройки по умолчанию для сканирования кода](/ru/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning).

## Пример сценария

Приведенный ниже код JavaScript имеет потенциальную уязвимость XSS, которая может быть использована, если `name` параметр не был правильно санирован перед отображением на странице.

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

## Пример запроса

Вы можете попросить Copilot Chat анализ кода на наличие распространённых уязвимостей безопасности и предоставить объяснения и исправления выявленных проблем.

```copilot copy prompt ref=potential-xss
Analyze this code for potential security vulnerabilities and suggest fixes.
```

## Пример ответа

> \[!NOTE] Следующий ответ является примером. Ответы Copilot Chat являются недетерминированными, поэтому вы можете получить другой ответ, показанный здесь.

Copilot отвечает объяснением уязвимости и предлагает внести изменения в код для её исправления.

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

## Дополнительные материалы

* [Инженерия подсказок для GitHub Copilot Chat](/ru/copilot/concepts/prompting/prompt-engineering)
* [Лучшие практики использования GitHub Copilot](/ru/copilot/get-started/best-practices)
* [Сканирование кода](/ru/code-security/concepts/code-scanning/code-scanning)