ClawKit Logo
ClawKitReliability Toolkit
SecurityMarch 3, 2026

Is Your OpenClaw Agent Publicly Listed? A Security Warning

If you're running OpenClaw on a server with a public IP, there's a non-trivial chance it's been indexed by automated scanners — and listed in a public database alongside your server's IP address, port, auth status, and whether credentials were leaked. Here's what that means and what to do about it.

224,000+ OpenClaw instances publicly indexed

Public exposure databases are actively tracking OpenClaw instances with no authentication. If yours is one of them, anyone on the internet can issue commands to your agent — including shell commands, file reads, and API calls using your stored credentials.

Why this matters

OpenClaw, by default, listens on port 18789. On a local machine behind a router, that's fine — the port isn't reachable from the internet. On a VPS, cloud VM, or any server with a public IP, it's a different story: if you didn't explicitly bind to localhost or set a firewall rule, OpenClaw is accepting connections from anywhere.

An unauthenticated OpenClaw endpoint is effectively an open remote code execution interface. Whoever reaches it can ask your agent to run shell commands, read files, exfiltrate API keys stored in your environment, or use your agent's API provider credits to run their own workloads.

A public watchboard at openclaw.allegro.earth actively tracks these instances — 224,000+ at the time of writing. Each entry shows the live IP, port, auth status, and a "Leaked" or "Clean" classification based on detected credential exposure. Attackers don't need to scan for themselves; the database does the work for them.

How to check if you're affected

Run this from an external machine (not the server itself — you need to test reachability from the public internet, not from localhost):

Test external reachability
curl -s http://<your-server-ip>:18789/health

If you get a JSON response, your OpenClaw instance is reachable from the public internet. If the connection times out or is refused, you're either already protected or not running OpenClaw on that machine.

How to fix it

You have a few layers to apply. Apply all four if you're on a public server; at minimum, do steps 1 and 3.

Step 1 — Bind to localhost only

In your OpenClaw config file, set the host to 127.0.0.1. This tells OpenClaw to only accept connections from the same machine, not from external IPs.

openclaw config (openclaw.config.json)
{
  "host": "127.0.0.1",
  "port": 18789
}

Step 2 — Set an auth token

If you need OpenClaw accessible from somewhere other than localhost, set an auth token. All API requests will then require a bearer token in the Authorization header.

openclaw config — auth token
{
  "authToken": "your-secret-token-here"
}

Step 3 — Block the port at the firewall level

Even with localhost binding, adding a firewall rule as a second layer of defence is good practice. On Ubuntu/Debian with ufw:

Block port 18789 (ufw)
sudo ufw deny 18789

Step 4 — If you need remote access, use SSH tunneling or a reverse proxy

If you legitimately need to reach your OpenClaw instance from another machine, don't open the port to the public internet. Instead, use an SSH tunnel so traffic stays encrypted and only authenticated SSH users can reach it:

SSH tunnel (forward remote port to local)
ssh -L 18789:127.0.0.1:18789 user@your-server-ip

After that, connect to http://localhost:18789 on your local machine — the connection is forwarded securely over SSH without exposing the port. For a more permanent setup, put nginx in front with TLS and HTTP basic auth, and keep the OpenClaw port firewalled.

A shared responsibility

Running any networked service on a public server comes with obligations. OpenClaw is no different — it's a powerful tool, and an unprotected instance is a meaningful attack surface. The good news is the fix is straightforward: bind to localhost, set a token, and firewall the port. Ten minutes of work closes most of the risk.

If you're not sure whether your local OpenClaw config is correctly set up, ClawKit's Doctor tool can check your config health and flag common misconfigurations before they become a problem.


Published: March 3, 2026. Instance count sourced from openclaw.allegro.earth at time of writing. ClawKit is not affiliated with that site.