Hoe je codekwetsbaarheden vindt met AI-agents zonder de bank te breken
Onlangs stuitte ik op deepsec van de mensen bij Vercel Labs. Het idee pakte me: ontwikkelaars stellen voor om AI-agents te gebruiken voor diepgaande beveiligingsscans van codebases. In tegenstelling tot klassieke statische analyzers (SAST) die je vaak bestoken met valse positieven, brengt deze "slimme" zoektocht in het spel.
Het probleem met legacy-tools is dat ze patronen spotten maar context missen. Deepsec probeert dat op te lossen.
Wat is dit ding
Dit is in essentie een wrapper voor het beheren van scans. Het systeem jaagt niet alleen op gevaarlijke codefragmenten met regex-patronen—het voedt verdachte gebieden aan taalmodellen voor analyse. De makers waarschuwen eerlijk dat een scan van een grote repository op volle intensiteit duur kan worden. De README noemt kosten van duizenden, zelfs tienduizenden dollars.
De cijfers zijn intimiderend, maar Vercel's redenering is eenvoudig: een enkele gemiste kritieke bug in productie kan het bedrijf veel meer kosten.
Hoe het proces werkt
Het tool werkt in fasen. Eerst wordt een snelle scan uitgevoerd zonder neurale netwerken—commando scan identificeert simpelweg potentieel problematische gebieden met matchers. Deze fase kost niets.
De echte magie gebeurt met commando process. Dat is wanneer agents het overnemen. Ze nemen de bevindingen van de eerste fase en beginnen ze uit te pakken. De agent bepaalt of er daadwerkelijk een kwetsbaarheid is of dat het een vals alarm is. Voor enorme projecten kan de uitvoering worden verdeeld over workers.
Functies die ik leuk vond
Deepsec heeft verschillende architectonische beslissingen die ervaren engineers verraden die erachter zitten.
Ten eerste kan het systeem hervatten waar het gebleven was. Als je internet wegvalt of je budget op je OpenAI/Anthropic API-saldo op is, hoef je niet opnieuw te beginnen. De status wordt lokaal opgeslagen in map .deepsec.
Ten tweede is er een hervalidatiemechanisme. Commando revalidate controleert de Git-historie: als je een kwetsbaarheid al hebt opgelost, zal het tool dat opmerken en het niet opnieuw markeren.
Ten derde is er contextueel bewustzijn. In plaats van de hele repository aan het model te voeren (wat prohibitief duur en inefficiënt zou zijn), vraagt deepsec je om een beknopt projectoverzicht voor te bereiden—bestand INFO.md. Je beschrijft de specifics: hoe autorisatie werkt, welke middleware wordt gebruikt, waar configs zich bevinden. Dit helpt de agent om voor de hand liggende vragen te vermijden en vermindert fouten.
Hoe je het zelf draait
Om te beginnen is een standaard npx voldoende:
npx deepsec init
cd .deepsec
pnpm install
Configureer vervolgens je toegangssleutels. Het team raadt Vercel AI Gateway aan, maar je kunt ook directe Anthropic- of OpenAI-tokens doorgeven. Het belangrijkste is om limieten in de gaten te houden. Een standaard Claude Pro-abonnement dekt geen volledige scan—je wilt vanaf het begin budgetteren voor API-toegang.
Voor het controleren van wijzigingen in een specifieke pull request is er een handige vlag:
pnpm deepsec process --diff
Dit bespaart aanzienlijk tijd en geld omdat alleen de gewijzigde bestanden worden geanalyseerd.
Technische kant en beveiliging
Het is de moeite waard om te vermelden dat deepsec zelf shell-toegang heeft. Je voert code uit die een agent bestuurt met commando-uitvoeringsrechten. Om te voorkomen dat je wordt geraakt door kwaadaardige code in projectafhankelijkheden, is er een Vercel Sandbox-modus. In dit geval vindt het werk plaats in geïsoleerde micro-VM's, en je API-sleutels blijven buiten en kunnen niet worden gestolen.
Voor wie is dit
Voor kleine hobbyprojecten is deepsec overkill. Maar als je in enterprise werkt met enorme legacy codebases waar beveiliging belangrijker is dan het besparen van een paar honderd dollar aan tokens, is het de moeite waard om te proberen. Het is bijzonder goed in het vinden van logische fouten in authenticatie of complexe kwetsbaarheidsketens die een gewone linter nooit zou oppikken.
Moet je haasten om dit in elke CI/CD-pijplijn te implementeren? Waarschijnlijk niet. Maar als tool voor periodieke diepgaande codebase-audits lijkt het een zeer verstandige benadering van AppSec in 2024.
Gerelateerde projecten