Een cijferslot ligt op een computertoetsenbord
Gids23 juni · 10:139 min leestijd

Je AI-API-sleutels beschermen: zo voorkom je dat tools en plugins je credentials stelen

Een handvol API-sleutels geeft toegang tot je modellen, je data en je budget. Een praktische how-to: van inventarisatie en een secrets manager tot scoped keys, rotatie en monitoring.

Je AI-stack draait op een handvol API-sleutels. De sleutel van OpenAI of Anthropic, het token van je vectordatabase, de key van je betaalprovider, het toegangstoken van je CRM. Eén regel tekst per stuk, maar samen geven ze toegang tot je modellen, je klantdata en je maandbudget. En ze zitten overal: in een .env-bestand op je laptop, in een editor-plugin, in een CI-pipeline, in een npm-pakket dat drie niveaus diep meelaadt. Eén kwaadaardige plugin of één vergiftigd pakket leest ze in één keer uit.

Dat is geen theoretisch risico. Recent zag de ontwikkelaarswereld hoe 15 valse JetBrains-plugins AI-API-sleutels stalen van bijna 70.000 ontwikkelaars, en hoe ruim 140 npm-pakketten rond het Mastra-framework werden besmet met een credential-steler. De rode draad: je sleutels zijn het echte doelwit, en je AI-toolchain is je nieuwe aanvalsoppervlak geworden. Deze gids is voor de ondernemer of het team dat AI serieus inzet, van MKB tot een afdeling van een groter bedrijf, en die credentials nu wil afschermen voordat er iets misgaat. Geen abstracte beveiligingstheorie, maar een concrete workflow die je in een ochtend opzet en daarna grotendeels vanzelf draait.

Wat je nodig hebt

Voordat je begint, leg je dit klaar:

  • Een overzicht van je diensten. Elke betaalde of gratis dienst met een API-sleutel: AI-modellen, databases, betaalproviders, e-mail, je CRM.
  • Toegang tot de instellingen van elke dienst. Je hebt het beheerdersrecht nodig om sleutels in te trekken en nieuwe, beperkte sleutels aan te maken.
  • Een secrets manager. Een centrale, versleutelde kluis voor je sleutels, in de cloud of self-hosted (de keuze maak je in stap 2).
  • Een Git-repository met pre-commit hooks. Voor het automatisch scannen van code voordat een sleutel per ongeluk wordt gecommit.
  • Ongeveer een tot twee uur voor de eerste opzet. Daarna is het onderhoud minimaal.

De aanpak in het kort

Het beschermen van je AI-API-sleutels komt neer op zeven stappen: breng je sleutels in kaart, centraliseer ze in een secrets manager, geef elke sleutel zo min mogelijk rechten, roteer automatisch, knijp de rechten van plugins en pakketten dicht, scan elke commit, en bewaak het gebruik.

Werk de stappen in deze volgorde af:

1. Inventariseer al je sleutels

Maak eerst een lijst. Je kunt niets beschermen wat je niet kent. Loop elke dienst langs die je gebruikt en noteer per sleutel: van welke dienst hij is, waar hij staat (laptop, server, CI, een plugin), wat hij mag, en wie er toegang toe heeft. De meeste lekken beginnen bij een vergeten sleutel in een oud bestand of een testproject. Een sleutel die je niet op je lijst hebt, kun je ook niet roteren of intrekken.

2. Centraliseer in een secrets manager

Haal sleutels uit losse bestanden en zet ze in één kluis. Een secrets manager bewaart je credentials versleuteld en levert ze pas bij het draaien van je applicatie aan, in plaats van ze hardcoded in code of in een .env op tien plekken te laten staan. Je injecteert ze bij runtime; ze raken nooit de broncode.

De markt is volwassen. Een ruwe vergelijking van de gangbare opties:

ToolTypeSelf-hostenOpen sourceSterk in
InfisicalCloud of self-hostedJaJa (MIT)Open source met een complete gratis self-host
HashiCorp Vault / OpenBaoCloud of self-hostedJaVault: source-available (BSL); OpenBao: ja (MPL)Zwaardere, beleidsgedreven omgevingen
DopplerBeheerde clouddienstNeeNeeSnel starten, gratis tot drie gebruikers
AWS / GCP / Azure secretsBeheerde clouddienstNeeNeeAls je daar je infrastructuur al draait
SOPSCLI-encryptie van bestandenn.v.t.Ja (MPL)Versleutelde secrets in Git, klein en simpel

Draai je liever alles in eigen beheer, dan past een self-hosted opzet zoals Infisical of OpenBao op dezelfde server als je AI-gateway. Zit je al diep in één cloud, dan is de secrets manager van die cloud de weg van de minste weerstand. De beste keuze is bijna altijd: de eenvoudigste die je team echt gebruikt.

3. Geef elke sleutel zo min mogelijk rechten

Eén sleutel voor alles is de duurste fout. Het uitgangspunt is least privilege: een sleutel mag precies dat doen wat dat ene onderdeel nodig heeft, en niets meer. Wordt hij gestolen, dan is de schade beperkt tot die ene scope.

De meeste serieuze diensten ondersteunen dit inmiddels. OpenAI werkt met projecten waarin je sleutels aanmaakt met de rechten All, Restricted of Read Only, gekoppeld aan één project met een eigen budget en rate limit. Maak dus per applicatie of omgeving (productie, staging, een experiment) een eigen project met een eigen sleutel, in plaats van overal dezelfde organisatiesleutel te plakken. Hetzelfde principe geldt elders: een leesrecht waar je alleen leest, een aparte sleutel per integratie zoals je Stripe-betaalintegratie of je Supabase-database, en geen enkele geheime sleutel in code die in de browser draait.

4. Roteer sleutels automatisch

Een sleutel die nooit verandert, is een sleutel die lang genoeg leeft om gestolen te worden. Rotatie betekent: periodiek een nieuwe sleutel uitgeven en de oude intrekken. Goede secrets managers doen dit voor je. AWS Secrets Manager kan sleutels automatisch roteren, zo vaak als elke vier uur, en andere kluizen bieden vergelijkbare schema's.

Begin pragmatisch: roteer de gevoeligste sleutels (betaalprovider, productiemodellen) op een vast schema, bijvoorbeeld maandelijks, en zet daar waar het kan automatische rotatie aan. De cruciale stap die mensen overslaan: trek de oude sleutel daadwerkelijk in. Een geroteerde sleutel die nog werkt, is geen rotatie maar een extra sleutel.

5. Knijp de rechten van plugins en pakketten dicht

De aanval komt vaak niet via jouw code, maar via wat je code meelaadt. Een editor-plugin of een npm-pakket draait met dezelfde rechten als jij, en kan dus je .env en je shell-omgeving lezen. Beperk dat aanvalsoppervlak:

  • Installeer alleen wat je vertrouwt en echt gebruikt. Elke plugin en elk pakket is een potentiële credential-steler. Minder is veiliger.
  • Pin je dependencies met een lockfile en update bewust, niet blind. Een vergiftigd pakket sluipt vaak binnen via een nieuwe minor-versie.
  • Geef plugins minimale bestandstoegang. Draai onbekende tools liever in een container of sandbox dan op je kale werkmachine met al je sleutels binnen handbereik.
  • Scheid je sleutels van je werkomgeving. Als je secrets bij runtime uit een kluis komen en niet als platte omgevingsvariabele rondslingeren, valt er voor een meelezend pakket veel minder te halen.

6. Scan elke commit op secrets

Zet een hek voor je repository. De klassieke blunder is een sleutel die per ongeluk in Git belandt; eenmaal gepusht, staat hij in de geschiedenis en moet je hem als gelekt beschouwen. Een secret scanner vangt dit af voordat het gebeurt. Gitleaks is hiervoor de open-source standaard onder de MIT-licentie: het draait als pre-commit hook én in je CI, herkent API-sleutels en tokens via regex en entropie-analyse, en blokkeert de commit als het iets vindt.

De opzet is klein: voeg Gitleaks toe aan je .pre-commit-config.yaml zodat elke commit lokaal wordt gescand, en draai dezelfde scan als verplichte stap in je CI-pipeline voor wie de hook lokaal heeft uitgezet. Vals-positief? Een .gitleaksignore of een gitleaks:allow-comment houdt de scan schoon zonder hem uit te zetten.

7. Bewaak gebruik en stel budgetten in

Zonder monitoring merk je diefstal pas op de factuur. De laatste stap maakt misbruik zichtbaar terwijl het gebeurt. Zet per project een uitgavenlimiet en een rate limit, schakel waarschuwingen in bij ongebruikelijk verbruik, en log wie welke sleutel wanneer gebruikt. Een sleutel die plots vanuit een onbekend land of midden in de nacht duizenden calls doet, hoort een alarm af te laten gaan, niet een naheffing.

Wil je dit steviger aanpakken voor AI-agents die zelfstandig calls doen, dan kun je AI-agents audit-ready houden met logging, budgetten en kill-switches, zodat je een ontspoorde of gekaapte sleutel met één handeling stillegt.

Valkuilen

  • De vergeten .env in Git. Voeg .env toe aan je .gitignore voordat je iets commit, en vertrouw daarnaast op je secret scanner. Staat een sleutel eenmaal in de historie, dan helpt verwijderen niet meer: roteren is dan de enige echte oplossing.
  • Eén almachtige sleutel. Comfortabel, maar als hij lekt, ligt alles open. Splits per omgeving en per integratie.
  • Roteren zonder intrekken. De oude sleutel blijft een open deur. Controleer dat hij echt is gedeactiveerd.
  • Secrets in client-side code. Alles wat in de browser draait, is leesbaar voor de bezoeker. Geheime sleutels horen achter een backend, nooit in je frontend-bundel.
  • Sleutels in CI-logs. Een onschuldig echo of een debug-print zet je sleutel in een logbestand dat half je team kan lezen. Behandel logs als openbaar.
  • Blind vertrouwen op extensies. Een populaire plugin is niet automatisch een veilige plugin. De recente incidenten draaiden juist om tools die er legitiem uitzagen.

Kant-en-klaar vs. maatwerk

Moet je hiervoor iets laten bouwen, of pak je een standaardtool? Een eerlijke afweging:

Kant-en-klaar (SaaS secrets manager)Self-hosted standaardtoolMaatwerk-opzet
OpzettijdMinuten tot urenEen dagDagen tot weken
Controle over je dataBij de leverancierVolledig bij jouVolledig bij jou
OnderhoudLeverancierJij (updates, back-ups)Jij of een partner
Past bijDe meeste teams die snel willen startenWie alles in eigen beheer wilComplexe stacks met eigen eisen

Voor de meeste ondernemers is een bestaande secrets manager precies goed: snel, betrouwbaar en je hoeft het wiel niet opnieuw uit te vinden. Kies self-hosted als data-soevereiniteit of een specifieke compliance-eis zwaarder weegt dan het gemak. Maatwerk is pas zinnig als je een ongebruikelijke stack hebt waar de standaardtools niet op aansluiten, bijvoorbeeld sleutels die langs tientallen interne diensten en een eigen agent-laag moeten stromen. De valkuil is overigens niet te weinig techniek, maar te veel: een eenvoudige opzet die je team consequent gebruikt, verslaat een geavanceerd systeem dat niemand bijhoudt.

Wat het zwaarste weegt, is niet welke tool je kiest, maar of je sleutels als wat ze zijn behandelt: de loper op je hele digitale huis. Wie ze centraliseert, beperkt en bewaakt, verandert een gestolen sleutel van een ramp in een voetnoot. Dat is geen project van een kwartaal, maar een ochtend werk en daarna een gewoonte. En een gewoonte die je elke maand een potentiële naheffing, een datalek of een uitgeput modelbudget bespaart, is met afstand de goedkoopste verzekering in je hele stack.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Je credentials echt op slot

Ik denk met je mee over je AI-stack en richt het end-to-end in: van een secrets manager en scoped keys tot automatische rotatie en monitoring, zodat een gestolen sleutel een voetnoot blijft in plaats van een ramp.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Genoemde integraties

Dit artikel noemt deze tools. Ik koppel ze op maat aan je eigen systemen.

Gerelateerde artikelen

FBI waarschuwt voor supply-chain-groep TeamPCP en adviseert een minimale package-leeftijd
Nieuws
6 min

3 jul 14:10

FBI waarschuwt voor supply-chain-groep TeamPCP en adviseert een minimale package-leeftijd

De FBI bracht een officiele waarschuwing uit voor TeamPCP, die breed gebruikte ontwikkel- en beveiligingstools vergiftigde. De concrete raad: installeer een pakket pas na een minimale leeftijd van zeven dagen.

Je AI-automatiseringsstack beveiligen tegen supply chain-aanvallen: van npm tot Langflow
Gids
10 min

24 jun 13:05

Je AI-automatiseringsstack beveiligen tegen supply chain-aanvallen: van npm tot Langflow

Het grootste deel van je AI-stack is code van vreemden. Zo leg je elke afhankelijkheid vast, verifieer je herkomst en houd je Langflow en LiteLLM dicht, stap voor stap.

Je AI-toolchain is je nieuwe aanvalsoppervlak
Inzicht
8 min

20 jun 09:00

Je AI-toolchain is je nieuwe aanvalsoppervlak

Van npm-pakketten tot IDE-plugins tot zelfgehoste gateways: elke laag van je AI-stack is een actief aanvalspad geworden. Zonder supply chain beleid loop je nu al risico.

OpenAI maakt GPT-5.6 het voorkeursmodel in Microsoft 365 Copilot
Nieuws
3 min

10 jul 04:11

OpenAI maakt GPT-5.6 het voorkeursmodel in Microsoft 365 Copilot

OpenAI maakt GPT-5.6 het voorkeursmodel in Microsoft 365 Copilot, geleverd via de API. Toch schoof Microsoft drie dagen eerder eigen, goedkopere MAI-modellen in Excel en Outlook. Achter dezelfde Copilot-knop draait voortaan een gemengde stack, en je leverancier kiest.

Microsoft vervangt AI van OpenAI en Anthropic door eigen modellen in Excel en Outlook
Nieuws
4 min

7 jul 21:14

Microsoft vervangt AI van OpenAI en Anthropic door eigen modellen in Excel en Outlook

Microsoft zet in Excel en Outlook zijn eigen MAI-modellen in plaats van die van OpenAI en Anthropic, meldt Bloomberg. De eerste echte productstap na de aankondiging in juni, gedreven door kostenbesparing. Wat verandert er onder de motorkap van je Office-tools?

OpenAI en Anthropic overbieden elkaar met gratis rekenkracht voor startups
Nieuws
3 min

7 jul 14:23

OpenAI en Anthropic overbieden elkaar met gratis rekenkracht voor startups

OpenAI en Anthropic overbieden elkaar met miljoenen aan gratis rekenkracht om AI-startups binnen te halen. Aantrekkelijk op korte termijn, maar de credits vergroten je afhankelijkheid van één modelleverancier. Wat dat betekent voor een Nederlandse AI-startup.