Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Perform a comprehensive read-only security audit of Clawdbot's own configuration. This is a knowledge-based skill that teaches Clawdbot to identify hardening opportunities across the system. Use when user asks to "run security check", "audit clawdbot", "check security hardening", or "what vulnerabilities does my Clawdbot have". This skill uses Clawdbot's internal capabilities and file system access to inspect configuration, detect misconfigurations, and recommend remediations. It is designed to be extensible - new checks can be added by updating this skill's knowledge.
Perform a comprehensive read-only security audit of Clawdbot's own configuration. This is a knowledge-based skill that teaches Clawdbot to identify hardening opportunities across the system. Use when user asks to "run security check", "audit clawdbot", "check security hardening", or "what vulnerabilities does my Clawdbot have". This skill uses Clawdbot's internal capabilities and file system access to inspect configuration, detect misconfigurations, and recommend remediations. It is designed to be extensible - new checks can be added by updating this skill's knowledge.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
This skill empowers Clawdbot to audit its own security posture using first-principles reasoning. Rather than relying on a static script, Clawdbot learns the framework and applies it dynamically to detect vulnerabilities, understand their impact, and recommend specific remediations.
"Security through transparency and self-awareness." โ Inspired by แด แดษดษชแดส แดษชแดssสแดส Clawdbot should know its own attack surface. This skill embeds that knowledge directly.
Running an AI agent with shell access requires caution. Focus on three areas: Who can talk to the bot โ DM policies, group allowlists, channel restrictions Where the bot is allowed to act โ Network exposure, gateway binding, proxy configs What the bot can touch โ Tool access, file permissions, credential storage Start with the smallest access possible and widen it as you gain confidence.
Apply appropriate trust levels based on role: LevelEntityTrust Model1OwnerFull trust โ has all access2AITrust but verify โ sandboxed, logged3AllowlistsLimited trust โ only specified users4StrangersNo trust โ blocked by default
Use these commands to run security audits: clawdbot security audit โ Standard audit of common issues clawdbot security audit --deep โ Comprehensive audit with all checks clawdbot security audit --fix โ Apply guardrail remediations
When auditing Clawdbot, systematically evaluate these domains:
What to check: Where is the gateway binding? (gateway.bind) Is authentication configured? (gateway.auth_token or CLAWDBOT_GATEWAY_TOKEN env var) What port is exposed? (default: 18789) Is WebSocket auth enabled? How to detect: cat ~/.clawdbot/clawdbot.json | grep -A10 '"gateway"' env | grep CLAWDBOT_GATEWAY_TOKEN Vulnerability: Binding to 0.0.0.0 or lan without auth allows network access. Remediation: # Generate gateway token clawdbot doctor --generate-gateway-token export CLAWDBOT_GATEWAY_TOKEN="$(openssl rand -hex 32)"
What to check: What is dm_policy set to? If allowlist, who is explicitly allowed via allowFrom? How to detect: cat ~/.clawdbot/clawdbot.json | grep -E '"dm_policy|"allowFrom"' Vulnerability: Setting to allow or open means any user can DM Clawdbot. Remediation: { "channels": { "telegram": { "dmPolicy": "allowlist", "allowFrom": ["@trusteduser1", "@trusteduser2"] } } }
What to check: What is groupPolicy set to? Are groups explicitly allowlisted? Are mention gates configured? How to detect: cat ~/.clawdbot/clawdbot.json | grep -E '"groupPolicy"|"groups"' cat ~/.clawdbot/clawdbot.json | grep -i "mention" Vulnerability: Open group policy allows anyone in the room to trigger commands. Remediation: { "channels": { "telegram": { "groupPolicy": "allowlist", "groups": { "-100123456789": true } } } }
What to check: Credential file locations and permissions Environment variable usage Auth profile storage Credential Storage Map: PlatformPathWhatsApp~/.clawdbot/credentials/whatsapp/{accountId}/creds.jsonTelegram~/.clawdbot/clawdbot.json or envDiscord~/.clawdbot/clawdbot.json or envSlack~/.clawdbot/clawdbot.json or envPairing allowlists~/.clawdbot/credentials/channel-allowFrom.jsonAuth profiles~/.clawdbot/agents/{agentId}/auth-profiles.jsonLegacy OAuth~/.clawdbot/credentials/oauth.json How to detect: ls -la ~/.clawdbot/credentials/ ls -la ~/.clawdbot/agents/*/auth-profiles.json 2>/dev/null stat -c "%a" ~/.clawdbot/credentials/oauth.json 2>/dev/null Vulnerability: Plaintext credentials with loose permissions can be read by any process. Remediation: chmod 700 ~/.clawdbot chmod 600 ~/.clawdbot/credentials/oauth.json chmod 600 ~/.clawdbot/clawdbot.json
What to check: Is browser control enabled? Are authentication tokens set for remote control? Is HTTPS required for Control UI? Is a dedicated browser profile configured? How to detect: cat ~/.clawdbot/clawdbot.json | grep -A5 '"browser"' cat ~/.clawdbot/clawdbot.json | grep -i "controlUi|insecureAuth" ls -la ~/.clawdbot/browser/ Vulnerability: Exposed browser control without auth allows remote UI takeover. Browser access allows the model to use logged-in sessions. Remediation: { "browser": { "remoteControlUrl": "https://...", "remoteControlToken": "...", "dedicatedProfile": true, "disableHostControl": true }, "gateway": { "controlUi": { "allowInsecureAuth": false } } } Security Note: Treat browser control URLs as admin APIs.
What to check: What is gateway.bind set to? Are trusted proxies configured? Is Tailscale enabled? How to detect: cat ~/.clawdbot/clawdbot.json | grep -A10 '"gateway"' cat ~/.clawdbot/clawdbot.json | grep '"tailscale"' Vulnerability: Public binding without auth allows internet access to gateway. Remediation: { "gateway": { "bind": "127.0.0.1", "mode": "local", "trustedProxies": ["127.0.0.1", "10.0.0.0/8"], "tailscale": { "mode": "off" } } }
What to check: Are elevated tools allowlisted? Is restrict_tools or mcp_tools configured? What is workspaceAccess set to? Are sensitive tools running in sandbox? How to detect: cat ~/.clawdbot/clawdbot.json | grep -i "restrict|mcp|elevated" cat ~/.clawdbot/clawdbot.json | grep -i "workspaceAccess|sandbox" cat ~/.clawdbot/clawdbot.json | grep -i "openRoom" Workspace Access Levels: ModeDescriptionnoneWorkspace is off limitsroWorkspace mounted read-onlyrwWorkspace mounted read-write Vulnerability: Broad tool access means more blast radius if compromised. Smaller models are more susceptible to tool misuse. Remediation: { "restrict_tools": true, "mcp_tools": { "allowed": ["read", "write", "bash"], "blocked": ["exec", "gateway"] }, "workspaceAccess": "ro", "sandbox": "all" } Model Guidance: Use latest generation models for agents with filesystem or network access. If using small models, disable web search and browser tools.
What to check: Directory permissions (should be 700) Config file permissions (should be 600) Symlink safety How to detect: stat -c "%a" ~/.clawdbot ls -la ~/.clawdbot/*.json Vulnerability: Loose permissions allow other users to read sensitive configs. Remediation: chmod 700 ~/.clawdbot chmod 600 ~/.clawdbot/clawdbot.json chmod 600 ~/.clawdbot/credentials/*
What to check: Are plugins explicitly allowlisted? Are legacy models in use with tool access? How to detect: cat ~/.clawdbot/clawdbot.json | grep -i "plugin|allowlist" cat ~/.clawdbot/clawdbot.json | grep -i "model|anthropic" Vulnerability: Untrusted plugins can execute code. Legacy models may lack modern safety. Remediation: { "plugins": { "allowlist": ["trusted-plugin-1", "trusted-plugin-2"] }, "agents": { "defaults": { "model": { "primary": "minimax/MiniMax-M2.1" } } } }
What is logging.redactSensitive set to? Should be tools to redact sensitive tool output If off, credentials may leak in logs How to detect: cat ~/.clawdbot/clawdbot.json | grep -i "logging|redact" ls -la ~/.clawdbot/logs/ Remediation: { "logging": { "redactSensitive": "tools", "path": "~/.clawdbot/logs/" } }
What to check: Is wrap_untrusted_content or untrusted_content_wrapper enabled? How is external/web content handled? Are links and attachments treated as hostile? How to detect: cat ~/.clawdbot/clawdbot.json | grep -i "untrusted|wrap" Prompt Injection Mitigation Strategies: Keep DMs locked to pairing or allowlists Use mention gating in groups Treat all links and attachments as hostile Run sensitive tools in a sandbox Use instruction-hardened models like Anthropic Opus 4.5 Vulnerability: Untrusted content (web fetches, sandbox output) can inject malicious prompts. Remediation: { "wrap_untrusted_content": true, "untrusted_content_wrapper": "<untrusted>", "treatLinksAsHostile": true, "mentionGate": true }
What to check: What commands are in blocked_commands? Are these patterns included: rm -rf, curl |, git push --force, mkfs, fork bombs? How to detect: cat ~/.clawdbot/clawdbot.json | grep -A10 '"blocked_commands"' Vulnerability: Without blocking, a malicious prompt could destroy data or exfiltrate credentials. Remediation: { "blocked_commands": [ "rm -rf", "curl |", "git push --force", "mkfs", ":(){:|:&}" ] }
What to check: Is detect-secrets configured? Is there a .secrets.baseline file? Has a baseline scan been run? How to detect: ls -la .secrets.baseline 2>/dev/null which detect-secrets 2>/dev/null Secret Scanning (CI): # Find candidates detect-secrets scan --baseline .secrets.baseline # Review findings detect-secrets audit # Update baseline after rotating secrets or marking false positives detect-secrets scan --baseline .secrets.baseline --update Vulnerability: Leaked credentials in the codebase can lead to compromise.
The --fix flag applies these guardrails: Changes groupPolicy from open to allowlist for common channels Resets logging.redactSensitive from off to tools Tightens local permissions: .clawdbot directory to 700, config files to 600 Secures state files including credentials and auth profiles
Treat findings in this priority order: ๐ด Lock down DMs and groups if tools are enabled on open settings ๐ด Fix public network exposure immediately ๐ Secure browser control with tokens and HTTPS ๐ Correct file permissions for credentials and config ๐ก Only load trusted plugins ๐ก Use modern models for bots with tool access
ModeDescriptionpairingDefault - unknown senders must be approved via codeallowlistUnknown senders blocked without handshakeopenPublic access - requires explicit asterisk in allowlistdisabledAll inbound DMs ignored
Slash commands are only available to authorized senders based on channel allowlists. The /exec command is a session convenience for operators and does not modify global config.
RiskMitigationExecution of shell commandsblocked_commands, restrict_toolsFile and network accesssandbox, workspaceAccess: none/roSocial engineering and prompt injectionwrap_untrusted_content, mentionGateBrowser session hijackingDedicated profile, token auth, HTTPSCredential leakagelogging.redactSensitive: tools, env vars
If a compromise is suspected, follow these steps:
Stop the gateway process โ clawdbot daemon stop Set gateway.bind to loopback โ "bind": "127.0.0.1" Disable risky DMs and groups โ Set to disabled
Change the gateway auth token โ clawdbot doctor --generate-gateway-token Rotate browser control and hook tokens Revoke and rotate API keys for model providers
Check gateway logs and session transcripts โ ~/.clawdbot/logs/ Review recent config changes โ Git history or backups Re-run the security audit with the deep flag โ clawdbot security audit --deep
Report security issues to: security@clawd.bot Do not post vulnerabilities publicly until they have been fixed.
When running a security audit, follow this sequence:
CONFIG_PATHS=( "$HOME/.clawdbot/clawdbot.json" "$HOME/.clawdbot/config.yaml" "$HOME/.clawdbot/.clawdbotrc" ".clawdbotrc" ) for path in "${CONFIG_PATHS[@]}"; do if [ -f "$path" ]; then echo "Found config: $path" cat "$path" break fi done
For each of the 13 domains above: Parse relevant config keys Compare against secure baseline Flag deviations with severity
Format findings by severity: ๐ด CRITICAL: [vulnerability] - [impact] ๐ HIGH: [vulnerability] - [impact] ๐ก MEDIUM: [vulnerability] - [impact] โ PASSED: [check name]
For each finding, output: Specific config change needed Example configuration Command to apply (if safe)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ๐ CLAWDBOT SECURITY AUDIT โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Timestamp: $(date -Iseconds) โโ SUMMARY โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ๐ด Critical: $CRITICAL_COUNT โ ๐ High: $HIGH_COUNT โ ๐ก Medium: $MEDIUM_COUNT โ โ Passed: $PASSED_COUNT โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ FINDINGS โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ ๐ด [CRITICAL] $VULN_NAME โ Finding: $DESCRIPTION โ โ Fix: $REMEDIATION โ โ ๐ [HIGH] $VULN_NAME โ ... โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ This audit was performed by Clawdbot's self-security framework. No changes were made to your configuration.
To add new security checks: Identify the vulnerability - What misconfiguration creates risk? Determine detection method - What config key or system state reveals it? Define the baseline - What is the secure configuration? Write detection logic - Shell commands or file parsing Document remediation - Specific steps to fix Assign severity - Critical, High, Medium, Low
Identity, auth, scanning, governance, audit, and operational guardrails.
Largest current source with strong distribution and engagement signals.