Thought leaders

AI verandert wie software wordt geselecteerd

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google

AI is onderdeel geworden van de dagelijkse softwareontwikkeling. Van het genereren van API’s en het schrijven van tests tot het opzetten van complete applicaties, helpen coding-assistenten ontwikkelteams problemen op te lossen en software sneller dan ooit te leveren. De productiviteitswinsten zijn onmiskenbaar, en organisaties omarmen AI snel over de hele software-ontwikkelingscyclus.

Veel van de discussie heeft zich gericht op de code die AI genereert. Kunnen ontwikkelaars AI-gegenereerde code vertrouwen? Introduceert het kwetsbaarheden? Hoe moeten beveiligingsteams het controleren? Die vragen zijn belangrijk, maar ze zijn niet de grootste verandering die AI meebrengt in softwareontwikkeling. AI is verder gegaan dan alleen code kunnen genereren en beïnvloedt steeds meer de eerste softwareselectiebeslissingen die bepalen welke software een organisatie binnenkomt.

AI-coding-assistenten bouwen zelden applicaties van scratch en componeren oplossingen met behulp van bestaande frameworks, open-sourcebibliotheken, SDK’s, containerimages en pakketecosystemen. Elke aanbeveling vormt de softwarebasis waarop een applicatie is gebouwd, vaak voordat een ontwikkelaar de eerste regel gegenereerde code bekijkt.

Gedurende decennia behoorde de eerste vertrouwensbeslissing in softwareontwikkeling bijna geheel tot de ontwikkelaars, maar die aanname begint nu te veranderen. Steeds vaker doet AI de eerste aanbeveling, terwijl ontwikkelaars het resultaat later valideren. Die subtiele verschuiving heeft grote gevolgen voor de beveiliging van de softwareleveringsketen, omdat elke aanbeveling een impliciete vertrouwensbeslissing met zich meebrengt.

Organisaties hebben jarenlang besteed aan het reguleren van hoe software wordt gebouwd, getest en geïmplementeerd. De volgende uitdaging is het reguleren van hoe software wordt geselecteerd in een AI-natieve ontwikkelomgeving.

De eerste vertrouwensbeslissing

Elke applicatie is afhankelijk van software die is gemaakt door duizenden bijdragers in talloze open-sourceprojecten. Voordat een nieuwe afhankelijkheid wordt geïntroduceerd, hebben ontwikkelaars meestal de documentatie geëvalueerd, frameworks vergeleken, communityadoptie beoordeeld, de releasedatum onderzocht en overwogen of een project rijp was voor productie. Ontwikkelaars hebben niet altijd de juiste keuze gemaakt, maar elke afhankelijkheid werd opzettelijk geïntroduceerd.

Vandaag de dag kan een ontwikkelaar eenvoudigweg een AI-assistent vragen om “een beveiligde REST-API met authenticatie en PostgreSQL-ondersteuning te bouwen.” Binnen seconden genereert de AI een werkend project. Onderweg beveelt het een runtime aan, selecteert een framework, verwijst naar een basiscontainerimage, importeert authenticatiebibliotheken, kiest SDK’s en genereert afhankelijkheidsmanifesten zoals package.json, requirements.txt of pom.xml. Pakketbeheerders lossen die afhankelijkheden en hun transitive afhankelijkheden op tijdens het buildproces.

De meeste ontwikkelaars bekijken de applicatie die AI produceert, maar slechts een paar stoppen om elke softwarebeslissing te onderzoeken die AI onderweg maakt. AI heeft de softwareselectie die eerder uren van onderzoek kostte, samengeperst tot seconden en maakt steeds vaker de eerste aanbeveling namens ontwikkelaars.

Elke aanbeveling is een vertrouwensbeslissing

Elk software-artefact heeft zijn eigen vertrouwensketen. Een bibliotheek heeft onderhouders, bijdragers, releasedocumentatie, ondertekeningspraktijken, afhankelijkheden en herkomst. Een containerimage erft software van upstreamdistributies en een SDK introduceert extra pakketten, die de vertrouwensketen uitbreiden.

Een enkele AI-aanbeveling kan snel uitgroeien tot honderden software-artefacten die deel uitmaken van een applicatie. Open source werkt al jaren zo. Wat verandert, is wie die vertrouwensbeslissingen het eerst maakt. Historisch gezien hebben ontwikkelaars de componenten die ze vertrouwden, geëvalueerd en geselecteerd. Steeds vaker maken AI-systemen de initiële aanbevelingen, terwijl ontwikkelaars het resultaat later valideren.

Het klinkt als een kleine verandering, maar het verandert fundamenteel hoe organisaties moeten denken over de beveiliging van de softwareleveringsketen.

AI optimaliseert voor werkende software, niet voor organisatorisch vertrouwen

Dit betekent niet dat AI slechte aanbevelingen doet. Integendeel.

AI-coding-assistenten zijn goed in het aanbevelen van software omdat ze hebben geleerd van miljoenen voorbeelden van hoe ontwikkelaars soortgelijke problemen oplossen. Als gevolg daarvan verschijnen populaire frameworks, goed ondersteunde bibliotheken en vertrouwde implementatiepatronen van nature in hun suggesties, en dat is precies wat deze tools zo waardevol maakt.

Maar die optimalisatiedoelen zijn fundamenteel anders dan de vragen die enterprisebeveiligingsteams moeten beantwoorden. AI evalueert niet of een pakket overeenkomt met de softwarebeleid van een organisatie, of een containerimage opnieuw is opgebouwd vanaf de bron, of de software-herkomst is geverifieerd, of of een afhankelijkheid afkomstig is van een goedgekeurde softwarebron.

Functionaliteit, populariteit en waarschijnlijkheid zijn nuttige signalen voor het genereren van code, maar ze moeten nooit worden gebruikt als vervanging voor verificatie.

Waarom we naar links moeten integreren

Jarenlang heeft de beveiliging van de softwareleveringsketen zich gericht op het identificeren van risico’s nadat software de ontwikkelingscyclus is binnengekomen. Kwetsbaarheidsscanners, Software Composition Analysis en SBOM’s hebben de zichtbaarheid in de software die applicaties bevatten, aanzienlijk verbeterd.

Die tools blijven essentieel, maar ze lossen een ander deel van het probleem op.

AI verplaatst de softwareselectie veel eerder in de ontwikkelingscyclus, zodat wanneer traditionele beveiligingscontroles hun analyse beginnen, het gegenereerde project mogelijk al naar tientallen afhankelijkheden verwijst die nu moeten worden geëvalueerd, hersteld of vervangen. Organisaties reageren nog steeds op softwarekeuzes die al in de ontwikkelingsworkflow zijn terechtgekomen.

Dit is waarom ik geloof dat organisaties naar links moeten integreren.

Het idee achter Integreren naar links is eenvoudig: vertrouwen moet worden gevestigd voordat software deel uitmaakt van een applicatie, niet erna. Als AI een actief deelnemer wordt in softwareontwikkeling, wordt dat principe nog belangrijker. Governance moet worden verplaatst naar het punt waar software wordt geselecteerd, niet waar het uiteindelijk wordt gescand.

Organisaties moeten vertrouwde softwarebronnen definiëren, vaststellen welke software-artefacten AI mag aanbevelen en die artefacten verifiëren voordat ze deel uitmaken van de ontwikkelingsworkflow. Het doel is om ervoor te zorgen dat AI de softwarelevering versnelt binnen de randvoorwaarden die de beveiligings-, compliance- en ingenieursnormen van de organisatie weerspiegelen.

Softwareselectie reguleren in het AI-tijdperk

Organisaties definiëren al waar software mag draaien, hoe het wordt geïmplementeerd en wie gemachtigd is om het vrij te geven. Steeds vaker zullen ze ook moeten definiëren welke software AI mag aanbevelen.

Dit is waar Software Supply Chain Posture steeds belangrijker wordt. Organisaties moeten vertrouwen hebben niet alleen in de software die ze bouwen, maar ook in de software die AI namens hen aanbeveelt. Dat vertrouwen komt van verificatie, vertrouwde softwarebronnen en governance die begint voordat software de ontwikkelingspijplijn binnenkomt.

AI zal de softwareontwikkeling blijven transformeren, en terecht. De productiviteitswinsten zijn te groot om te negeren, maar als organisaties AI-natieve ontwikkeling omarmen, moeten ze erkennen dat softwareselectie steeds meer geautomatiseerd wordt.

De organisaties die slagen, zijn die welke vertrouwde softwarebronnen vaststellen, de software-artefacten verifiëren die AI aanbeveelt en governance integreren in softwareselectie vanaf het allereerste begin.

AI verandert hoe software wordt geschreven, maar nu, belangrijker nog, verandert het hoe software wordt geselecteerd. Omdat in het AI-tijdperk de software die u vertrouwt, steeds meer afhankelijk is van de software die uw AI het eerst kiest.

Biswajit De is de medeoprichter en Chief Technology Officer van CleanStart, waar hij de technische visie en productstrategie van het bedrijf leidt voor het beveiligen van moderne softwareleveringsketens en cloud-native omgevingen.