If you already run OpenClaw or Hermes Agent, you've made the hard part of the leap: trusting an agent that lives on a server, not in a browser tab. This guide covers what changes once that agent starts writing to a repository instead of your calendar — the 2026 security lesson that made network isolation non-negotiable, and the concrete steps from "assistant on a box" to your first disciplined coding-agent session.
The interesting part of OpenClaw or Hermes Agent was never the chat window. It was the decision, somewhere under the hood, to give a language model a persistent process instead of a single request-response call. A resident assistant sits on a machine that stays powered on, holds state between conversations, and executes tool calls — reading your calendar, drafting an email, toggling a smart-home switch — on a schedule or in response to a message you send from your phone while you're nowhere near the machine itself.
That's a bigger trust leap than it looks like from the chat UI, and if you run one of these tools daily, you already made it. You gave a process standing credentials to real accounts and let it act while unsupervised. The interesting engineering wasn't the model getting smarter; it was infrastructure — an always-on server, a way to reach it from anywhere, a way for the agent to keep working after you close the laptop.
A coding agent is built on exactly that same shape: a long-lived process, reachable from anywhere, holding state, acting on standing permissions. What's different is what it's been handed permission to touch, and that difference is the entire subject of this page.
Line up the tools you might hand an AI system and a pattern falls out: each rung keeps everything the rung below could do and adds one new class of access — and every new class of access is also a new class of risk. Climb it one step at a time and narrate both halves honestly:
Stateless request → response
Persistent process, standing tool access
Writes to a shared, permanent history
Concurrent writers, shared object store
Rung three is where this guide is headed, and it deserves its own page: what an AI coding agent actually is walks through the loop — prompt, tool call, observe, repeat — in detail. What matters here is the throughline: assistants and coding agents are the same architecture pointed at different, higher-stakes surfaces, and the discipline required scales with what's on the other end of the tool call.
An assistant's mistakes are mostly transient. A mis-sent email is embarrassing; a wrong calendar invite gets deleted. Annoying, recoverable, contained to the moment it happened. A repository does not forgive that way, because of one structural fact: a git repository is shared, mutable-by-convention, but permanently-recorded state. Every clone of it — your laptop, a teammate's machine, a CI runner, production's deploy source — is a copy of the same history, and once a commit is pushed to a branch others build on, it doesn't just describe a change; it becomes the foundation the next hundred commits are written on top of.
That changes what a mistake costs. A coding agent that commits a broken dependency bump doesn't waste a moment — it breaks the build for every clone until someone notices and reverts. One that commits a leaked credential doesn't just expose it once — the credential sits in history, retrievable by anyone with clone access, until someone rewrites history to remove it (which is its own hazard on a shared branch). Mistakes on a chat surface are ephemeral. Mistakes in a git history compound, because the next hundred actions — yours, a teammate's, another agent's — are built on top of whatever was there.
This is exactly why the practices that feel like overhead for a personal assistant — code review, small commits, isolated working copies per writer — stop being optional the moment an agent's actions land in a repository other things depend on. Not because coding agents are less trustworthy than assistants; because the medium they write to remembers, and shares, everything.
OpenClaw earned its popularity honestly — hundreds of thousands of people run a resident agent on a server because the model of "always on, reachable from anywhere" is genuinely useful, and the project proved it at scale. Then, in March 2026, that same scale became a liability, and it's worth understanding precisely what security researchers reported rather than the flattened version that spread afterward:
None of that is a verdict on running a personal assistant, and it isn't a knock on OpenClaw's maintainers, who patched fast once the reports landed. It's a case study in what happens when a capable, tool-using process sits on a public port at scale: vulnerabilities in any widely deployed software are a matter of when, not if, and the instances that paid for it were the ones a scanner could reach in the first place.
Vendor- and time-specific. These figures describe OpenClaw specifically, in March 2026, as reported by the researchers who disclosed them — not a general property of personal-assistant software. Hermes Agent, which absorbed much of the reliability-minded migration afterward, is a different codebase with a different security history.
Two separate failure classes. The CVEs are bugs in OpenClaw's own code. The ClawHub finding is a supply-chain problem — third-party skills running with first-party permissions. A public port makes either one exploitable from anywhere; fixing the port doesn't fix the code, and fixing the code doesn't fix the port. Both mattered here.
OpenClaw ships a patch for the CVSS 9.9 flaw. Does that alone make a publicly-exposed instance safe again?
The general lesson underneath the OpenClaw timeline has nothing to do with OpenClaw specifically: an agent with real tool access needs a private network perimeter, not a public port. Internet-wide scanners don't guess at your domain name — they enumerate the public IPv4 address space directly, port by port, and fingerprint whatever answers. A service only gets scanned if it has a public address and an open port to answer on. Remove either one and the scanner gets nothing to fingerprint, patched or not.
A private network — a VPN, or a mesh overlay often called a tailnet — solves this at the network layer, before any application code runs. Machines on it get addresses that exist only inside that private routing table; no public listing points to them, and a scanner working through the public internet has no path in. Reaching the agent from your phone still works, over an encrypted tunnel from a device that's already a member of the network — which is the same reachable-from-anywhere property OpenClaw and Hermes rely on, just routed privately instead of broadcast to everyone. SSH keys are the other half of this: authenticate the human, not just the network, before anything with tool access accepts a command.
Nothing about the agent's code changed between the two toggles above — same skills, same tool access, same eventual bugs waiting to be found. What changed is whether a stranger's scanner can reach it at all. That's why network placement is the first control, not an optional hardening step for later: it's the one thing that protects you against vulnerabilities that haven't been disclosed yet.
The consensus that formed across 2026 is to stop running one resident process for everything. A personal assistant and a coding agent have different risk profiles, different lifecycles, and — this is the part that's easy to skip — different blast radii if either is ever compromised, so the practical answer is to keep them on separate, properly isolated substrates rather than one box wearing two hats.
In practice this means: your assistant and your coding agent can both live on a VPS — even the same provider, even the same private network — but as separate hosts or clearly separated environments with their own credentials, not one process granted both sets of permissions because it was convenient to set up once.
Network isolation keeps strangers out. Git discipline is the matching control for the agent you deliberately let in — the one you're paying to write code, whose mistakes now compound the way section 3 described. None of this is exotic; it's the same handful of habits that make git safe for AI agents in general, applied from day one instead of retrofitted after an incident:
None of this requires distrusting the agent more than you already trust OpenClaw or Hermes with your calendar. It requires recognizing that the medium changed. A calendar entry you can just delete; a pushed commit is something you have to consciously undo, on purpose, in front of whoever already pulled it.
None of the above requires a rebuild of how you already work — it's five concrete steps from "assistant on a box" to a first coding-agent session done safely:
TermRoam is built for exactly this graduation: an always-on, private-network-friendly server with persistent terminal sessions that survive disconnects, and a coding-agent execution model with the review gates, one-writer-per-worktree isolation, and commit-by-commit verification from section 7 built in rather than left for you to assemble by hand.