2026-08-10
Het patroon is bijna altijd hetzelfde. Tijdens het snel opzetten van een integratie zet iemand een sleutel direct in de code in plaats van in een omgevingsvariabele, met het plan om dat later op te ruimen. Vraag je daarna aan een AI-assistent om een bug in datzelfde bestand op te lossen, dan leest die assistent de hele inhoud van het bestand, inclusief de sleutel. Bij tools die de conversatie of gegenereerde code bewaren voor toekomstig gebruik, kan die sleutel op plekken belanden waar je hem niet had verwacht.
Het risico zit dus niet in een AI die kwaadaardig is, maar in de simpele reden dat een taalmodel geen onderscheid maakt tussen code die je wilt delen en code die geheim moet blijven. Het leest gewoon alle tekst die je aanbiedt.
Een veelgehoorde aanname is dat een .env-bestand automatisch buiten het zicht van een AI-assistent blijft. Dat klopt niet vanzelf. Sommige tools sluiten .env-bestanden standaard uit van de context, andere doen dat pas als je dat expliciet instelt via een configuratiebestand voor de assistent zelf. Controleer per tool hoe die met dat soort bestanden omgaat in plaats van dat zomaar aan te nemen.
Zet sleutels altijd in een omgevingsvariabele en nooit letterlijk in een bestand dat de AI-assistent kan inzien zonder dat je dat bewust hebt toegestaan. Draai sleutels regelmatig om, zeker na een sessie waarin je veel bestanden hebt laten meelezen door een assistent. En gebruik waar mogelijk kortlevende, beperkte sleutels in plaats van een enkele hoofdsleutel die overal toegang toe geeft: gaat er dan toch iets mis, dan blijft de schade beperkt tot één dienst in plaats van je hele infrastructuur.
Een tweede, onafhankelijke beveiligingslaag helpt ook buiten de context van vibecoden. Een hardware-sleutel zoals de YubiKey 5 NFC (circa €55) voegt fysieke tweefactorauthenticatie toe aan accounts als GitHub en je cloudprovider, zodat een gelekt wachtwoord of een gelekte sessie alleen niet genoeg is om ergens in te loggen. Bekijk de YubiKey 5 NFC bij Amazon. Voor wie sleutels en configuratiebestanden liever helemaal offline en versleuteld bewaart in plaats van in een cloud-wachtwoordmanager, is een hardware-versleutelde USB-stick zoals de Kingston IronKey (circa €60) een simpele aanvulling. Bekijk de Kingston IronKey bij Amazon.
Dit is geen juridisch of beveiligingsadvies voor een specifieke situatie, alleen een praktische gewoonte die het risico kleiner maakt. Bij concrete twijfel over een echte lekkage is een beveiligingsprofessional een betere bron dan een blogartikel.
De meeste AI-codeassistenten zijn niet uit op het stelen van sleutels, maar ze zijn ook niet gebouwd om te herkennen wat geheim hoort te blijven. Behandel elke sessie waarin je een assistent volledige toegang geeft tot je project daarom als een moment waarop je zelf even controleert wat er precies in die bestanden staat, in plaats van blind te vertrouwen op wat er niet mis kan gaan.
Wil je weten hoe dit soort risico's zich verhoudt tot wie er eigenlijk verantwoordelijk is voor code die een AI voor je schreef, lees dan verder in dit artikel over auteursrecht en AI-gegenereerde code. En voor wie context binnen een project gerichter wil beperken: dit artikel over waarom context bepaalt of een AI-codeassistent nuttig is legt uit hoe je dat aanpakt.