Skriv ut

Flera öppenkodsprojekt dränks av AI-genererade felaktiga buggrapporter. Daniel Stenberg berättar hur de drabbar hans projekt Curl.

Daniel Stenberg ägnade vid ett tillfälle flera timmar åt att försöka förstå en omfattande och väldokumenterad felrapport. Tills han plötsligt insåg att funktionen inte ens fanns i Curl och aldrig hade funnits där.

– Allt såg korrekt ut: patchen, debug-utskriften, till och med kraschdumpen. 

Allt var en hallucination av en okänd AI-kodbott. Paketerad och inskickad av en okänd amatörkodare som mycket väl kan ha varit mycket nöjd över att kunnat bidra med en kritisk säkerhetsrapport till ett av världens mest spridda öppenkodsprojekt – Curl har 20 till 40 miljarder installationer.

Det här berättade Daniel Stenberg i en fullsatt keynote på konferensen Froscon i Bonn i augusti. 

Utöver att ha skapat och vara maintainer av filöverföringsbiblioteket Curl är Daniel Stenberg bland annat ordförande för EU-finansierade EOSA (European Open Source Academy). Och så är han tidvis skribent på Elektroniktidningen – han blev faktiskt erbjuden att skriva denna artikel, men:

– Tack för frågan och det vore nog kul men jag känner inte att jag har tid för detta.

Den hallucinerade funktionen är långt ifrån det enda exemplet på AI-slask som stjäl värdefull arbetstid från Daniel Stenberg och andra medarbetare i Curl-projektet.

Artikeln är tidigare publicerad i magasinet Elektroniktidningen.
Prenumerera kostnadsfritt!

AI-rapporterna kan presentera sårbarheter som inte finns eller sårbarheter som redan åtgärdats. De kan använda formuleringar som ser trovärdiga ut och tvingar utvecklare att lägga timmar på felsökning efter fel som inte existerar.

Effekten blir att verkliga fel riskerar att drunkna i bruset, samtidigt som utvecklarna drabbas av stress och utbrändhet.

Han tror inte att AI-slaskrapportörerna menar illa. De kan snarare vara välmenta bidragsgivare som förvirrats av den hajp som omger AI. De tror att de kan göra en enkel men värdefull insats med hjälp av AI-verktyg.

Efter föreläsningen konstaterade en åhörare att Curl-projektet långt ifrån är ensamt om problemet – AI-genererade slaskrapporter drabbar fler öppenkodsprojekt.

Det är ett nytt fenomen.

– För två år sedan hände det här inte alls, berättar Daniel Stenberg.

I dag är mellan 20 och 40 procent av Curl-buggrapporter AI-slask. Och mängden ökar, enligt Daniel Stenberg. Under första halvåret i år pekade endast var tjugonde rapport ut en faktisk sårbarhet, vilket är en ””betydligt” mindre andel än tidigare år.

En buggrapport till Curl kan belönas med upp till tiotusen dollar. En av de möjligheter som övervägs nu är att ta bort den typen av incitament. Motvilligt – eftersom prissummor gör stor nytta för projektet även om den inte ens hittar buggar – för du vet att din kod får en ordentlig genomkörare av alla som försöker.

Sammanlagt 81 buggrapporter till Curl har genom åren delat på 92 000 dollar.

– Men slask-rapporterna håller på att underminera hela systemet.

Daniel Stenberg har idag ingen lösning på problemet.

– Nån typ av friktion måste in i processen.

Han är skeptisk till förslag om att avgiftsbelägga felrapporter. Liksom att bara tillåta felrapporter från meriterade konton (AI-felrapporter kommer ofta från nyskapade konton). Eller att kräva att felrapporten inkluderar en körning som demonstrerar buggen. Eller att smyga in canary-code i Curl:s anvisningar, som lurar chattbottar att försäga sig. Eller att låta en annan AI läsa rapporter för att känna igen och filtrera bort de som är skrivna av AI.

Daniel Stenberg vill inte riskera grundprincipen för öppen källkod: att vem som helst ska kunna delta. Och han tror att det faktiskt hänt att AI bidragit till att hitta buggar i Curl, så det vore ett misstag att försöka sortera bort alla bidrag från AI.

– Problemet är inte att rapporterna är AI-genererade i sig, utan att de är skräp. AI gör det enkelt att producera stora volymer skräp, medan det för oss är enormt jobbigt att hantera.

Blir du ertappad med en dålig rapport blir ditt konto blockat (men det är enkelt att skapa ett nytt konto). En av motåtgärderna har blivit att alltid motfråga rapportören om AI hjälpt till, för att teamet ska kunna tända en varningslampa.

För vissa av de AI-skapade rapporterna gäller att deras sätt att skriva avslöjar dem. De är föredömligt strukturerade med exempel och sammanfattningar. Allt är rättstavat, konsekvent formaterat och med långa bindestreck enligt grammatikens alla regler. 

– Och fulla av punktlistor i varje avsnitt. Punktlistor, punktlistor, punktlistor.

De är också överdrivet artiga.

– Riktiga människor som hittar en bugg ber inte om ursäkt – de säger ”Du har fel! Du borde…”

Samtidigt kan maskinöversatta rapporter från icke engelsktalande se ut på liknande sätt.

– AI kan säkert vara till hjälp – om det används av en kunnig människa som filtrerar bort skräpet och plockar fram det användbara. Men att låta chattbottar själva skicka in buggrapporter är bara en ny sorts spam, konstaterar Daniel Stenberg.

FOTO: Kira_Wazinski (topp), Jonathan Corbet, LWN.net (infälld).