GitHub startet KI-gestütztes Autofix-Tool für mehr Sicherheit
Gute Nachrichten von GitHub: Für alle Advanced Security-Kunden ist jetzt die „Code-Scanning-Autofix“-Funktion in einer öffentlichen Beta-Version verfügbar. Diese Funktion bietet Entwicklern gezielte Empfehlungen, um das Auftreten neuer Sicherheitsprobleme zu vermeiden.
Dank GitHub Copilot und CodeQL kann Code Scanning Autofix über 90 Prozent der Alarme in JavaScript, TypeScript, Java und Python erkennen. Es bietet Vorschläge, die mehr als zwei Drittel der gefundenen Schwachstellen mit höchstens minimaler Bearbeitung beheben. Oft ist gar keine Bearbeitung erforderlich. Das hat GitHub zum Launch der öffentlichen Beta-Version erklärt.
Die Funktion wurde erstmals im November 2023 in einer Prewie-Version eingeführt und nutzt eine Mischung aus CodeQL, Copilot APIs und OpenAI GPT-4, um Codevorschläge zu entwickeln. Die Microsoft-Tochter plant außerdem, in Zukunft auch C# und Go zu unterstützen.
Mit Code-Scanning-Autofix sollen Entwickler Schwachstellen bereits während des Schreibens des Codes beheben können. Die Funktion generiert mögliche Korrekturen und bietet eine verständliche Erklärung, sobald ein Problem erkannt wird. Voraussetzung ist natürlich, dass die verwendete Programmiersprache von Autofix unterstützt wird.
Die Korrekturvorschläge können weit über die aktuelle Datei hinausgehen und Änderungen in vielen anderen Dateien umfassen. So müssen oft zusätzliche Abhängigkeiten berücksichtigt werden, die für die Fehlerbehebung relevant sind.
„Code-Scanning-Autofix senkt die Einstiegshürde für Entwickler, indem es Informationen über Best Practices mit Details der Codebasis und Warnungen kombiniert, um dem Entwickler eine mögliche Lösung vorzuschlagen“, so das Unternehmen.
„Anstatt nach Informationen zur Schwachstelle suchen zu müssen, erhält der Entwickler direkt einen Code-Vorschlag, der eine mögliche Lösung für seine Codebasis zeigt.“
Es liegt jedoch weiterhin beim Entwickler, die Vorschläge zu bewerten, um sicherzustellen, dass sie die richtige Lösung darstellen und das beabsichtigte Verhalten nicht beeinträchtigen.
GitHub wies jedoch auch auf die aktuellen Beschränkungen der Autofix-Code-Vorschläge hin, die es notwendig machen, dass Entwickler die Änderungen und Abhängigkeiten sorgfältig überprüfen, bevor sie diese akzeptieren. So könnte das Tool Korrekturen vorschlagen,
- die keine syntaktisch korrekten Codeänderungen sind
- die zwar syntaktisch korrekten Code darstellen, aber an der falschen Stelle vorgeschlagen werden
- die zwar syntaktisch korrekt sind, aber die Semantik des Programms verändern
- welche die Grundursache nicht beheben oder neue Schwachstellen einführen
- welche die zugrunde liegende Schwachstelle nur teilweise beheben.
Außerdem könnte es nicht unterstützte oder unsicheren Abhängigkeiten, sowie willkürliche Abhängigkeiten, die zu möglichen Angriffen in der Lieferkette führen, vorschlagen.
„Das System hat unvollständige Kenntnisse über die Abhängigkeiten, die im weiteren Ökosystem veröffentlicht werden“, so das Unternehmen. „Dies kann zu Vorschlägen führen, die eine neue Abhängigkeit von bösartiger Software hinzufügen, die Angreifer unter einem statistisch wahrscheinlichen Abhängigkeitsnamen veröffentlicht haben.“