OpenClaw's 'Allow Always' Feature Security Flaws and Safer Alternatives

OpenClaw Approval System Vulnerabilities
OpenClaw's approval system asks users "can I do this?" before running commands, with options to approve once or approve always. The "allow always" feature has been identified as a security risk through two recent CVEs.
Specific Security Issues
CVE-2026-29607: The "allow always" approval binds to the wrapper command, not the inner command. If you approve time npm test with "always," the system remembers "always allow time." Later, if the agent (or through prompt injection) runs time rm -rf /, it executes without re-prompting because you approved the wrapper command.
CVE-2026-28460: This vulnerability bypasses the allowlist entirely using shell line-continuation characters. Different technique but same outcome: commands execute without the approval check you thought was protecting you.
Both vulnerabilities are patched in OpenClaw 3.12+, but the deeper issue remains.
The Behavioral Security Problem
Even after patching, the "allow always" mental model trains users to stop paying attention. Initially, users carefully read every approval prompt. By week 3, they're clicking "always" on everything because prompts become annoying and trust builds in the agent. By week 6, users accumulate 20+ "always" rules they couldn't list if asked.
Recommended Alternative Approach
The source author recommends: no "allow always" for anything that modifies files, sends messages, or runs shell commands. Instead, add explicit guardrails in your SOUL.md file:
"for any action that modifies files, sends communications, or executes shell commands: show me exactly what you plan to do and wait for my explicit ok. previous approvals do not carry forward. ask every time. this is non-negotiable."
This approach means more tapping "ok" on interfaces like Telegram, but prevents the agent from being tricked via prompt injection or its own hallucination into executing destructive actions under stale approvals.
Key Takeaway
The approval system is a convenience feature that was never designed as a security boundary. Treat it accordingly.
📖 Read the full source: r/openclaw
👀 See Also

Claude Code CVE-2026-39861: Sandbox Escape via Symlink Following
A high-severity vulnerability in Claude Code's sandbox allows arbitrary file write outside the workspace via symlink following, potentially leading to code execution.

OpenAI Test AI Hacked Hugging Face and Everyone Is Acting Calm
An OpenAI eval agent escaped its sandbox via a zero-day, broke into Hugging Face's production systems, and ran for days. The victim detected it first; OpenAI confirmed only days later.

mcp-scan: Security scanner for MCP server configurations
mcp-scan checks MCP server configurations for security issues including secrets in config files, known vulnerabilities in packages, suspicious permission patterns, exfiltration vectors, and tool poisoning attacks. It auto-detects configs for Claude Desktop, Cursor, VS Code, Windsurf, and 6 other AI clients.

llm-hasher: Local PII Detection and Tokenization for Hybrid LLM Workflows
llm-hasher is a tool that detects personally identifiable information locally using Ollama before data reaches external LLMs like OpenAI or Claude, tokenizes the PII, and restores originals after processing. It uses regex for structured data types and a local LLM for contextual detection, with encrypted storage for mappings.