Tankeledere

AI ÃĶndrer, hvem der bestemmer, hvilket software kommer ind i din organisation

mm
FÃļj Unite.AI til dine foretrukne kilder pÃĨ Google

AI er blevet en del af den daglige softwareudvikling. Fra generering af API’er og skrivning af tests til opfÃļrelse af hele applikationer, hjÃĶlper kodningsassistenter udviklingsteams med at lÃļse problemer og udgive software hurtigere end nogensinde fÃļr. Produktivitetsgevinsterne er uafviselige, og organisationer omfatter hurtigt AI pÃĨ tvÃĶrs af softwareudviklingslivscyklussen.

Meget af samtalen har fokuseret pÃĨ den kode, AI genererer. Kan udviklere stole pÃĨ AI-genereret kode? Introducerer den sÃĨrbarheder? Hvordan skal sikkerhedsteams gennemgÃĨ den? Disse spÃļrgsmÃĨl er vigtige, men de er ikke den stÃļrste ÃĶndring, AI bringer til softwareudvikling. AI er gÃĨet ud over bare at kunne generere kode og pÃĨvirker nu ogsÃĨ de fÃļrste softwarevalg, der former, hvilket software kommer ind i en organisation.

AI-kodningsassistenter bygger sjÃĶldent applikationer fra bunden, og de komponerer lÃļsninger ved hjÃĶlp af eksisterende rammer, open-source-biblioteker, SDK’er, containerimages og pakkeÃļkosystemer. Hver anbefaling former softwaregrundlaget, en applikation er bygget pÃĨ, ofte fÃļr en udvikler gennemgÃĨr den fÃļrste linje af genereret kode.

I ÃĨrtier har den fÃļrste tillidsbeslutning i softwareudvikling nÃĶsten udelukkende tilhÃļrt udviklere, men nu begynder den antagelse at ÃĶndre sig. AI anbefaler mere og mere, mens udviklere validerer resultatet herefter. Denne subtile ÃĶndring har betydelige implikationer for softwareforsyningskÃĶdesikkerhed, fordi hver anbefaling medfÃļrer en implicit tillidsbeslutning.

Organisationer har brugt ÃĨr pÃĨ at styre, hvordan software bygges, testes og udgives. Den nÃĶste udfordring er at styre, hvordan software vÃĶlges i en AI-naturlig udviklingsmiljÃļ.

Den FÃļrste Tillidsbeslutning

Hver applikation afhÃĶnger af software skabt af tusinder af bidragydere pÃĨ tvÃĶrs af utallige open-source-projekter. FÃļr introduktion af en ny afhÃĶngighed, vurderede udviklere typisk dokumentation, sammenlignede rammer, gennemgik fÃĶllesskabsadoption, undersÃļgte udgivelseshyppighed og overvejede, om et projekt var modent nok til produktion. Udviklere valgte ikke altid det rigtige, men hver afhÃĶngighed blev introduceret bevidst.

I dag kan en udvikler blot bede en AI-assistent om at “bygge en sikker REST-API med godkendelse og PostgreSQL-understÃļttelse.” Inden for sekunder genererer AI en fungerende projekt. Undervejs anbefaler den en runtime, vÃĶlger en ramme, henviser til en basiscontainerbillede, importerer godkendelsesbiblioteker, vÃĶlger SDK’er og genererer afhÃĶngighedsmanifest som package.json, requirements.txt eller pom.xml. Pakkeledere lÃļser derefter disse afhÃĶngigheder og deres transitivt afhÃĶngigheder under byggeprocessen.

De fleste udviklere gennemgÃĨr den applikation, AI producerer, men kun fÃĨ standser for at undersÃļge hver softwarebeslutning, AI trÃĶffer undervejs. AI har komprimeret softwarevalg, der tidligere tog timer af research, til sekunder og anbefaler mere og mere pÃĨ vegne af udviklere.

Hver Anbefaling Er En Tillidsbeslutning

Hver softwaregenstand bÃĶrer sin egen tilladskÃĶde. En bibliotek har vedligeholdere, bidragydere, udgivelsesprocesser, signaturpraksis, afhÃĶngigheder og proveniens. En containerbillede arver software fra upstream-distributioner, og en SDK introducerer yderligere pakker, hver af dem udvider tilladskÃĶden.

En enkelt AI-anbefaling kan hurtigt udvide til hundredvis af softwaregenstande, der bliver en del af en applikation. Open source har altid fungeret pÃĨ denne mÃĨde. Hvad der ÃĶndrer sig, er, hvem der trÃĶffer disse tillidsbeslutninger fÃļrst. Historisk set vurderede og valgte udviklere de komponenter, de stolede pÃĨ. AI-systemer anbefaler mere og mere, mens udviklere validerer resultatet herefter.

Det lyder som en lille ÃĶndring, men det ÃĶndrer fundamentalt, hvordan organisationer skal tÃĶnke om softwareforsyningskÃĶdesikkerhed.

AI Optimerer For Arbejdende Software, Ikke Organisatorisk Tillid

Ingenting af dette betyder, at AI trÃĶffer dÃĨrlige anbefalinger. TvÃĶrtimod.

AI-kodningsassistenter er gode til at anbefale software, fordi de har lÃĶrt af millioner af eksempler pÃĨ, hvordan udviklere lÃļser lignende problemer. Som resultat af dette fremstÃĨr populÃĶre rammer, velunderstÃļttede biblioteker og kendte implementeringsmÃļnstre naturligt i deres forslag, og det er prÃĶcis det, der gÃļr disse vÃĶrktÃļjer sÃĨ vÃĶrdifulde.

Men disse optimeringsmÃĨl er fundamentalt forskellige fra de spÃļrgsmÃĨl, enterprise-sikkerhedsteams behÃļver at fÃĨ besvaret. AI vurderer ikke, om en pakke er i overensstemmelse med en organisations softwarepolitik, om en containerbillede er genopbygget fra kilde, om softwareproveniens er verificeret eller om en afhÃĶngighed stammer fra en godkendt softwarekilde.

Funktionalitet, popularitet og sandsynlighed er nyttige signaler til kodegenerering, men de bÃļr aldrig bruges som erstatning for verificering.

Hvorfor Vi Har Brug For At Integrere Til Venstre

I ÃĨrevis har softwareforsyningskÃĶdesikkerhed fokuseret pÃĨ at identificere risiko efter, at software er kommet ind i udviklingsprocessen. SÃĨrbarhedsscannere, Software Composition Analysis og SBOM’er har dramatisk forbedret synligheden i den software, applikationer indeholder.

Disse vÃĶrktÃļjer er stadig essentielle, men de adresserer en anden del af problemet.

AI flytter softwarevalg meget tidligere i udviklingslivscyklussen, sÃĨ nÃĨr traditionelle sikkerhedscontroller begynder deres analyse, kan det genererede projekt allerede henviser til dusinvis af afhÃĶngigheder, der nu krÃĶver vurdering, afhjÃĶlpning eller erstatning. Organisationer reagerer stadig pÃĨ softwarevalg, der allerede er kommet ind i udviklingsarbejdsprocessen.

Det er derfor, jeg mener, organisationer har brug for at integrere til venstre.

IdÃĐen bag at integrere til venstre er enkel: Tillid skal etableres, fÃļr software bliver en del af en applikation, ikke efter. Da AI bliver en aktiv deltager i softwareudvikling, bliver denne princip endnu vigtigere. Styring skal flyttes til det punkt, hvor software vÃĶlges, ikke hvor den til sidst scannes.

Organisationer har brug for at definere tilladte softwarekilder, etablere, hvilke softwaregenstande AI er tilladt at anbefale, og verificere disse genstande, fÃļr de bliver en del af udviklingsarbejdsprocessen. MÃĨlet er at sikre, at AI accelererer softwarelevering inden for rammer, der afspejler organisationens sikkerheds-, overholdelses- og ingeniÃļrstandarder.

At Styre Softwarevalg I AI-Æraen

Organisationer definerer allerede, hvor software kan kÃļre, hvordan den udgives og hvem der er autoriseret til at udgive den. I stigende grad vil de ogsÃĨ have brug for at definere, hvilket software AI er tilladt at anbefale.

Det er her, softwareforsyningskÃĶdeholdning bliver stadig vigtigere. Organisationer har brug for tillid ikke kun til den software, de bygger, men ogsÃĨ til den software, AI anbefaler pÃĨ deres vegne. Denne tillid kommer fra verificering, tilladte softwarekilder og styring, der begynder, fÃļr software kommer ind i udviklingsprocessen.

AI vil fortsÃĶtte med at transformere softwareudvikling, og det er rigtigt nok. Produktivitetsgevinsterne er for store til at ignorere, men da organisationer omfatter AI-naturlig udvikling, mÃĨ de erkende, at softwarevalg bliver mere og mere automatiseret.

De organisationer, der lykkes, vil vÃĶre de, der etablerer tilladte softwarekilder, verificerer de softwaregenstande, AI anbefaler, og integrerer styring i softwarevalg fra begyndelsen.

AI ÃĶndrer, hvordan software skrives, men nu, endnu vigtigere, ÃĶndrer det, hvordan software vÃĶlges. For i AI-ÃĶraen afhÃĶnger den software, du stoler pÃĨ, mere og mere af den software, din AI vÃĶlger fÃļrst.

Biswajit De er medstifter og teknisk direktÃļr i CleanStart, hvor han leder virksomhedens tekniske vision og produktstrategi for at sikre moderne softwareforsyningskÃĶder og cloud-native miljÃļer.