Skip to main content

Verringerung der Sicherheitsschulden in Ihrem Unternehmen mit GitHub Copilot

Funktionen verstehen, Entwickler aktivieren und die Auswirkungen von Copilot messen.

Wer kann dieses Feature verwenden?

GitHub Copilot Business or GitHub Copilot Enterprise

Der Leitfaden ist inspiriert vom Engineering System Success Playbook (ESSP) von GitHub, das Strategien und Metriken für die Verbesserung von Engineeringsystemen empfiehlt.

Wenn du mit dem Rollout von Copilot beginnst, empfehlen wir, deine Ziele zu definieren, den Rollout entsprechend zu planen und die Ziele klar an Mitarbeitende zu kommunizieren. Weitere Informationen findest du unter Erreichen der Engineeringziele deines Unternehmens mit GitHub Copilot.

1. Identifizieren von Erfolgshindernissen

Der erste Schritt, der vom ESSP empfohlen wird, besteht darin, ein klares Verständnis der Hindernisse zu entwickeln, die Verbesserungen in deinem Unternehmen verhindern. Wenn du die aktuelle Baseline, den gewünschten zukünftigen Zustand und die Hindernisse für Fortschritt kennst, kannst du sicherstellen, dass Änderungen gezielt und effektiv sind.

Entwicklungsteams konzentrieren sich häufig auf Geschwindigkeit und Funktionalität, um neue Features bereitzustellen und Anwendungen reibungslos zu halten. Im Laufe der Zeit können sich kleine Probleme ansammeln, z. B.:

  • Bekannte Sicherheitsschwächen, die nicht behoben werden
  • Abhängigkeit von älteren Softwarekomponenten mit potenziellen Mängeln
  • Verzögerungen bei der Behebung erkannter Probleme

Dies schafft eine Sicherheitsschuld, einen erheblichen Rückstau von Problemen.

Die Sicherheitsschulden tragen echte Risiken. Je länger es unaddressiert wird, desto größer und teurer wird es. Große Sicherheitsschulden lassen Systeme anfällig für Angriffe, macht vertrauliche Daten offen und erodiert kundenvertrauen.

Die Herausforderung besteht darin, eine schnelle Entwicklung mit der Aufrechterhaltung einer sicheren und stabilen Softwareumgebung abzuwägen.

2. Auswerten der Optionen

Der nächste Schritt besteht darin, Lösungen für die in Schritt 1 identifizierten Hindernisse zu bewerten und auszuwählen. In diesem Leitfaden konzentrieren wir uns auf die Auswirkungen, die GitHub Copilot auf das von dir identifizierte Ziel haben kann. Erfolgreiche Rollouts eines neuen Tools erfordern auch Änderungen an Kultur und Prozessen.

Führen Sie Testversionen neuer Tools und Prozesse mit Pilotgruppen aus, um Feedback zu sammeln und den Erfolg zu messen. Schulungsressourcen und Metriken, die während der Testversion verwendet werden sollen, finden Sie in den Abschnitten 3. Implementieren Sie Änderungen und Metriken, die beobachtet werden sollen.

          <a href="https://github.com/enterprise/contact?ref_product=copilot&ref_type=engagement&ref_style=button" target="_blank" class="btn btn-primary mt-3 mr-3 no-underline">
          <span>Vertrieb kontaktieren</span><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-link-external" aria-label="link external icon" role="img"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a>

Wie kann Copilot helfen

          Copilot integriert Sicherheitsüberlegungen direkt in den Entwicklungslebenszyklus. Auf diese Weise können Entwickler potenzielle Sicherheitsrisiken proaktiv identifizieren und beheben, während Projekte auf dem neuesten Stand gehalten werden.

          Copilot reduziert Sicherheitsrisiken während des gesamten Lebenszyklus der Softwareentwicklung.

Während der Entwicklung

          Copilot überprüft Code, während Sie ihn schreiben. Es verwendet sein Verständnis allgemeiner Sicherheitsfehler, um Bereiche zu kennzeichnen, die möglicherweise anfällig für die Ausbeutung sind. Diese Echtzeitanalyse zeigt versteckte Sicherheitsrisiken an, die während der Standardentwicklung oder anfänglichen Sicherheitsüberprüfungen verpasst werden können.

Wenn Copilot Probleme identifiziert werden, schlägt es Codeänderungen vor, um Sicherheitsrisiken zu beheben. Dadurch können Sie Schwachstellen frühzeitig beheben und verhindern, dass Sicherheitsschulden akkumuliert werden.

Fortlaufende Wartung

          Copilot integriert mit den Code-Scan-Funktionen von GitHub, um Ihre vorhandene Codebasis sicher zu halten. Wenn die Codeüberprüfung eine Sicherheitswarnung identifiziert, Copilot Autofix analysiert sie und bietet gezielte Empfehlungen, um sie zu beheben.

Diese vorgeschlagenen Korrekturen reduzieren die Zeit, mit der Sie Sicherheitsrisiken untersuchen und bestimmen, wie sie behoben werden sollen. Dadurch können Sie Sicherheitswarnungen effizienter beheben und laufende Sicherheitsschulden verhindern.

Kulturelle Überlegungen

Neben der Einführung von GitHub Copilot solltest du dich mit allen sozialen oder kulturellen Faktoren auseinandersetzen, die dich daran hindern könnten, deine Ziele zu erreichen.

Die folgenden Beispiele stammen aus dem Abschnitt „Anti-Patterns“ im ESSP.

  • Teams können Sicherheitsschulden ignorieren oder aufschieben. Dadurch können ineffiziente und anfällige Systeme beibehalten werden. Dies könnte durch einen stichtaggesteuerten Fokus auf Features oder einen Mangel an Bildung über die langfristigen Auswirkungen von Sicherheitsschulden verursacht werden.
  • Teams kann übermäßig komplexe Lösungen für einfache Probleme erstellen. Dadurch wird die Erkennung von Code erschwert und Sicherheitsprobleme schwieriger zu erkennen. Dies könnte durch den Wunsch verursacht werden, zukunftssicher zu sein, unnötig oder durch den Druck, durch Komplexität Mehrwert hinzuzufügen.

3. Implementieren von Änderungen

Wenn Sie den richtigen Ansatz identifiziert haben, um Ihre Barrieren zu überwinden, skalieren Sie die von Ihnen identifizierten Lösungen. Wenn Sie ein neues Tool oder einen neuen Prozess erfolgreich einführen möchten, weisen Sie jedem Teil des Rollouts Den Besitz zu, kommunizieren Sie transparent über Ihre Ziele, stellen Sie effektive Schulungen bereit und messen Sie Ihre Ergebnisse.

Dieser Abschnitt enthält Beispielszenarien, bewährte Methoden und Ressourcen für Entwickelnde. Verwenden Sie diesen Abschnitt, um Kommunikations- und Schulungssitzungen zu planen , damit Mitarbeiter Copilot auf eine Weise verwenden können, die ihrem Ziel entspricht.

Analysieren deines Codes auf Sicherheitsrisiken

Je nach Größe der Codebasis kann Copilot möglicherweise nicht Ihr gesamtes Projekt analysieren, während Sie Code schreiben. Dies liegt an Kontexteinschränkungen. Sie können sie jedoch bitten, bestimmte Dateien auf unsichere Codepraktiken zu analysieren.

  1. Öffnen Sie die Zu analysierenden Dateien in Visual Studio Code.

  2. In Copilot-Chat fragen Sie: Analyze this code for potential security vulnerabilities and suggest fixes

    Verwenden Sie die #file Chatvariable, um den Inhalt einer Datei speziell in die Eingabeaufforderung einzuschließen. Sie können auch Prompt-Dateien und benutzerdefinierte Anweisungen verwenden, um die Antworten von Copilot zu steuern.

  3.        Copilot-Chat analysiert den Code, identifiziert Sicherheitsrisiken und schlägt Korrekturen vor.
    
  4. Überprüfe die vorgeschlagenen Änderungen, und wende sie entsprechend an.

Weitere Beispiele für Eingabeaufforderungen:

  • Are there any security vulnerabilities in my code? If so, can you explain them and suggest fixes?
  • Does this code follow secure code best practices? If not, what specific improvements can I make?
  • What are the potential security risks in this code if it were deployed to production? How can I mitigate them?

Verwenden Sie Copilot Autofix, um code scanning Warnungen zu erstellen.

          Copilot Autofix ist ein Teil von GitHub Code Security, der potenzielle Korrekturen für code scanning-Warnungen vorschlägt. Es ist in öffentlichen Repositorys und Repositorys mit einer Lizenz für GitHub Code Security erhältlich.

Wenn Sie einen Codescan für ein Repository ausführen, werden potenzielle Probleme als code scanning Warnungen ausgelöst. Beheben Sie die Warnungen, indem Sie die folgenden Schritte ausführen:

  1. Öffnen Sie eine Benachrichtigung für GitHub.
  2. Klicken Sie auf "Fix generieren". Dies wird angezeigt, wenn Copilot die Warnung auflösen kann.
  3.        Copilot Autofix generiert einen potenziellen Fix und zeigt Ihnen die Codeänderungen in der Warnung an. Sie können diese Codeänderung auf einen neuen Branch oder einen vorhandenen Branch übertragen.
    
  4. Testen Sie den Code. Öffnen Sie dann eine Pullanforderung, um die Änderungen an die Hauptzweigung zu verschieben.
  5. Nachdem Sie die Änderungen an die Hauptzweigung verschoben und code scanning die Korrektur überprüft haben, wird die Warnung automatisch geschlossen.

Bewährte Methoden für Entwickler

          **Empfehlungen** für Entwickler:
  • Verwenden Sie Copilot-Chat regelmäßig, um Codeausschnitte auf Sicherheitsanfälligkeiten zu analysieren. Machen Sie es gewohnt, Code auf Sicherheitsprobleme zu überprüfen, bevor Sie Änderungen übernehmen.

  • Verwenden Sie für Warnungen. Wenn Warnungen angezeigt werden, verwenden Sie Copilot Autofix als ersten Schritt, um sie schnell zu beheben.

  • Stellen Sie klare und bestimmte Eingabeaufforderungen für Copilot-Chat. Je detaillierter Ihre Anfrage ist, desto besser kann Copilot den Code analysieren und relevante Korrekturen vorschlagen. Geben Sie beispielsweise die Programmiersprache und bestimmte Beunruhigungsbereiche an.

  • Kombinieren Sie Copilot die vorhandenen Sicherheitstools. Verwenden Sie Copilot als zusätzliche Sicherheitsanalyseebene, nicht als Ersatz für dedizierte Sicherheitsscanner und -praktiken.

            **Warnhinweise** für Entwickler:
    
  • Die Sicherheitsvorschläge werden automatisch akzeptiertCopilot. Überprüfen und testen Sie immer die vorgeschlagenen Codeänderungen, um sicherzustellen, dass sie angemessen und effektiv sind.

  • Verlassen Sie sich ausschließlich auf Copilot umfassende Sicherheitsprüfungen. Copilot ist ein hilfreiches Tool, aber es sollte keine gründlichen Sicherheitsüberprüfungen und Penetrationstests ersetzen.

  • Warnungen ignorierencode scanning. Adressieren Sie alle Warnungen umgehend, auch wenn sie geringfügig erscheinen, um die Anhäufung von Sicherheitsschulden zu verhindern.

  • Verwenden Sie Copilot als Ausrede, um sichere Codierungsmethoden zu vermeiden. Informieren Sie sich und Ihr Team weiterhin über bewährte Methoden für die Sicherheit.

  • Es wird davon ausgegangen Copilot , dass jede Sicherheitsanfälligkeit erfasst wird. Sicherheit ist ein fortlaufender Prozess, und die Wachsamkeit ist immer notwendig.

  • Wird Copilot verwendet, um Sicherheitsrichtlinien zu umgehen. Halten Sie sich an die Sicherheitsprotokolle Ihrer Organisation. Verwenden Sie Copilot als ein Tool, um Verbesserungen zu erzielen, nicht um sie zu umgehen.

Ressourcen für Entwickler

Zu überwachende Metriken

Um Testversionen neuer Tools zu bewerten und sicherzustellen, dass Ihre vollständigen Rollouts konsistente Verbesserungen bieten, überwachen Sie die Ergebnisse, und nehmen Sie bei Bedarf Anpassungen vor. Wir empfehlen, die wichtigsten Bereiche der Qualität, Geschwindigkeit und Entwicklerzufriedenheit zu berücksichtigen und wie diese Zonen zusammenkommen, um zu geschäftsergebnissen beizutragen.

Hier sind einige Metriken zur Bewertung der Auswirkungen von Copilot auf dieses spezielle Ziel.

  • Sicherheitsschuldenquote. Verwenden Sie die Sicherheitsübersicht, um festzustellen, ob die Anzahl der Warnungen im Laufe der Zeit fällt.
  • Zeit zum Beheben von Sicherheitsproblemen. Verwenden Sie die Sicherheitsübersicht, um festzustellen, ob die Zeit zur Behebung von Sicherheitsproblemen im Laufe der Zeit fällt.

Weitere Informationen findest du unter Bewerten des Sicherheitsrisikos deines Codes.