Bien qu'elles puissent être considérées comme relevant des « connaissances communes » par de nombreux développeurs, la grande majorité des nouvelles failles de sécurité introduites proviennent de vulnérabilités telles que le cross-site scripting (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é, telles que l'utilisation de requêtes paramétrées, la validation des entrées et l'évitement 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 à trouver certaines vulnérabilités de sécurité courantes et à les corriger, vous ne devez pas vous fier à Copilot pour une analyse de sécurité complète. L'utilisation de l'code scanning garantira plus efficacement la sécurité de votre code. Pour plus d'informations sur la configuration de l'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}"`
}
Exemples d’invite
Vous pouvez demander à Discussion avec Copilot d'analyser votre code à la recherche de vulnérabilités de sécurité courantes et de vous fournir des explications et des correctifs pour les problèmes détectés.
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 en expliquant la vulnérabilité et en suggérant des modifications du code pour la corriger.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.textContent = `Showing results for "${name}"`;
}
Pour aller plus loin
- Ingénierie de prompt pour GitHub Copilot Chat
- Bonnes pratiques pour utiliser GitHub Copilot
-
[AUTOTITLE](/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning)