{"meta":{"title":"Suchen und Beheben deines ersten Codesicherheitsrisikos","intro":"Lernen Sie die Grundlagen der Sicherung Ihres Codes kennen, indem Sie eine code scanning Warnung in einem Demo-Repository auflösen.","product":"Erste Schritte","breadcrumbs":[{"href":"/de/get-started","title":"Erste Schritte"},{"href":"/de/get-started/learning-to-code","title":"Programmieren lernen"},{"href":"/de/get-started/learning-to-code/finding-and-fixing-your-first-code-vulnerability","title":"Sichern Sie Ihren Code"}],"documentType":"article"},"body":"# Suchen und Beheben deines ersten Codesicherheitsrisikos\n\nLernen Sie die Grundlagen der Sicherung Ihres Codes kennen, indem Sie eine code scanning Warnung in einem Demo-Repository auflösen.\n\nWenn du das Programmieren erlernst, ist es normal, versehentlich Sicherheitsrisiken in Projekten zu verursachen. Wenn diese Sicherheitsissues nicht behoben werden, bevor du deine Arbeit freigibst, können Angreifer sie verwenden, um deinen Code zu manipulieren und auf vertrauliche Daten zuzugreifen. Daher ist es wichtig, sie so schnell wie möglich zu identifizieren und zu patchen.\n\nGlücklicherweise gibt es Tools wie code scanning, die automatisch Schwachstellen in Ihren öffentlichen Repositories finden, erklären und sogar beheben. In diesem Lernprogramm erfahren Sie, wie Sie Ihre Arbeit mit code scanning schützen.\n\n## Einrichten des Demo-Repositorys\n\nBeginnen wir mit dem Forken eines Demoprojekts mit einem Sicherheitsrisiko. In diesem Projekt wird eine einfache Webseite erstellt, aber da wir das Projekt nicht bereitstellen, gibt es in dieser Übung **kein Sicherheitsrisiko**.\n\n1. Navigieren Sie zum [`new2code/code-scanning-demo`](https://github.com/new2code/code-scanning-demo)-Repository.\n2. Klicken Sie oben rechts auf der Seite auf <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-repo-forked\" aria-label=\"repo forked icon\" role=\"img\"><path d=\"M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z\"></path></svg>**Fork**.\n3. Klicke auf der angezeigten Seite auf **Create fork**.\n\n## Suchen von Sicherheitsrisiken in deinem Code\n\nNachdem wir das Projekt eingerichtet haben, schalten wir code scanning für Ihre Verzweigung ein, um nach Sicherheitsrisiken im Code zu suchen.\n\n1. Klicken Sie wieder auf GitHubder Startseite Ihres Repositorys auf **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality**.\n2. Klicken Sie in der Zeile \"Code scanning Warnungen\" auf **Einrichten code scanning**.\n3. Wählen Sie im Abschnitt \"Extras\" neben \"CodeQL Analyse\" die Option **\"Einrichten**\" aus, und klicken Sie dann auf **\"Standard\"**.\n4. Klicken Sie im daraufhin angezeigten Popup auf **\"Aktivieren\" CodeQL**. Dadurch wird ein GitHub Actions Workflow ausgelöst, der Ihren Code auf Sicherheitsrisiken überprüft.\n5. Um den Status Ihres Workflows zu überprüfen, klicken Sie in der Navigationsleiste auf <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play icon\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg>**\"Aktionen\"**.\n6. Klicken Sie nach Abschluss des Workflows in der Navigationsleiste auf **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality**.\n7. Wenn Sie die code scanning vom Workflow ermittelte Warnung anzeigen möchten, klicken Sie in der Seitenleiste auf <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-codescan\" aria-label=\"codescan icon\" role=\"img\"><path d=\"M8.47 4.97a.75.75 0 0 0 0 1.06L9.94 7.5 8.47 8.97a.75.75 0 1 0 1.06 1.06l2-2a.75.75 0 0 0 0-1.06l-2-2a.75.75 0 0 0-1.06 0ZM6.53 6.03a.75.75 0 0 0-1.06-1.06l-2 2a.75.75 0 0 0 0 1.06l2 2a.75.75 0 1 0 1.06-1.06L5.06 7.5l1.47-1.47Z\"></path><path d=\"M12.246 13.307a7.501 7.501 0 1 1 1.06-1.06l2.474 2.473a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM1.5 7.5a6.002 6.002 0 0 0 3.608 5.504 6.002 6.002 0 0 0 6.486-1.117.748.748 0 0 1 .292-.293A6 6 0 1 0 1.5 7.5Z\"></path></svg>**Code scanning** und dann auf **Reflektiertes Cross-Site-Scripting**.\n\n## Verständnis einer code scanning Warnung\n\ncode scanning Nachdem wir nun eine Sicherheitsanfälligkeit im Code identifiziert haben, lassen Sie uns die in der Warnung bereitgestellten Informationen aufschlüsseln.\n\n### Standort\n\nDie Warnung zeigt eine kleine Vorschau einer Datei, bei der die Codezeilen im Mittelpunkt stehen, die das Sicherheitsrisiko verursachen. In unserem Fall wird das Sicherheitsrisiko in Zeile 8 unserer `index.js`-Datei erkannt, in der wir die vom Benutzer bereitgestellten Eingaben auf unserer Website implementieren.\n\nWenn wir einen genaueren Blick darauf werfen, können wir sehen, dass das zugrunde liegende Issue in Zeile 7 auftritt, wenn wir Benutzereingaben `greet` zuweisen, ohne auf Schadcode zu überprüfen. Wenn du das Sicherheitsrisiko Schritt für Schritt im Code anzeigen möchtest, klicke in der Legende unterhalb der anfälligen Zeilen auf **Show paths**.\n\n![Screenshot des Ortes einer code scanning-Warnung. Eine Schaltfläche „Pfade anzeigen“ ist orange umrandet.](/assets/images/help/repository/code-scanning-alert-location-learners.png)\n\n### Beschreibung und Empfehlung\n\nUnter der Dateivorschau code scanning finden Sie eine detailliertere Beschreibung der Sicherheitsanfälligkeit. Um den empfohlenen Fix sowie Beispiele für anfälligen und festen Code anzuzeigen, klicken Sie auf \" **Mehr anzeigen\"**<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-chevron-down\" aria-label=\"chevron down icon\" role=\"img\"><path d=\"M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z\"></path></svg>.\n\n![Screenshot: Details einer code scanning-Warnung. Eine Dropdownliste mit der Bezeichnung „Mehr anzeigen“ ist orange umrandet.](/assets/images/help/repository/code-scanning-alert-details-learners.png)\n\nIn unserem Fall wird empfohlen, die Benutzereingabe vor der Verwendung zu bereinigen. Dies bedeutet, dass wir die Eingabe auf Schadcode überprüfen und dann bei Bedarf bereinigen müssen.\n\n> \\[!TIP] Wenn Sie den empfohlenen Fix nicht vollständig verstehen, versuchen Sie, [zu fragen, ob Copilot Chat](https://github.com/copilot) es erläutert werden kann.\n\n### Zeitachse\n\nSchließlich kannst du die Zeitleiste der Warnung am unteren Rand der Seite sehen. Die Zeitleiste enthält den Commit, bei dem das Sicherheitsrisiko zuerst erkannt wurde, und wird automatisch aktualisiert, wenn das Sicherheitsrisiko behoben wird.\n\n![Screenshot der Zeitleiste einer code scanning-Warnung.](/assets/images/help/repository/code-scanning-alert-timeline-learners.png)\n\n## Automatisches Beheben eines Sicherheitsrisikos\n\nUm unser Projekt schnell und einfach zu sichern, lassen Sie uns GitHub Copilot Autofix für code scanning verwenden.\n\n1. Unterhalb des Warnungstitels wird Ihnen in dem Feld vorgeschlagen: \"Beschleunigen Sie die Behebung dieser Warnung mithilfe von Copilot Autofix für CodeQL\", klicken Sie auf <svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield-check\" aria-label=\"shield check icon\" role=\"img\"><path d=\"m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z\"></path></svg>**Generieren Sie Fix**.\n2. Nachdem Copilot den Fixvorschlag generiert hat, werden die vorgeschlagenen Änderungen beschrieben, eine Vorschau der Änderungen gerendert und alle hinzugefügten Abhängigkeiten herausgestellt. Nehmen Sie sich einen Moment Zeit, um sich die Arbeit von Copilot anzusehen.\n3. Zum Erstellen eines Pull Requests mit dem Fix klicke auf **Commit to new branch** und dann auf **Commit change**.\n4. Nachdem der Entwurf des Pull Requests erstellt wurde, klicke unten auf der Seite auf **Ready for review**, damit er zusammengeführt werden kann.\n5. Klicke zum Anwenden des Fix auf **Merge pull request** und dann auf **Confirm merge**.\n\n   Sobald der Pull Request zusammengeführt und der code scanning Workflow erneut ausgeführt wird, wird der Alert automatisch geschlossen, und der Commit zur Behebung der Vulnerabilität wird der Zeitachse hinzugefügt.\n\n> \\[!NOTE] In echten Projekten sollten Sie die von Copilot vorgeschlagenen Änderungen immer überprüfen, bevor Sie diese in Ihren Code einfügen.\n\n## Nächste Schritte\n\nNachdem Sie es nun in einem Demo-Repository ausprobiert code scanning haben, **aktivieren Sie es in Ihren eigenen Projekten** , um aktuelle und zukünftige Sicherheitsrisiken schnell zu finden und zu beheben.\n\nNachdem du den Code gesichert hast, den du selbst geschrieben hast, führe den nächsten Schritt in Richtung sicherer Code aus, indem du die Sicherheit deiner **Abhängigkeiten** überprüfst. Weitere Informationen findest du unter [Finden und Beheben Ihrer ersten Abhängigkeitsverwundbarkeit](/de/get-started/learning-to-code/finding-and-fixing-your-first-dependency-vulnerability)."}