GitHub lanserar ett AI-drivet verktyg för att automatiskt åtgärda kodsårbarheter

Bild är från Github

GitHub har lanserat en AI-driven verktyg för att automatiskt fixa kod sårbarheter genom att kombinera GitHub Copilot och CodeQL. Verktyget täcker över 90% av varningstyper i flera programmeringsspråk och använder OpenAI’s GPT-4 modell för att generera kodförslag och förklaringar.

GitHub’s code scanning autofix-verktygs primära funktioner är:

  • Automatisk fixning av kod sårbarheter: Verktyget använder GitHub Copilot och CodeQL för att automatiskt identifiera och åtgärda över två tredjedelar av de sårbarheter det upptäcker, ofta utan att utvecklare behöver göra manuella ändringar.
  • Stöd för flera programmeringsspråk: Det täcker över 90% av varningstyperna i stora programmeringsspråk som JavaScript, TypeScript, Java och Python.
  • Integration av OpenAI’s GPT-4: För att generera kodförslag och förklaringar, utnyttjar verktyget OpenAI’s GPT-4 modell, vilket bidrar till att minska tiden för åtgärd av sårbarheter.
  • Användarfeedback: GitHub uppmuntrar användarfeedback för att ytterligare förbättra autofix-upplevelsen, med planer på att expandera språkstödet och fortsätta att finslipa verktyget.

Dessa funktioner representerar en betydande framsteg mot automatisering av säkerhet inom kodningsprocessen, vilket hjälper till att minska ackumuleringen av ”applikationssäkerhetsskulden” och förbättra effektiviteten i åtgärdandet av problem.

När en sårbarhet upptäcks på ett språk som stöds, ger autofix-funktionen en naturlig språkförklaring av den föreslagna korrigeringen, tillsammans med en förhandsvisning av kodförslaget. Utvecklare kan acceptera, redigera eller avvisa dessa förslag. Kodförslagen kan inkludera ändringar av flera filer och de beroenden som ska läggas till i projektet. Autofixet utnyttjar CodeQL-motorn och en kombination av heuristik och GitHub Copilot API:er för att generera dessa kodförslag.

GitHubs vision för programsäkerhet är en miljö där ”hittade innebär åtgärdat” vilket syftar till att minska den tid och ansträngning som läggs på reparation. Den här funktionen är en del av GitHubs arbete med att hjälpa team att åtgärda sårbarheter snabbare än traditionella säkerhetsverktyg, vilket minskar ”programsäkerhetsskulden” och gör det möjligt för säkerhetsteam att fokusera på strategier för att skydda verksamheten samtidigt som de håller jämna steg med utvecklingstakten.

GitHub blogg