An Open-Agent Framework for Intelligent Compliance Analysis in Infrastructure as Code Using Large Language Models
Dit artikel presenteert een nieuw open-agent framework dat de deterministische beleidshandhaving van Open Policy Agent hybride combineert met Large Language Model-gestuurde contextuele redenering om precieze, audit-gereed compliance-analyse en remediatiebegeleiding voor Infrastructure as Code te leveren, waarbij statistisch significante prestatieverbeteringen worden aangetoond ten opzichte van traditionele statische analyse-instrumenten.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (https://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
In de moderne digitale wereld bevindt de infrastructuur die onze applicaties aandrijft, onze gegevens opslaat en onze diensten uitvoert zich niet langer in een fysieke serverruimte met rijen knipperende lampjes. In plaats daarvan leeft het in de cloud, een uitgestrekt netwerk van afgelegen computers die worden beheerd door enorme technologiebedrijven. Voor de organisaties die deze diensten gebruiken, is de verantwoordelijkheid voor beveiliging verschoven. Terwijl de cloudproviders ervoor zorgen dat de hardware werkt, moeten de klanten ervoor zorgen dat hun digitale configuraties correct zijn ingesteld. Een enkele fout in de manier waarop een opslagbucket wordt geopend of hoe een netwerkpermissie wordt verleend, kan gevoelige informatie blootstellen aan het hele internet. Om deze complexiteit te beheren, gebruiken ingenieurs een methode genaamd "Infrastructure as Code". Deze aanpak behandelt de inrichting van digitale middelen als een softwareprogramma, waarbij de regels in tekstbestanden worden geschreven die door machines kunnen worden gelezen. Dit maakt consistentie en snelheid mogelijk, maar het betekent ook dat een enkele fout in de code onmiddellelijk kan worden gekopieerd naar honderden systemen, wat een wijdverspreide kwetsbaarheid creëert voordat iemand het merkt.
Om deze fouten op te vangen, vertrouwen beveiligingsteams op geautomatiseerde tools die de code scannen op bekende fouten, vergelijkbaar met hoe een spellingcontrole typefouten vindt. Deze traditionele tools zijn echter vaak rigide; ze kunnen je vertellen dat een regel is overtreden, maar ze worstelen ermee om uit te leggen waarom dat ertoe doet of hoe je het op een manier kunt oplossen die zinvol is voor een menselijke auditor. Aan de andere kant kan een nieuwere technologie, bekend als large language models, code lezen en verklaringen in natuurlijke taal genereren, maar ze zijn geneigd tot het verzinnen van zaken of het geven van inconsistente resultaten wanneer ze alleen worden gebruikt. De uitdaging voor onderzoekers is geweest om de strikte betrouwbaarheid van geautomatiseerde scanners te combineren met de verklarende kracht van intelligente taalmodellen om een systeem te creëren dat zowel precies als begrijpelijk is.
Een team van onderzoekers aan de Princess Sumaya University for Technology heeft een nieuw framework gebouwd dat deze twee benaderingen succesvol samenvoegt. Ze creëerden een systeem dat eerst een strikte, op regels gebaseerde engine gebruikt om infrastructuurcode te scannen op overtredingen van specifieke beveiligingsstandaarden, en vervolgens die bevestigde overtredingen doorgeeft aan een intelligent taalmodel om heldere, voor mensen leesbare rapporten en voorgestelde oplossingen te genereren. De onderzoekers testten dit systeem op een grote collectie van 231 echte configuratiebestanden. Ze ontdekten dat het hybride systeem opmerkelijk accuraat was, waarbij het bijna 97 procent van de gevallen waarin het een melding gaf, correct identificeerde als beveiligingsfouten, terwijl het ook meer dan 90 procent van de werkelijke problemen in de bestanden vond. Deze prestatie was aanzienlijk beter dan bestaande industriële tools, die de neiging hebben om te veel onschuldige kwesties te melden, wat leidt tot onnodig werk voor ingenieurs.
De kern van dit nieuwe framework is een vijfstaps-proces dat ruwe code transformeert in een gepolijst auditrapport. Eerst neemt het systeem de ruwe configuratiebestanden en vertaalt deze naar een formaat dat de scannende engine kan begrijpen. Vervolgens controleert een deterministische policy engine, die werkt als een strikte scheidsrechter, de code tegen een specifieke set van 16 beveiligingsregels. Deze regels zijn gebaseerd op de NIST SP 800-53 standaard, een breed erkende catalogus van beveiligingscontroles die door overheden en ondernemingen wordt gebruikt. De engine zoekt naar specifieke patronen, zoals een opslaggerechtigheid die geen encryptie heeft of een netwerkpoort die openstaat voor het publiek. Omdat deze engine vaste regels volgt, gokt hij nooit; hij rapporteert alleen wat hij als een overtreding kan bewijzen.
Zodra de engine een overtreding identificeert, stopt het systeem daar niet. Het stuurt de details van de fout naar een large language model, dat fungeert als een contextuele redeneeragent. Dit model krijgt drie specifieke taken: het risico in begrijpelijke taal uitleggen, de fout koppelen aan de officiële beveiligingsstandaard die wordt overtreden, en een gecorrigeerde code-snippet genereren om het probleem op te lossen. Om te voorkomen dat het model fouten maakt in de feitelijke delen van het rapport, hebben de onderzoekers een veiligheidsmechanisme ingebouwd. Het model mag de naam van de beveiligingsstandaard niet raden; in plaats daarvan zoekt het systeem de juiste naam op uit een geverifieerde lijst en voegt deze automatisch in. Het model is alleen vrij om de uitleg en de code-fix te genereren. Bovendien voegden de onderzoekers strikte instructies toe aan de prompt van het model om ervoor te zorgen dat de geschreven code syntactisch correct is en vrij is van onnodige tekst, een stap die essentieel bleek voor de betrouwbaarheid.
De resultaten van de studie demonstreren de kracht van deze gecombineerde aanpak. Bij het testen tegen de 231 configuratiebestanden behaalde het systeem een precisie van 96,9 procent, wat betekent dat wanneer het een bestand als problematisch aanmerkte, het bijna altijd gelijk had. Het behaalde ook een recall van s 90,5 procent, waarmee het het overgrote deel van de werkelijke fouten die in de code verborgen zaten, succesvol vond. Ter vergelijking: een toonaangevende industriële tool genaamd Checkov, die breed wordt gebruikt in de sector, vond elke enkele fout in de testset, maar markeerde ook bijna de helft van de schone bestanden als problematisch. Dit hoge aantal valse alarmen zou beveiligingsteams dwingen tijd te verspillen aan het onderzoeken van problemen die niet bestaan. Het nieuwe framework bood daarentegen een veel duidelijker signaal, waardoor de ruis werd verminderd terwijl de detectiegraad hoog bleef.
Een nadere blik op de gegevens onthulde een duidelijk patroon in de soorten gevonden fouten. De meest voorkomende overtreding betrof het ontbreken van encryptie voor data in rust (data at rest), wat meer dan 64 procent van alle gedetecteerde problemen besloeg. Deze bevinding komt overeen met eerder onderzoek dat suggereert dat het vergeten te versleutelen van opgeslagen gegevens de meest frequente beveiligingsfout in cloudomgevingen is. Het systeem identificeerde ook succesvol problemen gerelateerd aan toegangscontroles en auditlogging, waarmee het een breed spectrum aan beveiligingseisen dekte. De onderzoekers merkten op dat het vermogen van het systeem om accurate, audit-klare rapporten te genereren een belangrijk voordeel was, omdat het de kloof overbrugt tussen technische detectie en de documentatie die vereist is voor compliance.
De studie benadrukte ook het belang van de waarborgen die in het systeem zijn ingebouwd. Toen de onderzoekers het taalmodel voor het eerst testten zonder strikte beperkingen, produceerde het code-fixes die vaak syntactisch ongeldig waren of vol stonden met onnodige tekst. Door strikte formateringsregels af te dwingen en een geverifieerde lookup-tabel voor feitelijke gegevens te gebruiken, bereikte het systeem een succespercentage van 100 procent in het genereren van geldige code-snippets en accurate control-mappings. Dit suggereert dat de betrouwbaarheid van dergelijke systemen niet voortkomt uit de intelligentie van het model alleen, maar uit het zorgvuldige ontwerp van de workflow eromheen.
Hoewel het systeem sterke resultaten liet zien, waren de onderzoekers voorzichtig om de beperkingen te vermelden. Het framework richt zich momenteel op een specifieke set beveiligingscontroles en cloudbronnen, en het opereert op de code voordat deze wordt uitgerold, wat betekent dat het geen problemen kan detecteren die ontstaan door wijzigingen die in het live systeem worden aangebracht na de implementatie. Daarnaast werd de grondwaarheid (ground truth) die werd gebruikt om het systeem te testen, afgeleid van een combinatie van geautomatiseerde heuristieken en handmatige injectie, wat de nuances van een echte wereldomgeving mogelijk niet perfect weergeeft. Ondanks deze grenzen biedt de studie een overtuigend bewijs van concept. Het laat zien dat door de onverzettelijke precisie van op regels gebaseerde engines te combineren met het flexibele redeneren van taalmodellen, het mogelijk is om een compliance-analyse tool te creëren die zowel zeer accuraat als echt nuttig is voor menselijke operators. Het werk suggereert een pad vooruit waarbij geautomatiseerde beveiligingstools niet alleen problemen vinden, maar teams ook helpen om deze met vertrouwen te begrijpen en op te lossen.
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.