Daniel Stenberg, de auteur van de tool voor het verzenden en ontvangen van gegevens via het netwerk curl, heeft kritiek geuit op het gebruik van AI-tools bij het opstellen van rapporten over kwetsbaarheden. Dergelijke rapporten bevatten gedetailleerde informatie, zijn in duidelijke taal geschreven en lijken kwaliteitsvol, maar zonder grondige analyse kunnen ze in werkelijkheid slechts misleidend zijn, door echte problemen te vervangen door goed ogende, maar waardeloze inhoud.
Het Curl-project biedt beloningen voor het opsporen van nieuwe kwetsbaarheden en heeft al 415 rapporten over potentiële problemen ontvangen, waarvan er slechts 64 zijn bevestigd als kwetsbaarheden en 77 als niet-veiligheidsgerelateerde fouten. Dit betekent dat 66% van alle rapporten geen nuttige informatie bevatten en alleen tijd van ontwikkelaars hebben gekost die beter aan nuttige taken besteed had kunnen worden.
Ontwikkelaars worden gedwongen veel tijd te verspillen aan het analyseren van nutteloze rapporten en moeten de daarin vermelde informatie soms meerdere keren controleren, omdat de externe kwaliteit van de presentatie extra vertrouwen in de informatie wekt en de indruk ontstaat dat de ontwikkelaar iets verkeerd heeft begrepen. Aan de andere kant vereist het opstellen van een dergelijk rapport minimale inspanning van de indiener, die zich niet vermoeit met het controleren op een werkelijk probleem, maar gewoon klakkeloos gegevens kopieert die zijn verkregen van AI-assistenten, in de hoop geluk te hebben in de strijd om de beloning te krijgen.
Er worden twee voorbeelden gegeven van dergelijke waardeloze rapporten. Een dag vóór de geplande bekendmaking van gegevens over de oktobervulnerability (CVE-2023-38545) werd er via Hackerone een rapport verzonden over het feit dat de patch met de oplossing openbaar was gemaakt. In werkelijkheid bevatte het rapport een door de AI-assistent Google Bard samengestelde mix van feiten over soortgelijke problemen en fragmenten van gedetailleerde informatie over eerdere kwetsbaarheden. Uiteindelijk leek de informatie nieuw en actueel, maar had het geen binding met de werkelijkheid.
Het tweede voorbeeld betreft een bericht over een buffer-overflow in de WebSocket-handler, ontvangen op 28 december, dat is verzonden door een gebruiker die al eerdere kwetsbaarheden aan verschillende projecten via Hackerone heeft gemeld. In de rapportage werd een algemene methode beschreven om het probleem te reproduceren, waarbij werd aangegeven dat een gewijzigd verzoek met een waarde die de buffer grootte overschrijdt, moest worden verzonden met behulp van strcpy. Ook werd een voorbeeld van een oplossing gegeven (de vervanging van strcpy door strncpy), met een verwijzing naar de regel code "strcpy(keyval, randstr)", waarin volgens de indiener een fout aanwezig was.
De ontwikkelaar heeft alles drie keer gecontroleerd en geen problemen gevonden, maar aangezien het rapport zelfverzekerd was geschreven en zelfs een oplossing bevatte, ontstond het gevoel dat er ergens iets over het hoofd werd gezien. Een poging om te verduidelijken hoe de onderzoeker de expliciete controle van de grootte vóór de aanroep van strcpy kon omzeilen, en hoe de buffer keyval kleiner bleek te zijn dan de gelezen gegevens, resulteerde in gedetailleerde, maar niet-informatieve uitleg die alleen de algemene redenen voor buffer-overflows behandelde, niet gerelateerd aan de specifieke Curl-code. De antwoorden leken op communicatie met een AI-assistent en nadat de ontwikkelaar een halve dag had besteed aan zinloze pogingen om te achterhalen hoe het probleem zich precies manifesteert, was hij er volledig van overtuigd dat er in werkelijkheid geen kwetsbaarheid bestond.
Bron: opennet.ru
