Concepts for Securing Agentic AI Coding and the Terok Environment
Dit artikel behandelt de aanzienlijke IT-beveiligingsrisico's die door Agentic AI in softwareontwikkeling worden geïntroduceerd door een uitgebreide beoordeling van deze dreigingen te presenteren, een mitigatiestrategie voor te stellen die de voordelen van de technologie behoudt, en een implementatie van dit concept te detalleeren om veilige en verantwoorde adoptie mogelijk te maken.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
Stel je een nieuw soort software-assistent voor die niet alleen wacht op instructies, maar erop handelt. In de wereld van computerprogrammeren vertegenwoordigt deze verschuiving een beweging van een hulpmiddel dat code suggereert naar een partner die het kan schrijven, testen en zijn eigen fouten kan herstellen zonder constant menselijk toezicht. Dit staat bekend als agentic artificial intelligence (agentische kunstmatige intelligentie). Hoewel deze technologie belooft de softwareontwikkeling sneller en efficiënter te maken, introduceert het een uniek en ernstig probleem: om nuttig te zijn, moet de agent de macht hebben om bestanden te wijzigen, commando's uit te voeren en toegang te krijgen tot het internet op jouw computer. Dezelfde macht, als de agent een fout maakt of wordt misleid, zou de mogelijkheid bieden om je privégegevens te stelen, schadelijke software te installeren of je systeem te beschadigen. De vraag waar ontwikkelaars voor staan, is hoe ze dit krachtige nieuwe hulpmiddel kunnen benutten zonder het wild te laten gaan.
Een team van onderzoekers van het Center for Advanced Systems Understanding en het Helmholtz-Zentrum Dresden-Rossendorf in Duitsland heeft deze uitdaging aangepakt door een beveiligde omgeving specifiek te ontwerpen voor deze autonome programme-agenten. Zij stellen dat de voordelen van het laten werken van een agent op onafhankelijke wijze — zoals het vermogen om automatisch code te compileren, tests uit te voeren en fouten te corrigeren — te waardevol zijn om te negeren, maar dat ze gepaard gaan met ernstige risico's die niet simpelweg kunnen worden opgelost door de agent te vragen zich goed te gedragen. In plaats van te proberen de geest van de agent te controleren, hebben de onderzoekers een fysieke en digitale barrière rondom deze gebouwd. Ze hebben een systeem genaamd Terok gecreëerd, dat fungeert als een veilige sandbox waarin de agent vrij kan opereren, maar alleen binnen strikte grenzen die de rest van de computer en het bredere internet beschermen.
De kern van hun oplossing is een concept van scheiding. De onderzoekers behandelen de programme-agent als onbetrouwbaar, wat betekent dat ze ervan uitgaan dat de agent per ongeluk of opzettelijk schade kan aanrichten. Om dit te beheren, isoleren ze de agent in een container, wat een lichtgewicht, zelfstandige ruimte op de computer is waar de agent elk gewenst commando kan uitvoeren zonder de persoonlijke bestanden van de gebruiker of het hoofdbesturingssysteem te beïnvloeden. Als de agent probeert een virus te installeren of een bestand te verwijderen, heeft dit alleen invloed op deze geïsoleerde ruimte, waardoor de rest van de computer onaangetast blijft. Deze isolatie is de eerste verdedigingslinie, die ervoor zorgt dat zelfs als de agent zich als een virus gedraagt, hij zijn kooi niet kan verlaten.
Echter, isolatie alleen is niet voldoende omdat de agent nog steeds moet communiceren met de buitenwereld om codebibliotheken te downloaden of te praten met de kunstmatige intelligentiedienst die hem aanstuurt. Om dit te beheren, hebben de onderzoekers een tweede laag bescherming toegevoegd: een strikte firewall die elke uitgaande verbinding controleert. Standaard wordt de agent geblokkeerd van contact met externe servers. Als de agent een specifieke website moet bereiken om zijn werk te doen, vraagt het systeem de menselijke gebruiker om toestemming. Dit voorkomt dat de agent per ongeluk privégegevens naar de verkeerde plek stuurt of kwaadaardige software downloadt van een gecompromitteerde bron.
De derde en misschien wel meest slimme beveiliging heeft betrekking op hoe de agent interageert met de code-repository van het project, wat de centrale plek is waar softwarecode wordt opgeslagen en gedeeld. In plaats van de agent rechtstreeks naar de hoofdproject te laten schrijven, maakt het systeem een tijdelijke, lokale spiegel van die repository aan. De agent werkt aan deze kopie, maakt wijzigingen door en commit deze alsof het de echte versie is. Zodra de agent zijn taak heeft voltooid, beoordeelt de menselijke gebruiker de wijzigingen in deze lokale spiegel. Pas nadat de gebruiker het werk heeft goedgekeurd, wordt het doorgezet naar het hoofdproject. Dit zorgt ervoor dat eventuele verborgen fouten of kwaadaardige code die door de agent is ingevoegd, worden opgevangen voordat ze ooit de publieke of de gedeelde codebase van het team bereiken.
Ten slotte beschermt het systeem de geheime sleutels en wachtwoorden die de agent nodig heeft om te functioneren. Deze inloggegevens, zoals het wachtwoord om met de kunstmatige intelligentiedienst te communiceren of de sleutel om toegang te krijgen tot de code-repository, worden veilig buiten de geïsoleerde ruimte van de agent opgeslagen. Wanneer de agent deze nodig heeft, injecteert het systeem de informatie op het laatste moment zonder de werkelijke geheime informatie ooit aan de agent te tonen of te laten kopiëren. Dit voorkomt dat een gecompromitteerde agent deze sleutels steelt en ze gebruikt om andere systemen aan te vallen of zich als de gebruiker voor te doen.
De onderzoekers presenteren Terok als een open-source softwareomgeving die deze beschermingsconcepten implementeert. Ze stellen voor dat deze methode ontwikkelaars in staat stelt om de volledige kracht van agentic artificial intelligence te benutten — het laten uitvoeren van complexe taken, het zelfstandig herstellen van fouten en het raadplegen van het internet — terwijl de risico's beperkt blijven. Het systeem elimineert niet de mogelijkheid dat een agent een fout maakt of wordt misleid, maar het zorgt ervoor dat de gevolgen van dergelijke gebeurtenissen beperkt blijven tot de geïsoleerde omgeving en niet overslaan naar de persoonlijke gegevens van de gebruiker of het bredere netwerk.
Dit werk beweert geen permanente of perfecte oplossing te zijn, aangezien het veld van kunstmatige intelligentie zeer snel beweegt. De onderzoekers erkennen dat er nieuwe soorten risico's kunnen ontstaan en dat het systeem zal moeten evolueren. Ze merken ook op dat sommige risico's, zoals de mogelijkheid dat mensen vergeten hoe ze moeten programmeren als ze te veel op deze hulpmiddelen vertrouwen, niet enkel door technologie kunnen worden opgelost. Hun aanpak biedt echter een praktische en veilige manier om vandaag de dag het potentieel van agentische programmering te verkennen. Door een veilige ruimte te creëren waarin deze krachtige tools getest en verantwoord gebruikt kunnen worden, hopen de onderzoekers de ontwikkelgemeenschap aan te moedigen deze technologie te adopteren zonder angst voor de ernstige beveiligingsrisico's die het momenteel tegenhoudt. Het resultaat is een systeem dat de balans vindt tussen de opwinding over nieuwe mogelijkheden en de noodzaak van veiligheid, waardoor mensen de controle behouden terwijl machines het zware werk doen.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.