NormenCbwBIO2ISO 27001
Steeds meer gemeenten bouwen een eigen AI-voorziening naast of in plaats van een product van een grote leverancier. De bouwstenen zijn bijna altijd open source: een chatomgeving voor medewerkers, een gateway die vragen naar het juiste taalmodel stuurt, een vectordatabase voor de eigen documenten en open modellen van een publieke modelbank. Dat geeft keuzevrijheid en een exitroute. Het betekent ook dat er geen leverancier is die de keten voor je bewaakt. Tussen de ontwikkelaar van een pakket en jouw server staat niemand, behalve jij.
Sinds 15 augustus 2026 is het bewaken van die keten een wettelijke plicht. De Cyberbeveiligingswet vraagt maatregelen voor de beveiliging van de toeleveringsketen en voor beveiliging bij het verwerven, ontwikkelen en onderhouden van systemen (art. 21 lid 3 onder d en e). De Cyberbeveiligingsregeling sector overheid legt de lat bij de BIO2 en eist dat opzet, bestaan en werking van de maatregelen aantoonbaar zijn (art. 5 lid 3). Een AI-stack die je met een paar installatiecommando's hebt binnengehaald, voldoet daar niet aan.
LiteLLM is een veelgebruikte open-source gateway die één ingang geeft naar tientallen taalmodellen. Op 24 maart 2026 verschenen om 10:39 UTC twee kwaadaardige versies (1.82.7 en 1.82.8) in de publieke pakketbank PyPI. Na ongeveer veertig minuten haalde PyPI ze offline.
Pinnen is niet het hele verhaal. Tussen april en september 2026 verschenen voor hetzelfde pakket zestien beveiligingsadviezen voor gewone kwetsbaarheden: authenticatie-omzeiling, SQL-injectie, het uitvoeren van commando's. Wie op één versie blijft staan, verzamelt die gaten. Je moet dus allebei kunnen: vastzetten wat er draait, en in een vast ritme gecontroleerd bijwerken.
latest, geen versiebereik. Pakketten via een lockfile met
hashes (pip install --require-hashes, of
uv lock), containers op digest (@sha256:...)
in plaats van op tag. Dan draait er alleen wat je hebt gezien, ook als
iemand onder dezelfde naam iets anders publiceert.safetensors-formaat. Oudere modelformaten
kunnen bij het laden code uitvoeren.minimumReleaseAge
in Renovate, exclude-newer
in uv. Beveiligingsupdates voor een actief misbruikte kwetsbaarheid gaan
met een bewuste uitzondering voor.Deze aanpak geldt voor alles wat je zelf installeert en beheert: een eigen chatomgeving, een eigen gateway, open modellen op eigen of gehuurde servers. Neem je de hele voorziening af als dienst, dan verschuift het werk naar de leverancier en naar je contract. Vraag dan om de componentenlijst, de updatetermijnen en een meldplicht bij compromittering, bijvoorbeeld via de security-annex voor leveranciers. Een samenwerkingsverband dat voor meerdere gemeenten een voorziening beheert, zit voor de deelnemers in die tweede rol en moet het werk dus zelf doen.
Dit laat je zien als een toezichthouder of auditor vraagt hoe je de keten beheerst. De nummers zijn die van ISO 27002:2022, die de BIO2 volgt.
Aan een bestuurder: "Onze AI-voorziening bestaat uit onderdelen die vrijwilligers en bedrijven wereldwijd publiceren. In maart zat er in zo'n onderdeel veertig minuten lang code die wachtwoorden stal. Wie op een vaste, gecontroleerde versie zat, merkte niets. Wij zorgen dat wij bij die groep horen, en de wet vraagt dat wij dat kunnen aantonen."
De componentenlijst is een verfijning van Ketenafhankelijkheden in beeld voor de AI-keten. Het bijwerkritme hoort bij Kwetsbaarheden scannen en opvolgen. Wat een AI-agent met de sleutels van de gateway mag, staat in Wiens bevoegdheid gebruikt een AI-agent?. Gaat het toch mis, dan staat in Wanneer meld je een AI-incident? welke meldplicht geldt.