axelverne.com / guides / security
The AI agent security checklist: the 90% that matters.
An AI agent's security posture is the security posture of the account running it. The model gets the headlines; the actual attack surface is your terminal's reach — SSH keys, API tokens in your shell, anything listening on the machine. Here's the checklist that covers most of the risk, and four copy-paste prompts that turn your agent into the auditor.
First, the story that explains the stakes
A Hermes user ran the agent's web UI on a VPS, bound to 0.0.0.0, behind a weak password. Someone brute-forced it in about 400 attempts, drained their DeepSeek and OpenRouter credits over a few days, reused the keys on other services, and parked adult content on the box. Total damage: about $70 and a weekend.
It stayed that cheap for one reason only: the agent had a dedicated throwaway email and no access to anything that mattered. That's the whole philosophy of this page in one sentence — assume compromise, limit blast radius, and the worst case is small.
The checklist
- Web UIs on localhost only. Bind to
127.0.0.1. Reach the UI remotely through an SSH tunnel or Tailscale — never a port-forward. On a VPS,0.0.0.0is the entire internet, not your LAN. - Dedicated credentials. The agent gets its own throwaway API keys with spend caps — never your primary keys, never your main email.
- Review the firewall yourself — and check specifically whether Docker is bypassing it. Docker and UFW famously don't do what you'd expect.
- Assume prompt injection is live. A malicious web page can attempt to steer an agent that fetches it. What the agent can reach when compromised is the real question.
- Never let the agent grade its own homework. Asked whether its UI resisted brute force, one agent read its own source and confidently claimed increasing login delays. Four hundred successful guesses say otherwise: require tests, not intentions.
Four copy-paste audit prompts
1. The machine audit
Audit this machine's security posture as it relates to you, the agent: - What services are listening, on which interfaces? Flag anything bound to 0.0.0.0 that shouldn't be. - SSH: password auth, root login, key-only status. - Firewall rules — and check specifically whether Docker is bypassing them. - Credentials reachable from my shell environment and from your tools. - Web UI / gateway exposure and auth strength. Give me findings ordered by blast radius, with the exact fix command for each. Ask before applying anything destructive.
2. Get the web UI off the internet
My Hermes Web UI is reachable at <address>. Assume that's wrong. Show me how to: 1. Bind it to 127.0.0.1 only. 2. Reach it remotely over an SSH tunnel or Tailscale instead. 3. Firewall the port to my Tailscale/home IP only. Give me the commands, in order, with a verification step after each.
3. The blast-radius review
Assume you get prompt-injected by a malicious web page today. Walk through what you could actually reach: files, credentials, email, money, published surfaces. Tell me which of those I should take away from you, and how.
4. The anti-self-grading rule
When I ask whether some part of Hermes is secure, do NOT answer by reading the source and telling me what it intends to do. Test it, or say you can't test it.
Paste this one into your standing instructions so it applies every time. It's the difference between a security audit and a security flattering.
Frequently asked
How secure are local AI agents, really?
As secure as the account running them. They inherit your terminal's full reach — keys, tokens, listening services. Contain the blast radius (dedicated keys, throwaway email, localhost binding) and the worst realistic incident stays small.
Is exposing the agent's web UI ever OK?
Bound to 0.0.0.0 on a private LAN you trust, defensibly yes. On any internet-reachable machine, no — tunnel in with SSH or Tailscale instead.
Do I need to pay for anything to be secure?
No. Localhost binding, firewall rules, and dedicated keys are all free. Tailscale's free tier covers the remote-access pattern. Spend caps on API keys are a settings change.
What about prompt injection?
It's live even for local agents that fetch web pages. You can't fully prevent it today — so the defense is containment: limit what a compromised agent could reach, and review that list monthly.
The audit prompts above are four of 58 field-tested prompts in Hermes Agent: 58 Prompts for Power Users — including the full security section with the community incidents behind each rule.