# Encontrando vulnerabilidades existentes no código

O chat do Copilot pode ajudar a encontrar vulnerabilidades comuns em seu código e sugerir correções.

Embora possam ser consideradas "conhecimento comum" por muitos desenvolvedores, a grande maioria das falhas de segurança recém-introduzidas se deve a vulnerabilidades, como script entre sites (XSS), injeção de SQL e falsificação de solicitação entre sites (CSRF). Essas vulnerabilidades podem ser mitigadas seguindo práticas de codificação seguras, como usar consultas parametrizadas, validar as entradas e evitar dados embutidos em código. GitHub Copilot pode ajudar a detectar e resolver esses problemas.

> \[!NOTE] Embora Copilot Chat possa ajudar a encontrar algumas vulnerabilidades de segurança comuns e ajudá-lo a corrigi-las, você não deve confiar em Copilot uma análise de segurança abrangente. O uso code scanning garantirá mais detalhadamente que seu código esteja seguro. Para obter mais informações sobre como configurar code scanning, consulte [Como definir a configuração padrão da verificação de código](/pt/code-security/how-tos/find-and-fix-code-vulnerabilities/configure-code-scanning/configure-code-scanning).

## Cenário de exemplo

O código JavaScript abaixo tem uma vulnerabilidade de XSS potencial que pode ser explorada quando o parâmetro `name` não é devidamente higienizado antes de ser exibido na página.

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

## Prompt de exemplo

Você pode pedir Copilot Chat para analisar o código para vulnerabilidades comuns de segurança e fornecer explicações e correções para os problemas encontrados.

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

## Resposta de exemplo

> \[!NOTE] A resposta a seguir é um exemplo. Respostas do Copilot Chat são não determinísticas, portanto, você pode obter uma resposta diferente da mostrada aqui.

Copilot responde com uma explicação da vulnerabilidade e sugeriu alterações no código para corrigi-la.

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

## Leitura adicional

* [Engenharia de prompts para o GitHub Copilot Chat](/pt/copilot/concepts/prompting/prompt-engineering)
* [Práticas recomendadas para usar GitHub Copilot](/pt/copilot/get-started/best-practices)
* [Análise de código](/pt/code-security/concepts/code-scanning/code-scanning)