Med hjälp av verktyg baserade på generativ AI har en utvecklare vid namn Joshua Rogers pekat ut inte mindre än 50 svagheter i ett av världens mest spridda öppenkodsprojekt, Curl. Den svenska förvaltaren av Curl har just ondgjort sig över värdelösa AI-genererade felrapporter men den här gången tappar han tvärtom hakan inför AI:s förmåga.
Någonting stort har just hänt i cybersäkerhetsvärlden.
Generativ AI har bevisat att den har kapacitet att på egen hand upptäcka nya sårbarheter i bra källkod. Nya verktyg baserade på generativ AI gräver plötsligt upp mängder av sårbarheter som gått under näsan på klassiska kodanalysverktyg.
– Jag är faktiskt helt överväldigad av kvaliteten på en del av fynden, kommenterar Daniel Stenberg, förvaltaren av filöverföringsbiblioteket Curl, till Elektroniktidningen.
I en välkänd föreläsning i augusti slog Daniel Stenberg larm för att han och hans team översvämmades av AI-genererade felrapporter – felaktiga, förvirrade, hallucinerande felrapporter skapade av generativ AI.
Sådana rapporter har börjat stjäla viktig arbetstid från öppenkodsprojekt, inte bara Curl. Communityt grubblar över hur floden av AI-genererade slaskfelrapporter ska kunna dämmas upp.
Lösningen är i alla fall inte att förbjuda användandet av AI. Det var Daniel Stenbergs bedömning i hans föreläsning. Han trodde AI trots allt skulle kunna bidra positivt.
Och han fick omedelbart rätt.
För nu har AI tagit revansch, och det med råge. Plötsligt under september anlände en packe Curl-buggrapporter som hittills resulterat i inte mindre än 50 stycken rättelser av Curlbiblioteket
Det är en total brytning med de tidigare AI-slaskrapporterna. Det kan möjligen även tidigare ha inkommit en och annan bra felrapport baserad på AI-verktyg. Men nu har Daniel Stenberg och hans team på kort tid infört 50 rättelser i koden till Curl, baserade på AI-genererade felrapporter.
Återigen står teamet till knäna i felrapporter, men den här gången är de inte skräp.
Det är buggar som Curls standardverktyg för felsökning har missat.
– Det här är nytt. Det är definitivt så att det verkar komma nya verktyg som hittar problem som inga av de gamla etablerade verktygen hittar, säger Daniel Stenberg till Elektroniktidningen.
– Vi kör regelbundet clang-tidy, scan-build, CodeSonar och Coverity på koden och så fort de hittar ett problem fixar vi det. Så att hitta *flera hundra* fynd när alla de verktygen säger "noll fel" är lite spektakulärt, säger han i en underdrift.
Alla buggrapporter kom från en och samma utvecklare: Joshua Rogers, en australiensare med 15 års erfarenhet av cybersäkerhetsarbete, bland annat på Opera Software i Polen. I dag jobbar han med cybersäkerhet på ett kryptobolag.
Han har utvärderat nya AI-verktyg under några månaders tid och har nu börjat skicka in felrapporter inte bara till Curl.*
Ingen av de 50 buggarna som hittills pekats ut i Curl var kritiska. Joshua Rogers har däremot hittat kritiska sårbarheter och allvarliga buggar i andra projekt. Bland annat i källkod från hans tidigare arbetsgivare Opera Software. Den buggen rättades i början av september.
Joshua Rogers var till att börja med tveksam över att skicka buggrapporter till Curl, efter Daniel Stenbergs välkända sågning av AI-slaskrapporter.
![]() |
| Joshua Rogers |
– Trots att jag bokstavligen kunde se buggarna i koden tänkte jag att det fanns 0,001 procents chans att jag missförstått problemet, och därmed skulle hamna i skamvrån, säger han till Elektroniktidningen.
Men han tog mod till sig och började skicka rapporter. Efter ett tag tog Daniel Stenberg nyfiket kontakt och undrade var alla dessa rapporter kom ifrån.
– Efter att jag förklarat det bad han mig skicka den icke-granskade listan med problem, så skulle han själv triagera dem.
Triagera är samma begrepp som används inom akutvården – att sortera buggrapporterna efter hur angeläget det är att ta itu med dem.
Joshua Rogers har fått samma häpna respons på buggrapporter han postat till andra öppenkodsprojekt.
På sin blogg berättar Joshua Rogers hur han jobbar med sårbarhetsanalys, och ger tips.
Hans huvudbudskap är att flagga för att dessa verktyg för sårbarhetsanalys existerar och att de har blivit mycket bra.
Så hur kan det komma sig att AI som en blixt från klar himmel plötsligt börjat hitta sårbarheter i öppen källkod?
Generativ AI-baserad sårbarhetsanalys tog ett språng i sin utveckling förra året när Googles cybersäkerhetsteam presenterade en okänd kritisk sårbarhet i SQLite. Den upptäcktes med hjälp av Googles verktyg Big Sleep, som räknas som en milstolpe.
Sedan dess har fler verktyg utvecklats och de har nu börjat dyka upp på marknaden. Det verktyg Joshua Rogers sätter överst just nu heter ZeroPath.
Det råder heller ingen tvekan om att en av förklaringarna är – Joshua Rogers själv. Han har satt verktygen att hamra på koden på flera olika sätt och han har granskat rapporterna ordenligt – både på egen hand och med hjälp av andra generativa AI-verktyg.
– Ett bra verktyg styrt av en kompetent person är en kraftfull kombination, säger Daniel Stenberg.
Styrkan med generativ AI-baserade verktyg tycks vara att de både förstår naturligt språk och programspråk. De läser kommentarer och de känner till protokollen, och kan därmed förstå när avsikter, logik och samband inte harmonierar med vad koden uttrycker.
Klassiska kodanalysverktyg tittar snävt på koden framför sig och ägnar sig huvudsakligen till att scanna efter redan kända klasser av fel.
Därmed har generativ AI öppnat möjligheten att avslöja fel av helt nya slag. Och nu kan det göras mängder av fynd av sådana buggar i gammal kod.
En av buggarna som Joshua Rogers rapporterade var i kod som var så gammal att ingen längre ens använde den. Det vet vi eftersom buggen var så allvarlig att den skulle fått koden att krascha. Och det hade ingen rapporterat. Så Daniel Stenbergs ”buggfix” blev att helt enkelt ta adjö av koden och att inte längre supporta den.
FOTNOT
* Flest fel har han rapporterat till sudo, libwebm, Next.js, avahi, wpa_supplicant, curl och squid


