Bien qu’ils soient considérés comme des « connaissances communes » par de nombreux développeurs, la grande majorité des faiblesses de sécurité nouvellement introduites sont dues à des vulnérabilités telles que l’injection de scripts intersite (XSS), l’injection SQL et la falsification de requête intersite (CSRF). Ces vulnérabilités peuvent être atténuées en suivant des pratiques de codage sécurisées, telles que l'utilisation de requêtes paramétrées, la validation des entrées et l'absence de données sensibles codées en dur. GitHub Copilot peut vous aider à détecter et résoudre ces problèmes.
Remarque
Bien que Discussion avec Copilot puisse vous aider à détecter certaines vulnérabilités de sécurité courantes et à les corriger, vous ne devez pas vous appuyer sur Copilot pour une analyse de sécurité complète. L’utilisation code scanning garantit plus soigneusement que votre code est sécurisé. Pour plus d’informations sur la configuration code scanning, consultez Définition de la configuration par défaut pour l’analyse du code.
Exemple de scénario
Le code JavaScript ci-dessous présente une vulnérabilité XSS potentielle qui peut être exploitée si le paramètre name n’est pas correctement nettoyé avant d’être affiché sur la page.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.innerHTML = `Showing results for "${name}"`
}
Exemple d’invite
Vous pouvez demander Discussion avec Copilot à analyser le code pour les vulnérabilités de sécurité courantes et fournir des explications et des correctifs pour les problèmes qu’il trouve.
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.
Exemple de réponse
Remarque
La réponse suivante est un exemple. Les réponses Discussion avec Copilot ne sont pas déterministes, vous pouvez donc obtenir une réponse différente de celle affichée ici.
Copilot répond avec une explication de la vulnérabilité et suggère des modifications au code pour la corriger.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.textContent = `Showing results for "${name}"`;
}