-
-
Notifications
You must be signed in to change notification settings - Fork 40.8k
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
923 Clawdbot gateways are currently exposed on Shodan with no authentication, giving attackers full shell access and API key exposure. The clawdbot doctor command should warn users when their gateway is dangerously configured.
The Problem
While Clawdbot's onboarding flow has safeguards (defaulting to loopback and forcing auth when exposed), these checks:
- Only run during
clawdbot onboard- not on config edits or startup - Can be bypassed via CLI flags (
--bind all) or manual config editing - Don't warn existing users who may have misconfigured setups
Evidence
Shodan query: "clawdbot" port:18789
- 923 exposed instances (as of Jan 2026)
- Many with
auth.mode: "off" - Full gateway access = shell execution, API key extraction, message impersonation
Proposed Fix
Add network exposure checks to doctor-security.ts:
const gatewayBind = cfg.gateway?.bind ?? "loopback";
const authMode = cfg.gateway?.auth?.mode ?? "off";
const exposedBindings = ["all", "lan", "0.0.0.0"];
const isExposed = exposedBindings.includes(gatewayBind);
if (isExposed && authMode === "off") {
warnings.push(
`- CRITICAL: Gateway bound to "${gatewayBind}" with NO authentication.`,
` Anyone can fully control your agent.`,
` Fix: clawdbot config set gateway.bind loopback`
);
}Additional Recommendations
- Startup block: Refuse to start if
bind != loopback && auth == off - Auto-remediation:
clawdbot doctor --fixshould auto-switch to safe config - Banner warning: Show warning on every gateway start if exposed
Impact
- Severity: Critical (RCE equivalent)
- Affected: Users who manually set
bind: "all"or older configs - Fix complexity: Low (few lines of code)
Related
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request