3min Devops

De onvermijdelijke schrikreflex tegen vibe coding

AI-code groeit, code review groeit niet mee

De onvermijdelijke schrikreflex tegen vibe coding

De term voor vrijzinnig programmeercode schrijven met AI is sinds februari “vibe coding”. Inmiddels is er genoeg tijd voorbijgegaan om te zien dat het geen eendagsvlieg is. Hetzelfde geldt voor alle problemen en daaraan gepaarde frustraties die massaal vibe coden oplevert.

Dankzij AI kunnen ook minder getalenteerde programmeurs hun software-ideeën verwezenlijken. Daar waar voorheen no-code en low-code de weg vrij moesten maken voor ‘citizen developers’, is de democratisering van coderen nu veel reëler. Eén probleem: de IT-wereld is er niet op ingericht.

Geen code review

Hoewel LLM’s capabeler zijn dan twee jaar geleden, blijven ze onveilige code genereren. Dit is al een riskant aspect aan AI-hulp bij coderen voor doorgewinterde developers, laat staan bij leken. AI-code wordt nu op schaal gegenereerd, met alle gevolgen van dien. Code review, een kritiek element voor enterprise-grade coderen, blijkt allerminst mee te groeien met de explosie aan AI-codegeneratie.

Mocht het kloppen dat Microsoft AI 30 procent van haar nieuwe code laat schrijven, zoals CEO Satya Nadella stelde, dan is deze scheefgroei zeer problematisch. Immers is het onduidelijk of zelfs de grootste techbedrijven als Microsoft en Meta de capaciteit hebben om de extra code tijdig te controleren.

Hoe zit dit gevaar er precies uit? Tests van individuen laten meermaals schrikbarend hoge percentages zien van code snippets die AI produceert met kwetsbaarheden erin. Zo blijkt in dit stuk dat GitHub Copilot in 44 procent van de gevallen onveilige code construeert, met regelmatig ernstige kwetsbaarheden die aanvallers erg graag vinden. Denk aan out-of-bounds writes en SQL-injections, precies de soort kwetsbaarheid die vaak bij exploitaties aanwezig is.

Je kunt je afvragen of dit voorspelbaar is. Hoewel de outputs van GenAI-modellen per definitie niet deterministisch zijn, zullen er ongetwijfeld patronen in de gemaakte fouten te bespeuren zijn, zelfs als deze afwijken van menselijk gegenereerde kwetsbaarheden. Dit zou weleens de sleutel kunnen zijn naar succes, waarbij de grote schaal van AI-code juist het voordeel kent dat steeds duidelijker wordt waar GenAI precies de mist in gaat.

De vraag is of de snelle ontwikkeling van GenAI een dergelijke voorspelbaarheid toelaat. Agentic AI compliceert dit in ieder geval, omdat het neerdaalt tot allerlei softwarelagen en daardoor complexere en lastiger te detecteren fouten maakt. Vooralsnog is dit niet onderzocht op dezelfde manier als de platte AI-gegenereerde code van LLM’s, dus we zijn benieuwd of de gemaakte fouten ook echt ondoorgrondelijk zijn.

Conclusie: balans vinden

Vibe coding zorgde ongetwijfeld voor een frisse wind aan optimisme. Opeens lijkt de barrière voor softwarecreatie lager dan ooit. Maar de uitdagingen blijven overeind om code veilig te houden. Tegelijkertijd: de uitdaging om voldoende personeel te vinden en marktconform te betalen, is ook steeds groter.

Daarom is het duidelijk dat AI-hulp bij coderen niet zomaar weg zal gaan, ongeacht de gevaren. De realiteit is dat de tooling zal moeten inspelen op “vibegecodeerde” bijdragen, waarbij de voorspelbare AI-kwetsbaarheden wellicht net zo stelselmatig te elimineren zijn als ze zijn geïntroduceerd. Daarvoor is wel een nieuw paradigma nodig rondom code review. Dat vereist, voor nu, een menselijke hand.

Lees ook: ‘Vibe coding’ steeds meer standaard voor code-ontwikkeling