Direct naar de inhoud
Software Supply Chain Security

ORSK: een standaard voor self-destruct API-sleutels

ORSK standaard

Iedere security professional kent het scenario: een API-sleutel verschijnt in een publiek repositorytje, of een scanner treft hem in de openbaarheid. Vanaf dat moment tikt de klok. Je krijgt een zoektocht naar de herkomst van de sleutel—wie gaf deze uit, waar staat het contact, en wie leest de inbox—terwijl bots de sleutel meestal binnen minuten al hergebruiken. Zelfs als je daarna intrekt, blijft de echte schade vaak lang doorlopen.

Volgens de voorgestelde aanpak is dit probleem niet nieuw. We hebben eerder gestandaardiseerde revocation-alternatieven gekregen binnen OAuth. Maar in de praktijk domineert nog steeds een credentialtype dat het vaakst lekt: de statische API-sleutel. En juist daarvoor ontbreekt een gemeenschappelijke, open revocation-story. Daar komt de ORSK standaard in beeld: een open model waarin API-sleutels een ingebouwde self-destruct hebben, via een duidelijke discoverable kill switch.

Waarom gelekte API-sleutels vaak te lang actief blijven

Het lek is zelden het grootste probleem—het probleem is de tijd tussen detectie en effectieve inactivering. In veel organisaties verloopt die fase via mensen en processen: een melding, een triage, het vinden van de eigenaar, en pas daarna een intrekkingsactie. Ondertussen kan een aanvaller automatisch testen en direct misbruik maken.

Bovendien werken “klassieke” secret scanning systemen wel goed op het vinden van patronen, maar niet per definitie op het automatisch vernietigen ervan. Hierdoor blijft de sleutel soms actief, zelfs nadat iemand hem al lang ontdekt heeft.

Een positief voorbeeld is het Secret Scanning Partner Program van GitHub, waarin providers via een (meer gecentraliseerde en eigen) integratie een type sleutel laten herkennen en via webhook-revocation kunnen uitschakelen. Het werkt, maar het is niet een breed interoperabel standaardmodel.

De kern van de ORSK standaard in vier bouwstenen

De ORSK standaard wil een generieke manier creëren om sleutels meteen “killable” te maken. De belofte: zodra een scanner of een geautomatiseerd proces een sleutel vindt, kan het zonder lange afstemming de juiste issuer benaderen en de sleutel in quarantaine zetten of intrekken.

De voorgestelde opzet bestaat uit vier onderdelen:

1) Sleutels met issuer-identificatie

Elke ORSK-sleutel krijgt een herkenbare structuur met een vaste prefix. Daarin zit een encoded issuer-domein, plus het geheim zelf en een checksum. Het voordeel hiervan is tweeledig: scanners kunnen het type sleutel sneller detecteren en de checksum helpt om fout-positieven te beperken.

De ontbrekende schakel in de wereld van plain API keys is volgens de voorsteltekst vooral het issuer-domein: daarmee weet je offline welke uitgever je moet benaderen zodra de sleutel is gevonden.

2) Een discoverable kill switch via well-known

De issuer publiceert een klein JSON-bestand via een vaste route op een /.well-known locatie. Daarin staat wat nodig is om een sleutel te revokeren: het revocation-endpoint, een optionele introspection-endpoint, een security-contact en informatie over welke constraints ondersteund worden.

Het idee sluit aan bij bestaande conventies zoals discoverable configuratiebestanden die je ook ziet bij andere security-standaarden.

3) Revocation door bezit (zonder extra authenticatie)

De voorgestelde revocation-logica is: POST de volledige sleutel naar het revocation-endpoint. Er is volgens het model geen extra authenticatie vereist. De redenering is dat iemand die de sleutel bezit hem al kan misbruiken; het toestaan van revocation “door bezit” maakt het inactiveren van de sleutel juist sneller en praktischer.

Het endpoint antwoordt vervolgens altijd met een gelijksoortige “accepted”-respons—of de sleutel nu al live was, al dood was, of zelfs nooit echt bestond. Dat voorkomt dat aanvallers via response-verschillen informatie afleiden.

4) Geadverteerde constraints voor beleid en tooling

Tot slot publiceert de issuer in het configuratiebestand welke beperkingen gelden voor de sleutel: denk aan IP-allowlists, verplichte expiry, scopes of mTLS. Voor security- en procurementteams betekent dit dat ze beleid en randvoorwaarden veel eenvoudiger kunnen verifiëren—met één GET in plaats van langdurige afstemming.

“Self-destruct” zonder meteen outages: quarantaine als pull cord

Een sterk punt van het voorstel is dat het niet alleen kijkt naar beschikbaarheid van het systeem, maar ook naar de risico’s van misbruik van revocation zelf. De grootste tegenwerping is logisch: als revocation zonder authenticatie kan gebeuren, kan een kwaadwillende of een foutieve melder een sleutel verstoren.

Daarom introduceert ORSK een quarantine mode als optie. In plaats van het direct “op slot” zetten van de sleutel, wordt een unauthenticated revocation request eerst gebruikt om:

  • de eigenaar onmiddellijk te notificeren (op elke geregistreerde manier) met het bewijs van de melding;
  • de sleutel direct te beperken: read-only, throttling, blokkeren van destructive operations en uitgebreide logging;
  • een timer te starten (standaard 24 uur) die in het configuratiebestand wordt aangekondigd;
  • de eigenaar de mogelijkheid te geven om via een geauthenticeerd dashboard te versnellen of te annuleren, zonder te leunen op een link die per mail loopt.

Het resultaat: “griefing” verandert van een directe productie-uitval naar een gecontroleerde afwikkeling. Bij sleutels met extra kritieke impact (zoals payments en administratie) kan een issuer juist beleid kiezen voor onmiddellijke modus.

Waarom dit extra urgent is met AI-agents

In eerdere tijden was de primaire houder van credentials vaak een developer of een CI-pipeline. Met AI-agents verschuift dat landschap: één agent kan tegelijk sleutels beheren voor e-mail, code, CRM, betalingen en cloud-infrastructuur.

De risico’s veranderen daardoor ook van vorm. Agenten kunnen door prompt injection worden gestuurd om hun eigen credentials te exfiltreren. Daarnaast kunnen ze geheimen in logs zetten in hoog tempo. Daarmee wordt de tijd tussen compromis en misbruik kleiner—van dagen naar seconden.

De ORSK standaard past volgens de tekst bij deze agent-gedreven realiteit om drie redenen:

  • Een machine-readable kill switch is precies het type interface dat een autonoom systeem kan aanroepen.
  • Quarantaine werkt als guardrail: je kunt credentials beperken zodra een injection-aanval wordt vermoed of ontdekt.
  • Declared constraints maken least privilege tastbaar: IP-pinning, scope- en TTL-beleid kunnen automatisch in je beveiligingslogica worden meegenomen.

Er wordt zelfs een “omkering” voorgesteld die goed aansluit bij agentontwerp: een agent die klaar is met zijn taak kan de sleutel aan het eind zelf intrekken. Als je daarvoor een immediate-self-revoke policy combineert met korte TTL’s, wordt de kans op hergebruik in logbestanden of later misbruik aanzienlijk kleiner.

Belangrijk: de standaard maakt statische sleutels niet automatisch “veilig”. Wel maakt hij ze killable. Voor een agent die misleid kan worden om verkeerde acties uit te voeren, is dat een cruciale eigenschap.

Waar de ORSK standaard naartoe kan groeien

Een discoverable standaard hoeft niet meteen door iedereen tegelijk te worden aangenomen. De kracht zit volgens het voorstel in het “flywheel”-effect: als één issuer de standaard implementeert, krijgen secret scanners en agent-integraties er direct een bruikbare detectie- en revocation-route bij.

Concreet: zodra een scanner een ORSK-sleutel vindt, kan hij het issuer-domein decoderen, de well-known configuratie ophalen, vervolgens het revocation-endpoint aanroepen en de sleutel in quarantaine zetten. De eigenaar krijgt dan een melding met evidentiële context en een rotatieknop in plaats van een frauderapport of een willekeurige mailketen.

Dat maakt het proces minder afhankelijk van “wie heeft het gezien” en meer afhankelijk van consistente, machine-bruikbare interfaces.

Wat dit betekent voor security teams vandaag

Ook als je ORSK nog niet direct kunt toepassen in je eigen ecosystemen, kun je nu al leren van het gedachtegoed. Kijk vooral naar twee elementen:

  • Detectie zonder vertraging: secret scanning is waardevol, maar het moet gevolgd kunnen worden door snelle activering van een kill switch—liefst zonder eerst tickets te moeten doorsturen.
  • Beleid en constraints: als je weet welke beperkingen aan een sleutel kunnen worden gekoppeld (TTL, scopes, IP-allowlists, mTLS), kun je sneller besluiten hoe je een sleutel veilig beperkt of uitschakelt.

Daarnaast helpt het om intern afspraken te maken over “quarantine als default”. Quarantaine voorkomt dat een revocation-proces per ongeluk productie raakt, terwijl het tegelijk eigenaarschap direct activeert.

Conclusie: maak sleutels self-destructing

Gelekte API-sleutels blijven vaak te lang actief omdat revocation niet gestandaardiseerd en niet direct uitvoerbaar is. De ORSK standaard biedt daarvoor een open alternatief: sleutels bevatten issuer-informatie, issuers publiceren een well-known configuratie, en revocation kan worden gestart door bezit—met quarantaine om beschikbaarheid te bewaken.

In de wereld van secret scanning en AI-agents is snelheid geen luxe. Als een sleutel lekt, moet de reactie bijna automatisch kunnen starten. Dat is precies waar dit voorstel op inzet: een einde aan de scavenger hunt, zodat teams eerder de controle terugkrijgen.

Gerelateerd lezen: als je ook kijkt naar de risico’s en impact rond kwetsbaarheden en misbruik van credentials, kan dit artikel over verborgen prompt-injecties bij AI-agenten helpen om het “seconds window”-probleem beter te plaatsen.

Bron: https://www.securityweek.com/this-key-will-self-destruct-an-open-standard-for-revocable-api-keys/