Claude Code beveiligen: de nieuwe compliance-API, lokale zichtbaarheid en identiteitsbeheer

Claude Code leest bestanden, voert shell-opdrachten uit, roept MCP-tools aan en handelt via de inloggegevens die beschikbaar zijn op de computer van een ontwikkelaar. De nieuwe Compliance API-eindpunten van Anthropic geven beveiligingsteams het duidelijkste beeld tot nu toe van die activiteit. Ze leggen ook een groter probleem bloot: activiteitenlogboeken alleen kunnen u niet vertellen of de toegang van een agent legitiem is.

AI is van het browsertabblad naar het eindpunt verhuisd met harnassen zoals Claude Code. Ze draaien op de machines van ontwikkelaars, voeren lokaal bash-opdrachten uit en maken verbinding met derden via MCP-servers, vaardigheden en plug-ins. Dit alles zodat de gebruiker arbeid aan de machine kan uitbesteden en zich kan concentreren op ontwerpen, denken en creëren.

Lokale agenten zijn geen nichecategorie. Ze zijn verantwoordelijk voor 68,6% van de AI-agents die Token Security in klantomgevingen ontdekt, en nemen vaak de inloggegevens, netwerkpositie en machtigingen van de medewerker over.

De verschuiving naar het eindpunt heeft grote gevolgen voor de veiligheid. Met Claude Code is er geen gecentraliseerde console om eindpuntagenten te monitoren voor lokale configuraties, identiteit en toegang, en runtime. Vóór augustus 2026 hadden de eigen besturingselementen van Anthropic beperkt zicht op wat die agenten feitelijk deden, waardoor teams gedwongen werden extensies van derden te gebruiken alleen maar om het absolute minimum aan beheer te bereiken.

Met de nieuwe lokale sessietranscriptie-eindpunten in de Anthropic compliance API kunt u uw lokale agenten beter beheren en tegelijkertijd begrijpen welke beperkingen er nog steeds bestaan.

Een harnas is geen chatbot

Een harnas is een geavanceerde orkestrator. Het vereist gebruikersinvoer en stuurt deze samen met de volledige sessiecontext naar de LLM. De LLM zelf handhaaft de staat niet; het ontvangt alles wat het nodig heeft van het harnas om ad hoc te reageren. Het onderdeel dat daadwerkelijk opdrachten uitvoert, authenticeert bij derden en verbinding maakt met MCP-servers is het harnas, niet de LLM.

Vergelijk een eindpuntagent met een menselijk lichaam. De LLM is het brein: het verwerkt de gegevens en bepaalt de leiding. Al het andere is het harnas, van de handen en de benen tot de zintuigen. Het is een vreemde hybride en ons beveiligingsmodel moet zich daaraan aanpassen. Het brein draait in de cloud van Anthropic, maar de handen draaien op uw eindpunten, en dat is waar uw zichtbaarheid en controle moeten leven.

Onorthodox ontwerp

Het is in de mode om te zeggen dat SaaS dood is, en het is een beetje SaaD, omdat klassieke SaaS veel dingen voor ons heeft geregeld. We verwachten dat een service ons in staat stelt onze onderneming te beheren en te monitoren vanaf een centraal dashboard, het organisatiebeleid te controleren en duidelijk te zien wat de agenten binnen onze onderneming kunnen doen.

Bij lokale harnassen is dat niet het geval. Claude Code daagt het klassieke model van gedeelde verantwoordelijkheid uit en legt meer druk op beheerders. In een door Token uitgevoerd onderzoek van de Cloud Security Alliance onder 418 IT- en beveiligingsprofessionals beoordeelde 68% hun zichtbaarheid in AI-agents als hoog. In hetzelfde onderzoek had 82% het afgelopen jaar een agent ontdekt waarvan de beveiliging, IT of governance niet wisten dat deze bestond.

Raad eens dit: ik woon bij jouw gastheer als agent, maar ik was hier al lang voordat er een LLM was. Ik weet meer over uw Claude Code dan Anthropic, omdat eindpunten mijn domein zijn.

Omdat een groot deel van de uitvoering van Claude Code lokaal plaatsvindt, kan endpoint-telemetrie processen, bestanden en configuraties onthullen die cloudservices niet kunnen zien. Maar EDR levert bewijs, geen bestuursmodel. Het kan de activiteit van een agent niet koppelen aan de eigenaar, intentie, inloggegevens en machtigingen.

De eigen tools van Anthropic helpen, maar het is niet voldoende om te voorkomen dat LLM’s destructieve acties uitvoeren, zelfs als die acties legitiem kunnen zijn. Er zijn drie belangrijke lagen voor het verzamelen van gegevens om lokale AI-agenten effectief te kunnen besturen. U moet begrijpen wat Anthropic u biedt, wat alleen een endpoint-agent kan verzamelen en wat u met de gegevens moet doen.

Laag 1: Beheerde instellingen, de beleidsbasislijn

Het handhavingsmechanisme van Anthropic bestaat uit beheerde instellingen. Elk eindpunt waarop Claude Code wordt geïnstalleerd, heeft een record met beheerde instellingen: een JSON-bestand op Mac en Linux, en registerrecords op Windows. De regels ervan hebben voorrang op globale, project- en gebruikersinstellingen, waardoor u een basislijn kunt afdwingen voor elke Claude Code-sessie in de organisatie. Op een ondernemingsplan van Claude Code past u beleid toe via de GUI; zonder één kan uw MDM de record met beheerde instellingen over verschillende eindpunten schrijven.

De beschikbare regels omvatten veel:

  • Lijsten met toegestane en geweigerde opties voor specifieke MCP-servers

  • Regexes via bash-opdrachten

  • Vaardigheden uitschakelen bij het uitvoeren van opdrachten, en meer

Ze helpen, maar ze nemen veel manoeuvreerruimte weg van je ontwikkelaars, en statisch beleid voor toestaan/weigeren is niet gebouwd voor het tempo van moderne AI. Erger nog, ze kennen de context of bedoeling niet. In feite zijn ze een grote rots midden in een rivier, die de stroom verstoort maar niet tegenhoudt.

Laag 2: De compliance-API

Tot voor kort omvatte de Compliance API van Anthropic voornamelijk claude.ai-acties, dat wil zeggen activiteit vanuit de webinterface en Claude Desktop, met een zeer beperkte dekking van Claude Code. Op 11 augustus 2026 introduceerde Anthropic nieuwe eindpunten voor lokale sessies:

Eindpunt Retouren
GET /v1/compliance/apps/sessions/local lijst met sessiemetadata
GET /v1/compliance/apps/sessions/local/{session_id} de metadata van één sessie
GET /v1/compliance/apps/sessions/local/{session_id}/messages de transcriptie

Deze geven u inzicht in agenten die op eindpunten draaien, op basis van hun interactie met de modellen van Anthropic. Wat er ook naar het model wordt gecommuniceerd, wordt vastgelegd in drie bloktypen: tekst, tool_use en tool_result. Samen omvatten ze gebruikersprompts, bash-opdrachten, lees- en schrijfopdrachten en zelfs MCP-opdrachten.

Het model bevat geen statusserverzijde. De skill- en plug-in .md-bestanden bestaan ​​alleen op het eindpunt, dus het harnas verzendt de volledige context elke keer opnieuw naar het model. Alles wat het model bereikt, bereikt de Compliance API, wat behoorlijk verbazingwekkend is voor bestuur en monitoring.

Op de juiste manier geparseerd, kunt u met sessietranscripties het gebruik van tools registreren en een inventaris van uw agenten maken: ieders vaardigheden, de MCP-servers die hij gebruikt en de bijbehorende plug-ins.

De Compliance API omvat ook administratieve acties, meestal op organisatieniveau en minder voor individuele gebruikers die configuraties wijzigen. Ik verwacht dat dit in de loop van de tijd groter zal worden.

Waarom u mogelijk nog steeds OpenTelemetry nodig heeft

OpenTelemetry (of OTel) is een open-sourcestandaard voor traceringen, statistieken en gebeurtenislogboeken, en elke gangbare harnas heeft deze ingebouwd en hoeft alleen maar te worden geconfigureerd.

Sommige acties op het eindpunt bereiken de LLM nooit, dus de Compliance API ziet ze nooit. Hooks zijn het duidelijkste geval: ze worden lokaal uitgevoerd, tussen de beslissing van het model en de tool die daadwerkelijk draait, en kunnen voorkomen dat een tool wordt uitgevoerd of dat een prompt wordt verzonden.

OTel registreert ook beslissingen over de toestemming van tools en wie deze heeft gemaakt, of het nu gaat om een ​​beleid, een hook of de gebruiker die er doorheen zwaait. Ook worden machtigingswijzigingen die naar de bypassPermissions/auto-modus zijn verplaatst, geregistreerd in OTel, maar niet in de compliance-API.

Afschriften versus logboeken

Otel is gebouwd voor het loggen van atomaire acties. Sessietranscripties zijn lange, diepgaand beschrijvende JSON zonder breedsprakigheid, en u moet ze verwerken om hetzelfde logresultaat te krijgen. Als u geen extreem compacte transcripties wilt verzamelen en opslaan, is OTel wellicht het eenvoudigere hulpmiddel (totdat er een beter hulpmiddel bestaat).

En er is een harde grens: als je Claude Code uitvoert op een model dat niet van Anthropic is, krijg je helemaal geen dekking voor de Compliance API, omdat deze alleen interacties met de modellen van Anthropic registreert. Sessies die op Bedrock, Foundry of Google Cloud worden uitgevoerd, vallen niet onder de dekking.

Eén belangrijke opmerking: transcripties van lokale sessies kunnen gevoelige gegevens bevatten, waaronder PII, geheimen en klantgegevens. Hun opslag wordt op zichzelf een gevoelige gegevensbron. Behandel het als een.

Laag 3: Wat alleen het eindpunt u kan vertellen

De Compliance API en OTel leggen vast wat agenten DOEN. Geen van beide kan zien wat er op schijf staat: configuratiebestanden, geïnstalleerde vaardigheden en plug-ins en hun .md-bestanden (tenzij ze in een sessie zijn gebruikt), of processen die buiten een sessie zijn gestart. Dit is waar een eindpuntagent zijn geld verdient. Verzamel configuratiebestanden, haal vaardigheids- en plug-in .mds op en correleer EDR-logboeken om risicovolle bash-opdrachten van agenten op te vangen. Token Security vindt gemiddeld meer dan 10 configuratiebestanden per lokale agent, verspreid over het endpoint.

Er staat nog één ding op schijf dat u ook uit de Compliance API kunt halen: sessietranscripties. Claude Code bewaart standaard alle sessiegeschiedenis lokaal gedurende 30 dagen, zodat gebruikers snel hun eerdere werk kunnen hervatten. Een kwaadwillende actor die toegang krijgt tot het eindpunt kan deze bestanden ook lezen, dus dezelfde voorzichtigheid is van toepassing.

Vergeet de transcripties niet wanneer u een dekkingsplan opstelt. Begin met verantwoord gebruik: zorg ervoor dat gebruikers geen ruwe geheimen in sessies schrijven, label projecten en sessies die klant- of gevoelige gegevens bevatten, en verwijder ze volgens een schema. Voeg vervolgens detectie en respons toe: vind gebruikersprompts die leesbare geheimen bevatten en handel op sessies die klantgegevens in gevaar kunnen brengen.

Iets over het parseren van transcripties

Om atomaire actie uit te loggen uit uw Claude Code-sessies, verwerkt u de Compliance API-transcripties. Net als hierboven bestaat elk bericht alleen uit tekst, tool_use of tool_result, verpakt in velden als gebruiker, assistent (de antwoorden van de LLM) en meer. Het vinden van de daadwerkelijke plug-ins, vaardigheden en MCP-servers vergt een paar extra technieken.

Bash-opdrachten

Het makkelijke geval: elk commando verschijnt als tool_use met “name”: “Bash”, en de volledige commandoregel staat in de invoerwaarde.

MCP-servers

Deze verschijnen als een tool_use met de naam mcp____. First-party servers gebruiken leesbare namen, zodat u het type vaak in één oogopslag kunt zien: Jira, Slack, Notion. Door de gebruiker verbonden servers worden in plaats daarvan weergegeven als een UUID en u herstelt de service via het opdrachtachtervoegsel (slack_send_message) of via een UUID-naar-naam-toewijzing die u onderhoudt.

Elk van deze vertegenwoordigt een permanente referentie op dat eindpunt, en ongeveer een derde komt van buiten het ecosysteem van de leverancier: 35,1% van de MCP-servers die Token Security ontdekt, zijn door de gemeenschap gebouwd of van onbekende oorsprong.

Vaardigheden

Vaardigheden worden niet in een veld benoemd zoals MCP-opdrachten, maar u kunt ze wel afleiden. Wanneer een vaardigheid wordt geactiveerd, kan de LLM deze niet gebruiken zonder context, dus verzendt het harnas de SKILL.md via de API, door de vaardigheidsinhoud rechtstreeks te injecteren of door een Read op zijn pad uit te voeren. That Read verraadt zowel de naam van de vaardigheid als de locatie ervan: de invoer van tool_use bevat het pad en de tekst van tool_result bevat de inhoud van de vaardigheid.

Plug-ins

Plug-ins zijn moeilijker, omdat een plug-in niet uit één bestand bestaat. Het bundelt verschillende extensietypes, inclusief vaardigheden en scripts. U herstelt de namen van plug-ins via padconventies, wanneer een van de scripts of .md-bestanden van een plug-in in context wordt gelezen.

Dit alles werkt zonder gebruikersprompts aan te raken, alleen op tool_use-blokken en opdrachtregels.

Beheerde instellingen + transcripties van lokale sessies + eindpuntverzameling = Goed maar niet genoeg

Het ontwerp van Claude Code creëert uitdagingen die geen enkele laag kan beantwoorden. Samen doen de drie het beter, maar schieten ze nog steeds tekort:

Laag Primaire rol Wat het mist
Beheerde instellingen Dwingt statische beleidsbasislijnen af Dynamische uitvoeringscontext
Transcripties van sessies Actierecords per sessie bewaard, op aanvraag opgehaald Offline lokale configuraties
Eindpunt / EDR Verzamelt statische configuraties en registreert lokale processen LLM-specifieke semantische context

Zelfs alle drie zijn niet voldoende, omdat geen van deze de context van uw onderneming weergeeft, en ze niet diep genoeg gaan in het koppelen van toegang aan intentie. Een beheerder die de transcripties bekijkt, kan het verschil niet zien tussen een kwaadaardige plug-in die van internet is gehaald en een legitieme plug-in die door een ingenieur is geschreven. Om die kloof te dichten is context van elders in de organisatie nodig, zoals het correleren van de vaardigheden en plug-ins die op eindpunten draaien met de vaardigheden en plug-ins die uw interne repository’s daadwerkelijk beheren, wat de legitimiteit vergroot. Zodra u over die context in de hele organisatie beschikt, krijgt u door het detecteren van één enkele kwaadaardige vaardigheid een overzicht van waar deze actief is, en verloopt de beperking snel.

Telemetrie kan aantonen wat er is gebeurd. Governance vereist dat deze signalen worden gekoppeld aan de eigenaar, het doel, de identiteit, de inloggegevens, de machtigingen en de toegangspaden van een agent. Die context maakt het mogelijk om te bepalen of toegang gerechtvaardigd is, deze in te stellen op de minste privileges en deze in te trekken wanneer het doel van de agent eindigt. Identiteit is het controlevlak dat eindpunt- en sessiegegevens omzet in afdwingbare AI-agentbeveiliging.

Ontdek hoe Token AI-agents beveiligt in eindpunten, cloud-, SaaS- en ontwikkelaarsomgevingen met een snelle demo, op elk gewenst moment.

Opmerking: Dit artikel is vakkundig geschreven en bijgedragen door Dan Abramov, beveiligingsonderzoeker.

Thijs Van der Does