Obwohl die meisten neuen Sicherheitsrisiken von vielen Entwicklern als „Allgemeinwissen“ betrachtet werden, sind sie beispielsweise auf Cross-Site-Scripting (XSS), Einschleusung von SQL-Befehlen und websiteübergreifende Anforderungsfälschung (CSRF) zurückzuführen. Diese Sicherheitsrisiken können mit sicheren Programmiermethoden wie parametrisierten Abfragen, Eingabeüberprüfung und Vermeiden hartcodierter vertraulicher Daten verringert werden. GitHub Copilot kann dabei helfen, diese Probleme zu erkennen und zu beheben.
Hinweis
Copilot-Chat kann zwar einige häufige Sicherheitslücken finden und Ihnen helfen, diese zu beheben, aber Sie sollten sich für eine umfassende Sicherheitsanalyse nicht auf Copilot verlassen. Die Verwendung code scanning wird gründlicher sicherstellen, dass Ihr Code sicher ist. Weitere Informationen zum Einrichten code scanningfinden Sie unter Konfigurieren des Standardsetups für das Code-Scanning.
Beispielszenario
Der folgende JavaScript-Code weist ein potenzielles XSS-Sicherheitsrisiko auf. Dies könnte ausgenutzt werden, wenn der Parameter name nicht richtig bereinigt wird, bevor er auf der Seite angezeigt wird.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.innerHTML = `Showing results for "${name}"`
}
Beispielaufforderung
Sie können Copilot-Chat bitten, Code auf häufige Sicherheitsschwachstellen zu analysieren und Erklärungen sowie Korrekturen für die dabei gefundenen Probleme zu liefern.
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.
Beispielantwort
Hinweis
Die folgende Antwort ist ein Beispiel. Da die Copilot-Chat-Antworten nicht deterministisch sind, erhältst du möglicherweise eine andere Antwort als die hier beschriebene.
Copilot antwortet mit einer Erläuterung der Sicherheitsanfälligkeit und schlägt Änderungen am Code vor, um ihn zu beheben.
function displayName(name) {
const nameElement = document.getElementById('name-display');
nameElement.textContent = `Showing results for "${name}"`;
}