Van elke nieuwe Python-functie op GitHub is inmiddels 29 procent door AI geschreven, tegenover 5 procent in 2022, becijferde het vakblad Science in januari. Al die code moet nog altijd iemand nakijken. Sinds DevDay heeft OpenAI daar een eigen antwoord voor. Codex Security scant je repository op kwetsbaarheden, probeert elk verdacht lek in een afgesloten container echt uit te buiten, en zet pas dan een reparatie klaar als concept-pull-request. De winst zit in die middelste stap. Wat er met zo'n patch gebeurt, blijft wel jouw beslissing.
Codex Security is de beveiligingsagent van OpenAI. Hij maakt eerst een dreigingsmodel van je repository, zoekt daarna naar kwetsbaarheden, probeert elke vondst in een wegwerpcontainer te reproduceren en levert waar mogelijk een patch als concept-pull-request. Je draait hem in de ChatGPT-desktopapp, vanaf de terminal met npx, of als cloudplugin op een gekoppelde GitHub-repo.
Wat doet Codex Security precies?
Codex Security is een beveiligingsagent die kwetsbaarheden zoekt, bevestigt en repareert in code die jij beheert. OpenAI leverde het in drie smaken, en dat onderscheid is belangrijk, want ze draaien op verschillende plekken en vragen verschillende toegang.
| Variant | Waar het draait | Waarvoor je het gebruikt | Wat je nodig hebt |
|---|---|---|---|
| Codex Security-plugin | ChatGPT-desktopapp, als taak op je eigen machine | Een map of repo op je laptop scannen voor je een pull request opent | Desktopapp plus de plugin |
| CLI en TypeScript-SDK | Je eigen terminal, CI-pijplijn of een Docker-host | Scans automatiseren, bulkscans, pre-commit-checks | Node.js 22.13 of nieuwer en Python 3.10 of nieuwer |
| Codex Security Cloud | Codex cloud, op gekoppelde GitHub-repo's | Hele repo's scannen en nieuwe commits blijven volgen | Zakelijk of Pro-abonnement, research preview |
De cloudversie is het meest interessant voor teams, omdat die blijft draaien als niemand kijkt. De CLI is het meest interessant voor bureaus, omdat je daarmee tientallen klantprojecten achter elkaar langs kunt lopen. Op een gratis account of een Plus-abonnement kom je er niet in.
Hoe weet Codex of een lek echt een lek is?
Codex probeert elk verdacht lek te reproduceren in een geïsoleerde container voordat het als bevinding in je lijst belandt. Daarin zit het verschil met een klassieke scanner, en volgens de documentatie van OpenAI loopt de pijplijn in vier fases: analyse, scan, validatie en remediatie. In de analysefase leest Codex de code en bouwt het een dreigingsmodel, een samenvatting van de architectuur met de ingangen, vertrouwensgrenzen en risicovolle onderdelen. Daarna pas gaat hij zoeken.
Even voor de beeldvorming: dit is alsof een aannemer niet alleen meldt dat er een scheur in de muur zit. Hij gooit er eerst een emmer water tegenaan om te laten zien dat het echt lekt, en komt pas daarna met een bak specie aan. Lukt die reproductie niet, dan blijft de bevinding staan als onbevestigd, met de logs van de poging erbij.

OpenAI zegt er zelf duidelijk bij wat het niet is. Codex Security vervangt je bestaande SAST-tools niet en vervangt een menselijke securityreview al helemaal niet. Het voegt redeneren over betekenis toe aan scanners die vooral patronen herkennen. Je project hoeft overigens niet te compileren om gescand te worden, al kan Codex tijdens de validatie alsnog proberen te bouwen als dat helpt om het lek aan te tonen.
Zo zet je een cloudscan op je GitHub-repo
De cloudscan opzetten kost vijf stappen en je hoeft er geen regel configuratie voor te schrijven.
- Installeer de plugin. Open Plugins in ChatGPT op het web of in de desktopapp, zoek op Codex Security Cloud, installeer en open hem.
- Koppel GitHub. Kies Scan en geef toegang tot precies de repositories die je wilt laten scannen. Mist er een repo, dan zit het verschil in de rechten van de GitHub-koppeling.
- Start een eerste scan. Kies de repository, laat de omgeving op Auto staan, zet Scan Method op One-Time Scan en klik op Create.
- Lees de bevindingen. Onder Findings filter je op New, Triaged en In Progress. Per bevinding zie je de betrokken code, het bewijs uit de validatie en een reparatieadvies.
- Zet continu scannen aan. Start een tweede scan, kies Continuous Scanning en bepaal hoeveel commitgeschiedenis Codex mag meenemen.

Twee dingen om te weten voor je dit op je hoofdproject loslaat. Continu scannen werkt alleen op de standaardbranch, dus op main of master en niet op je feature-branches. En het dreigingsmodel dat Codex genereert kun je zelf bijwerken onder Monitoring settings, wat de moeite waard is zodra je architectuur verandert.
Hoe scan je vanaf de terminal?
De CLI zit in het publieke npm-pakket @openai/codex-security en je draait hem zonder installatie met npx. Eerst inloggen met je ChatGPT-account:
npx @openai/codex-security login
Kies daarna een map buiten de repository voor de resultaten, want die bevatten fragmenten broncode en kwetsbaarheidsdetails. De dry-run controleert je invoer zonder credentials te laden en zonder een scan te starten:
REPOSITORY=/pad/naar/repository SCAN_DIR=/pad/buiten/repository/codex-security-results npx @openai/codex-security scan "$REPOSITORY" --output-dir "$SCAN_DIR" --dry-run
Gaat dat goed, dan haal je de --dry-run eraf en draait de echte scan. Je krijgt een leesbaar report.md, plus findings.json, coverage.json en een SARIF-export voor je eigen dashboards. Let op dat veld coverage: dat kan complete zijn, maar ook partial of unknown. Een scan met gedeeltelijke dekking is geen bewijs dat je code is nagekeken.
Wil je dat Codex de gevonden gaten ook dichtmaakt, dan vraag je om patches vanaf een bepaalde ernst:
npx @openai/codex-security scan "$REPOSITORY" \ --patch --patch-severity high --json
Met --create-pr erbij commit hij de geverifieerde patches en opent hij een pull request op GitHub. Twee commando's leveren in de praktijk meer op dan een volledige scan. De eerste is een diff-scan die alleen je nieuwe werk bekijkt, de tweede een pre-commit-check die je commit tegenhoudt bij een ernstige vondst.
# alleen de wijzigingen tussen main en je huidige werk npx @openai/codex-security scan "$REPOSITORY" --diff origin/main --head HEAD # installeer een pre-commit-check in deze repository npx @openai/codex-security install-hook
Een detail dat blijft hangen: het live dashboard in je terminal toont sessiedetails die broncode en soms credentials bevatten. Deel dus je scherm niet terwijl er een scan loopt. Hetzelfde geldt voor de bewaarde logs, die niet worden geschoond.
Wat kost zo'n scan?
Een scan kost wat het model verbruikt, en je kunt daar vooraf een plafond op zetten. De CLI draait standaard op gpt-5.6-sol met redeneerniveau xhigh, en dat model staat in de prijslijst van OpenAI op 4 dollar per miljoen invoer-tokens en 20 dollar per miljoen uitvoer-tokens. Voor het zware werk is er een apart cybermodel, gpt-5.6-cyber, dat met 12,50 dollar per miljoen invoer-tokens en 75 dollar per miljoen uitvoer-tokens ruim drie keer zo duur is.
De begrenzing die je wilt kennen heet --max-cost. Die stopt de scan zodra de geschatte modelkosten je limiet passeren:
npx @openai/codex-security scan "$REPOSITORY" --max-cost 5
Vijf dollar is tegen de koers van 5 oktober ongeveer 4,45 euro, en dat is het bedrag waarboven de scan netjes afbreekt met bewaarde resultaten. Voor een mkb-bureau is dat een prettiger model dan een licentie per zitplaats: je betaalt per scan, niet per developer. Wie Codex al gebruikt voor het schrijven van code kent ook de keerzijde, want het weektegoed in Codex is met GPT-5.6 Sol verrassend snel leeg. In een deep scan kun je trouwens een looptijd tot 96 uur opgeven. Vier dagen scannen op één repository, en dan is dat nog een ondersteunde instelling ook.
Hoe voorkom je dat je een half-dichte patch mergt?
Behandel elke voorgestelde patch als een pull request van een stagiair: nuttig, maar niet ongelezen naar productie. Daar is een harde reden voor. Het securityteam van 1Password liet 6.080 patches schrijven door twee topmodellen, en van elke vier lekken ging er maar één echt dicht. Het gevaar zat vooral in de reparaties die er goed uitzagen en het lek toch lieten bestaan.
OpenAI bouwt daar zelf een paar remmen in. Patches worden nooit automatisch toegepast en landen altijd als concept-pull-request, niet als commit op je branch. Bevindingen die zijn gereproduceerd in de sandbox krijgen het label gevalideerd, zodat je in de lijst ziet welke vondsten bewijs achter zich hebben. En markeer je iets terecht als vals alarm, dan neemt een volgende scan die uitleg mee:
npx @openai/codex-security findings false-positive BEVINDING_ID \ --reason "De route controleert de rechten al"
Drie controles kosten weinig tijd en vangen het meeste. Kijk of de bevinding gevalideerd is of alleen vermoed. Lees de diff regel voor regel in plaats van de samenvatting. En draai na het mergen dezelfde scan opnieuw, zodat je ziet of het lek echt verdwenen is in plaats van dat je het aanneemt. Dat laatste is precies wat scans compare voor je uitrekent, inclusief welke bevindingen nieuw, hersteld of heropend zijn. Anthropic biedt overigens een vergelijkbare route: Claude leest je codebase als een hacker en patcht de gaten zelf.
Wat betekent dit voor je zorgplicht onder de Cyberbeveiligingswet?
Sinds 15 augustus 2026 geldt de Cyberbeveiligingswet voor ruim 8.000 Nederlandse organisaties, en twee van de tien zorgplichtmaatregelen raken precies dit onderwerp. De eerste gaat volgens het NCSC over “beveiliging bij het verwerven, ontwikkelen en onderhouden van netwerk- en informatiesystemen, met inbegrip van de respons op en bekendmaking van kwetsbaarheden”. De tweede gaat over de beveiligingsrelatie met je directe leveranciers. Bouw jij software voor een ziekenhuis, een vervoerder of een energiebedrijf, dan ben jij die leverancier.
Daar zit de praktische winst van gestructureerde scanresultaten. Een report.md met datum, een coverage.json dat vertelt wat wel en niet is bekeken, en een SARIF-export die in je eigen dashboard past, vormen samen een aantoonbaar proces. Dat is iets anders dan een mondelinge belofte dat je team op beveiliging let. Houd er wel rekening mee dat de meldplicht een korte klok heeft: een eerste waarschuwing binnen 24 uur, een vervolgmelding binnen 72 uur en een eindverslag binnen een maand.
Nederland werkt ondertussen aan een eigen variant van dit idee. Op 25 september overhandigden twaalf organisaties, waaronder TNO, NS, Schuberg Philis, DIVD, VUSec en het NCSC, in Den Haag het manifest Prometheus aan staatssecretaris Willemijn Aerdts. Het doel is een marktneutrale voorziening die met AI kwetsbaarheden sneller vindt dan aanvallers ze kunnen misbruiken, uiteindelijk ook beschikbaar voor het mkb.
“Het is een ontwikkeling die zich sneller voltrekt dan individuele organisaties kunnen bijhollen.”
Frits Grotenhuis, Digital Holland, bij de presentatie van het Prometheus-manifest
Dat initiatief staat nog in de pilotfase. Het gereedschap van OpenAI staat er vandaag. Voor wie niet kan wachten op een collectieve voorziening is dat het verschil tussen een voornemen en een scan die vanavond draait. Hoe Nederlandse bedrijven er verder voor staan met AI lees je in de mkb-cijfers van TheAIDaily.
Voor wie dit vandaag al werkt, en voor wie nog niet
Codex Security is het nuttigst als je zelf code beheert en die code iets bewaakt waar je niet bij wilt dat anderen komen. Een webshop met klantgegevens, een koppeling naar je boekhouding, een klantportaal. Heb je geen eigen repository en draai je alleen standaardsoftware, dan verandert dit niets voor je en kun je beter naar je leveranciers kijken.
Er zitten ook nog echte drempels aan. De cloudversie is een research preview en vraagt een zakelijk of Pro-abonnement. Het npm-pakket is openbaar, maar om scans te draaien heb je aparte Codex Security-toegang nodig. Voor een volledige repositoryscan kan OpenAI bovendien extra verificatie eisen via het programma Trusted Access for Cyber. Lokale scans draaien bovendien met jouw eigen rechten en vragen onderweg niet om goedkeuring, dus haal ongebruikte credentials uit je omgeving voordat je begint.
De verstandige eerste stap kost een half uur. Draai een diff-scan op de laatste twee weken werk, lees het rapport, en kijk of er één bevinding tussen zit die je zelf gemist had. Is het antwoord ja, dan weet je genoeg. De code en de releases staan trouwens open op GitHub, en de volledige commandolijst in de CLI-quickstart van OpenAI. Dit soort releases staat ook in onze AI-nieuwsbrief.
Veelgestelde vragen
Wat is Codex Security?
Codex Security is de beveiligingsagent van OpenAI voor code. Hij zoekt kwetsbaarheden in een repository, probeert ze in een geïsoleerde container te reproduceren en levert waar mogelijk een voorgestelde patch. Je gebruikt hem in de ChatGPT-desktopapp, via de CLI of als cloudplugin op GitHub.
Welk abonnement heb je nodig voor Codex Security Cloud?
De cloudversie draait op de betaalde zakelijke abonnementen en op Pro, en staat nog als research preview aangemerkt. Op een gratis account of een Plus-abonnement is hij niet beschikbaar. De CLI is een openbaar npm-pakket, maar om scans te draaien heb je aparte Codex Security-toegang nodig.
Past Codex Security de patches automatisch toe?
Nee. Een voorgestelde patch wordt nooit vanzelf op je branch gezet. Je bekijkt het voorstel eerst en kiest daarna zelf of er een concept-pull-request van wordt gemaakt.
Vervangt dit je bestaande scanners?
Nee. OpenAI positioneert Codex Security als aanvulling op klassieke SAST-tools, die brede en voorspelbare dekking geven. Codex voegt redeneren over de betekenis van code en automatische validatie toe. Een menselijke securityreview blijft ook nodig.
Hoeveel kost een scan?
Je betaalt het modelverbruik van de scan. Het standaardmodel gpt-5.6-sol kost 4 dollar per miljoen invoer-tokens en 20 dollar per miljoen uitvoer-tokens. Met de optie --max-cost zet je een plafond, bijvoorbeeld 5 dollar, oftewel ongeveer 4,45 euro.
Helpt dit bij de Cyberbeveiligingswet?
Het helpt bij het aantoonbaar maken van twee zorgplichtmaatregelen: de respons op kwetsbaarheden bij ontwikkeling en onderhoud van systemen, en de beveiliging richting je directe leveranciers. Scanrapporten, dekkingsbestanden en SARIF-exports zijn bruikbaar bewijsmateriaal, maar vervangen geen beveiligingsbeleid.