Files
ComfyUI-OpenClaw/docs/security_checklist.md
T

3.6 KiB

OpenClaw Connector Security Checklist

Complete this checklist before enabling public ingress (tunnel, reverse proxy, or direct exposure).

Pre-Deployment Checklist

1. Authentication & Trust

  • Set OPENCLAW_CONNECTOR_ADMIN_USERS with at least one admin ID.
  • Configure platform-specific allowlists:
    • Telegram: OPENCLAW_CONNECTOR_TELEGRAM_ALLOWED_USERS / _ALLOWED_CHATS
    • Discord: OPENCLAW_CONNECTOR_DISCORD_ALLOWED_USERS / _ALLOWED_CHANNELS
    • LINE: OPENCLAW_CONNECTOR_LINE_ALLOWED_USERS / _ALLOWED_GROUPS
    • WhatsApp: OPENCLAW_CONNECTOR_WHATSAPP_ALLOWED_USERS
    • WeChat: OPENCLAW_CONNECTOR_WECHAT_ALLOWED_USERS
    • KakaoTalk: OPENCLAW_CONNECTOR_KAKAO_ALLOWED_USERS
    • Slack: OPENCLAW_CONNECTOR_SLACK_ALLOWED_USERS / _ALLOWED_CHANNELS
  • Verify startup banner shows "No trusted users" warning if allowlists are empty.
  • For strict posture (OPENCLAW_DEPLOYMENT_PROFILE=public or OPENCLAW_RUNTIME_PROFILE=hardened), do not enable connector ingress without allowlists; startup/deployment checks fail closed.

2. Webhook Security (LINE)

  • HTTPS only — never expose webhook over HTTP.
  • Verify OPENCLAW_CONNECTOR_LINE_CHANNEL_SECRET is set (signature verification).
  • Consider using a randomized webhook path (e.g., /line/webhook-abc123def).

3. Rate Limiting

  • Review default limits: 10 req/min per user, 30 req/min per channel.
  • Adjust if needed: OPENCLAW_CONNECTOR_RATE_LIMIT_USER_RPM, _CHANNEL_RPM.

4. Payload Limits

  • Default max command length: 4096 chars.
  • Adjust if needed: OPENCLAW_CONNECTOR_MAX_COMMAND_LENGTH.

5. Server API Access

  • Keep ComfyUI on localhost (--listen 127.0.0.1) unless LAN access required.
  • If exposing to LAN/Internet: set OPENCLAW_ADMIN_TOKEN environment variable.
  • Never expose admin endpoints without token.
  • For shared/LAN/public exposure, keep OPENCLAW_LOCALHOST_ALLOW_NO_ORIGIN=0 (or unset).
  • For OPENCLAW_DEPLOYMENT_PROFILE=public, set OPENCLAW_PUBLIC_SHARED_SURFACE_BOUNDARY_ACK=1 only after reverse-proxy path allowlist + network ACL explicitly block ComfyUI-native high-risk routes.
  • For OPENCLAW_DEPLOYMENT_PROFILE=public, if any connector platform token/enable flag is set, confirm corresponding allowlist coverage before startup (DP-PUBLIC-009).
  • Run GET /openclaw/security/doctor and verify no csrf_no_origin_override warning before exposure.

6. Debug Mode

  • OPENCLAW_CONNECTOR_DEBUG=1 logs sensitive data — disable in production.
  • Ensure no debug flags are set in production environment.
  • Optional ops hygiene: if stale historical errors cause confusion in log viewers, use OPENCLAW_LOG_TRUNCATE_ON_START=1 during controlled restart windows.

7. Tunnel / Reverse Proxy

  • Use ngrok, Cloudflare Tunnel, or similar with TLS termination.
  • Restrict access by IP if possible.
  • Consider authentication layer (e.g., Cloudflare Access).

⚠️ Security Defaults

Feature Default Effect
Empty allowlists Untrusted All /run requires approval
Active connector without allowlist in strict posture (public/hardened) Fail-closed Startup/deployment checks block serving
No admin users Limited Admin commands unavailable
Rate limiting Enabled 10 req/min/user, 30 req/min/channel
Debug mode Disabled No sensitive logging
Replay protection Enabled LINE webhooks reject replays >5min old

📞 Support

If you suspect a security issue, contact the maintainers via GitHub Issues (private for sensitive reports).