Skip to content

Security: RunClawd/zeroclaw

Security

SECURITY.md

Security Policy

Supported Versions

Version Supported
0.1.x

Reporting a Vulnerability

Please do NOT open a public GitHub issue for security vulnerabilities.

Instead, please report them responsibly:

  1. Email: Send details to the maintainers via GitHub private vulnerability reporting
  2. GitHub: Use GitHub Security Advisories

What to Include

  • Description of the vulnerability
  • Steps to reproduce
  • Impact assessment
  • Suggested fix (if any)

Response Timeline

  • Acknowledgment: Within 48 hours
  • Assessment: Within 1 week
  • Fix: Within 2 weeks for critical issues

Security Architecture

ZeroClaw implements defense-in-depth security:

Autonomy Levels

  • ReadOnly — Agent can only read, no shell or write access
  • Supervised — Agent can act within allowlists (default)
  • Full — Agent has full access within workspace sandbox

Sandboxing Layers

  1. Workspace isolation — All file operations confined to workspace directory
  2. Path traversal blocking.. sequences and absolute paths rejected
  3. Command allowlisting — Only explicitly approved commands can execute
  4. Forbidden path list — Critical system paths (/etc, /root, ~/.ssh) always blocked
  5. Rate limiting — Max actions per hour and cost per day caps

What We Protect Against

  • Path traversal attacks (../../../etc/passwd)
  • Command injection (rm -rf /, curl | sh)
  • Workspace escape via symlinks or absolute paths
  • Runaway cost from LLM API calls
  • Unauthorized shell command execution

Security Testing

All security mechanisms are covered by automated tests (129 tests):

cargo test -- security
cargo test -- tools::shell
cargo test -- tools::file_read
cargo test -- tools::file_write

Container Security

ZeroClaw Docker images follow CIS Docker Benchmark best practices:

Control Implementation
4.1 Non-root user Container runs as UID 65534 (distroless nonroot)
4.2 Minimal base image gcr.io/distroless/cc-debian12:nonroot — no shell, no package manager
4.6 HEALTHCHECK Not applicable (stateless CLI/gateway)
5.25 Read-only filesystem Supported via docker run --read-only with /workspace volume

Verifying Container Security

# Build and verify non-root user
docker build -t zeroclaw .
docker inspect --format='{{.Config.User}}' zeroclaw
# Expected: 65534:65534

# Run with read-only filesystem (production hardening)
docker run --read-only -v /path/to/workspace:/workspace zeroclaw gateway

CI Enforcement

The docker job in .github/workflows/ci.yml automatically verifies:

  1. Container does not run as root (UID 0)
  2. Runtime stage uses :nonroot variant
  3. Explicit USER directive with numeric UID exists

There aren’t any published security advisories