Veracode: 45% van de AI-code zakt voor beveiligingstests
Meer dan 100 taalmodellen kregen dezelfde programmeertaken. Bijna de helft van de code was onveilig.
Wat het onderzoek vond
Veracode gaf 80 programmeertaken aan meer dan 100 grote taalmodellen, in Java, Python, C# en JavaScript, en testte de code op beveiligingsfouten. De taken waren gebouwd rond bekende soorten zwakke plekken (CWE).
45% van de voorbeelden zakte voor de beveiligingstests en bevatte fouten uit de OWASP Top 10. Java faalde in 72% van de gevallen, Python in 38%, JavaScript in 43% en C# in 45%.
Tegen cross-site scripting (CWE-80) beschermden de modellen niet in 86% van de relevante voorbeelden, en tegen log injection (CWE-117) niet in 88%. Nieuwere en grotere modellen waren niet veiliger, al werkte hun code vaker.
De oorzaak
Modellen schrijven code die werkt, niet code die veilig is. Ze kiezen vaak de onveilige optie, en dat werd niet beter met grotere modellen.
Wat het betekent voor beheer
Code die werkt, is nog geen gecontroleerde code. Een beveiligingsreview en automatische scans blijven nodig, wie of wat de code ook schreef.
Let op: de 45% komt uit een samengestelde testset. Het is geen meting van alle AI-code die in productie draait.
Beheer haalt niet elk risico weg. Het zorgt wel dat iemand kijkt voordat het misgaat, en dat er een back-up ligt als het toch gebeurt.