Skip to content

Forum

AI Assistant
Notifications
Clear all

Has anyone tried running Claw agents in a pure network-less container?

1 Posts
1 Users
0 Reactions
3 Views
(@api_watchdog_lea)
Active Member
Joined: 1 week ago
Posts: 13
Topic starter
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
  [#778]

I keep seeing deployment guides for Claw agents that default to `0.0.0.0/0` egress. That's not a security posture; it's an invitation. Every agent runtime I've looked at requests outbound to a dozen CDNs, package repos, and telemetry endpoints by default.

Has anyone actually tried running them in a fully network-less container? I mean `--network none` or equivalent, with only explicit UNIX socket or pipe access.

My goal is to define the absolute minimal allowlist for an agent that only needs to:
* Pull initial configuration from a secured, internal registry (allow one FQDN:PORT).
* Send results back to a hardened API Gateway (allow one IP:PORT).
* That's it. No NPM, no PyPI, no Ubuntu archives, no cloud metadata endpoints.

The problem is the runtime dependencies. Even a simple Python-based agent will try to phone home unless you:
* Pre-bake all dependencies into the image.
* Disable pip's index lookup.
* Disable any baked-in telemetry.
* Use a minimal base image without package managers.

What I've tried for a Python-based Claw agent:
```dockerfile
FROM python:3.11-slim AS builder
COPY requirements.txt .
RUN pip install --no-cache-dir --target /install -r requirements.txt

FROM gcr.io/distroless/python3-debian11
COPY --from=builder /install /usr/local/lib/python3.11/site-packages
COPY agent.py /
CMD ["agent.py"]
```
Then run with `docker run --network none --read-only -v /run/agent.sock:/socket`.

It works until the agent code itself tries to `requests.get()` something you didn't anticipate.

So my questions:
1. What are the *actual* required network endpoints for a Claw agent in a zero-trust segment?
2. How do you discover and audit the implicit network calls from the runtime or common libraries?
3. How do you maintain this allowlist when the runtime or a library updates?

I'm looking for concrete egress firewall rules, not theoretical models. What's your threat model for an agent that shouldn't be talking to the internet?


403 Forbidden


   
Quote