GitHub hat die Beta-Phase von Copilot Autofix abgeschlossen und das Feature als festen Bestandteil von GitHub Advanced Security integriert. Diese Entwicklung markiert einen bedeutenden Schritt in der Nutzung künstlicher Intelligenz zur Verbesserung der Sicherheit von Softwareprojekten.
Die öffentliche Beta von Copilot Autofix, die im März dieses Jahres gestartet wurde, bot Nutzern die Möglichkeit, Sicherheitslücken in Pull Requests aufzuspüren und zu beheben. Laut GitHub konnten Nutzer während der Beta die Zeit zur Behebung von Sicherheitslücken wie SQL-Injections von durchschnittlich 3,7 Stunden auf nur 18 Minuten reduzieren.
Copilot Autofix ist darauf ausgelegt, Sicherheitslücken in existierenden Codebasen zu identifizieren und zu beheben. Sobald ein Code-Scanning-Alert ein Sicherheitsproblem erkennt, können Entwickler auf die Schaltfläche „Generate Fix“ in der Repository-Ansicht klicken. Das Tool analysiert die Lücke und liefert Vorschläge für Codeanpassungen. Nach Prüfung dieser Vorschläge kann ein Pull Request generiert werden, der das gefundene Problem behebt.
Das Feature nutzt die semantische Code-Analyse der CodeQL-Engine, das GPT-4o-Modell von OpenAI sowie die APIs des Programmierassistenten Copilot. Diese Kombination ermöglicht es, gezielte Code-Vorschläge zu generieren, die den Entwicklungsprozess erheblich beschleunigen.
Einige Sicherheitsfeatures von GitHub, wie das Scannen nach Sicherheitslücken oder Geheimnissen wie API-Schlüsseln, sind bereits kostenlos für öffentliche Repositories verfügbar. Ab September soll Copilot Autofix auch für Pull Requests in Open-Source-Projekten verfügbar sein, was die Sicherheit in diesen Projekten weiter erhöhen dürfte.
Während der Beta-Phase zeigte sich, dass Copilot Autofix die Effizienz bei der Behebung von Sicherheitslücken erheblich steigern kann. Entwickler, die sich erst in den Code einarbeiten müssen, profitieren besonders von den vorgeschlagenen Fixes, die ihnen viel Zeit und Mühe ersparen.
Aktuell unterstützt Copilot Autofix Fix-Vorschläge für JavaScript, TypeScript, Java und Python. GitHub plant jedoch, den Support auf weitere Programmiersprachen wie C# und Go auszuweiten.
GitHub nutzt ein automatisiertes Testsystem, um die Qualität der Vorschläge kontinuierlich zu überwachen. Ein Set von über 2.300 Alerts aus öffentlichen Repositories wird verwendet, um die Effektivität der Vorschläge zu testen. Das System wird ebenfalls auf potenziell schädliche Vorschläge getestet, um sicherzustellen, dass nur sichere und korrekte Fixes vorgeschlagen werden.
Mit der Integration von Copilot Autofix in GitHub Advanced Security wird ein weiterer Meilenstein in der Nutzung von KI zur Verbesserung der Software-Sicherheit erreicht. Die Möglichkeit, Sicherheitslücken automatisch zu identifizieren und zu beheben, bietet Entwicklern eine wertvolle Unterstützung und trägt dazu bei, die Sicherheit von Softwareprojekten auf ein neues Niveau zu heben.