SAM som privat VPN for AI agenter og de praktiske konsekvenser
SAM, Sovereign Agent Mesh, er frigivet som Apache‑2.0 open source til netværk mellem autonome AI‑agenter. Det beskrives som et zero‑config, zero‑trust P2P‑overlay til agent‑til‑agent værktøjsdeling over Model Context Protocol. Der kører et offentligt beta‑testnet på bananas.sam-mesh.dev. Repositoriet har en tydelig disclaimer: ikke et officielt Google‑produkt. Relevansen lige nu er enkel: flere agenter kører på tværs af cloud, datacenter og endpoints.
Agenter bor ikke længere i én VPC. De lever i Kubernetes, på bærbare, på en Raspberry Pi, på Android. Mange ender med at åbne interne scripts eller API’er mod internettet for at få dem til at samarbejde. SAMs bud er et privat, lukket mesh, hvor noder finder hinanden automatisk, kommer gennem NAT og autoriserer hvert kald kryptografisk. Det afgørende er, hvad det kræver i drift.

Korte fakta
- Licens og status: Apache‑2.0; offentligt mesh kører som beta‑testnet
- Testnet: bananas.sam-mesh.dev
- Indhold nu: Go‑binaries, install script, ghcr.io‑images, Helm chart under charts/sam-mesh, produktionsguide til Kubernetes, Android og iOS support
- Disclaimer: Ikke et officielt Google‑produkt
- Produktion: Dokumentationen anbefaler selvhostet kontrolplan i DIY Mode
Zero‑config, zero‑trust og MCP uden salgstale
Zero‑config betyder, at noder kan tilslutte og opdage hinanden uden manuel peering eller IP‑udveksling. Praktisk når endpoints flytter sig. Zero‑trust betyder, at adgang gives via eksplicitte capabilities i tokens, og hvert kald autoriseres kryptografisk. Ingen implicitte undtagelser.
MCP er laget, agenter bruger til værktøjer. SAM lægger transport og policy rundt om MCP‑kald, så en agent kan opdage og bruge eksterne MCP‑værktøjer uden at eksponere interne API’er udadtil. Tænk privat VPN målrettet værktøjer og handlinger – ikke generel IP‑trafik.
Arkitekturen kortlagt
Tre centrale binaries med klare roller:
- sam-control-plane: Registrering af identitet, udstedelse af tokens og distribution af politikker
- sam-router: libp2p bootstrap‑punkter og GossipSub routing‑overlays
- sam-node: P2P‑klient på hver agent‑host med mesh‑transport, selvhealende forbindelser og lokalt MCP HTTP‑interface
Lav‑konfidens, men vigtigt: CLI‑kommandoer som “sam-node join”/“sam-node run” og standardporte kan ændre sig i et ungt open source‑projekt. Verificér altid mod et specifikt repo‑tag før deployment.

Identitet og autorisation uden at ringe hjem
OIDC→Biscuit‑flowet er kernen. Kontrolplanet verificerer et OIDC JWT, oversætter claims til Datalog‑fakta og forsegler dem i et Biscuit‑token (fx sub til user(…), grupper til group(…), peer‑ID til client_peer_id(…)). Noder kan derefter autorisere offline ved at evaluere det præsenterede token mod lokale regler.
Default‑deny er strengt. Adgang kræver en eksplicit capability som granted_service_exact(…). Selv discovery‑kataloget system://sam.catalog skal gives. Service‑typer følger type://navn‑konventionen med wildcard (fx mcp:///*). Hvert kald kører to Biscuit‑pas: først nodens egne facts, derefter callerens token. En baseline‑regel binder forbindelse og token via peer‑ID for at begrænse replay.

Driftsmæssigt: færre centrale afhængigheder under hændelser, men mere disciplin om nøgler, token‑udstedelse og tilbagekaldelser. Hvor hurtigt en revocation slår igennem i hele nettet, skal måles hos jer.
Netværk og drift
SAM bygger på libp2p og bruger ifølge dokumentationen 5001/udp og 5002/tcp; den lokale MCP‑API defaultes til 8080 (dobbelttjek versionen). NAT‑traversal er indbygget, så noder bag home‑routers, 4G‑gateways eller stramme enterprise‑NATs kan etablere P2P‑kanaler via bootstrap‑routers. Stabilitet ved lange forbindelser og aggressive timeouts bør måles i jeres miljø.
Testnettet på bananas.sam-mesh.dev er fint til hurtige forsøg med discovery og routing. Kør kun ikke‑følsomme eksperimenter der. Til produktion: selvhost kontrolplanen (DIY Mode), så nøgler, politikker og audit‑logs forbliver interne. Det lægger ansvar for HA, backup og gendannelse hos jer.
Sikkerhed og governance uden skygger
Zero‑trust i SAM er politik først. Godt for revisioner – men kræver en stram policy‑livscyklus: hvem må udstede hvilke capabilities, hvornår forældes de, og hvordan attenueres de lokalt. Biscuit gør det muligt at stramme rettigheder i kanten uden at bryde den centrale model.
Revocation er stadig et åbent punkt. Ban‑ og revocation‑caches er beskrevet, men svartider for global effekt er ikke kvantificeret. I en hændelse tæller minutter. Sæt tal på i en POC.
Som en erfaren SRE udtrykte det: “Mesh reducerer angrebsfladen. Men når en capability er for bred, er det bare en pæn nøgle til den forkerte dør.”

Hvem får mest værdi
Organisationer med flere netværksgrænser – cloud + on‑prem + bærbare – står først i køen. Finans, sundhed, offentlig sektor og industriel edge med robotflåder er oplagte. Behovet er at dele værktøjer bredt mellem agenter uden at publicere dem på internettet.
Startups i én VPC får mindre løft. En enkel beslutningssti:
- Alt ligger i én VPC, og agenter kører i samme trust‑domæne → bliv på service mesh/VPC‑peering.
- Agenter krydser grænser (laptop↔cloud, on‑prem↔cloud, mobile↔backend) → kør en mesh‑POC.
Tre praktiske konsekvenser for implementering
1) Kontrolplan og audit. Et selvhostet sam-control-plane er en kritisk identity‑tjeneste: HA, nøglerotation, backup, change control. Sørg for tamper‑evident, søgbare logs for token‑udstedelse og policy‑distribution.
2) Netværk og porte. I stramme miljøer kræver libp2p‑porte og lokal MCP‑port dokumenterede undtagelser. Beskriv egress til bootstrap‑routers. Opdater IDS/DLP til at genkende MCP‑trafik, så man hverken overblokkerer eller overser.
3) Agent‑livscyklus. Udrul sam-node som sidecar eller daemon, planlæg opdateringer, og sæt health‑checks, der fanger hængende P2P‑links. Overvåg både mesh‑tilstand og applikationsfejl.
POC der måler det rigtige
Gå efter målbare kriterier:

- MCP‑RPC latenstid: mål p50/p95/p99 for 1 KB og 100 KB nyttelast over 5–10 minutter pr. linktype (on‑prem↔cloud, laptop↔cloud).
- Revocation‑propagation: hvor mange sekunder/minutter fra policy‑ændring til effektiv afvisning på tværs af 10–50 noder.
- Stabilitet gennem NAT: reconnect‑tid efter IP‑skift og tab af mobilnet, målt over 30–60 minutter.
- Peer‑skalering: hvor mange samtidige peers pr. node før p95‑latenstid overskrider jeres SLO.
Lav en lille hændelsesøvelse: tilbagekald en capability for en “forkert” agent midt i et kald og verificér, at næste forsøg blokeres i hele nettet med klare logs.
Mobil og IoT kræver tal
Android/iOS nævnes som mål, men der mangler driftstal. Kræv egne målinger før produktion:
- Batteripåvirkning ved vedvarende forbindelse og ved hyppige reconnects.
- Reconnect‑tid ved skift mellem Wi‑Fi/LTE og ved midlertidigt nettab.
- Hvor ofte NAT‑sessioner dør, og hvor længe genopkobling tager i jeres carrier‑miljøer.
IoT/edge: test firmware‑venlige opdateringsvinduer, disk/ram‑fodaftryk og om lokalt dataflow påvirkes, når mesh genforhandler forbindelser.
Mesh løser ikke fejl i agentlogik
VentureBeat Pulse‑data: 49 procent af 108 virksomheder rapporterede, at en AI‑agent eller LLM‑funktion, der bestod intern test, senere skabte et kunde‑synligt problem i produktion. 24 procent oplevede det mere end én gang. Tilliden til automatiseret evaluering steg fra 5 til 13 procent måned over måned.
Et P2P‑mesh reducerer eksponering og holder data inde. Men en fejl i agentlogik forsvinder ikke i transportlaget. Kombinér SAMs sikkerhedsmodel med bedre evaluering, canary‑udrulning, rate‑limits og sikre rollbacks.
Begrænsninger og åbne spørgsmål
Mangler i kilden: uafhængige målinger af ydeevne ved skala (latenstid, throughput, antal peers). Samspil med eksisterende service‑meshes (Istio/Linkerd) eller VPN/SD‑WAN er ikke dokumenteret.
Revocation‑latenstid er ikke kvantificeret. Observability‑detaljer er sparsomme: Prometheus‑metrics, OpenTelemetry‑hooks og SIEM‑integration er uklart beskrevet. Der er heller ingen information om uafhængige sikkerhedsreviews eller CVE‑historik. Planlæg tredjeparts code review eller pentest før produktion.
Hvad det betyder i drift
Hvis I i dag gemmer interne værktøjer bag VPN eller API‑gateways, lover SAM mindre ekstern eksponering og mere granulær, tidsbegrænset adgang via capabilities. Disciplinen flyttes fra perimeter til politik. Det fungerer – hvis nøglestyring og incident‑respons er modent.
Planlæg en POC, der måler tre ting først: latenstid for MCP‑kald over mesh vs. nuværende sti, stabilitet gennem NAT og netværksdrift, og hastighed for policyændringer/tilbagekaldelser på tværs af noder. Holder de tre ikke, hjælper resten ikke.
Kildegrundlag og validering
Arkitektur, binaries, OIDC→Biscuit‑flow, default‑deny, kommandonavne og portbrug er krydstjekket mod en detaljeret gennemgang hos MarkTechPost. Samme kilde angiver beta‑testnettet bananas.sam-mesh.dev, Apache‑2.0‑licensen og repo‑disclaimeren om, at det ikke er et Google‑produkt. Troværdighed: høj for arkitektur/feature‑liste, lavere for operatørdetaljer som portnumre og CLI, der kan ændres tidligt.
VentureBeat Pulse‑tallene om produktionsfejl efter beståede tests bruges til at belyse driftsrisiko. Data stammer fra en undersøgelse af 108 virksomheder: 49 procent og 24 procent samt stigning i tillid til automatiserede evalueringer fra 5 til 13 procent måned over måned.
Hvad man gør nu
Krydser jeres topologi flere netgrænser, så kør en afgrænset POC: deploy sam-node i to‑tre miljøer, mål MCP‑latenstid og stress NAT‑traversal. Opsæt eget sam-control-plane i et lab for at teste nøglelivscyklus, token‑udstedelse og audit. Gennemfør en revocation‑øvelse og mål propagation.
Ligger alt i én VPC, så vent. En service mesh og stramme IAM‑politikker dækker formentlig behovet enklere. Man opdager først forskellen, når man har det i hænderne.