원클릭으로
clawshell
Human-in-the-loop security layer. Intercepts high-risk commands and requires push notification approval.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Human-in-the-loop security layer. Intercepts high-risk commands and requires push notification approval.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | clawshell |
| description | Human-in-the-loop security layer. Intercepts high-risk commands and requires push notification approval. |
| version | 0.1.0 |
| metadata | {"openclaw":{"requires":{"bins":["node"],"env":["CLAWSHELL_PUSHOVER_USER","CLAWSHELL_PUSHOVER_TOKEN"]},"primaryEnv":"CLAWSHELL_PUSHOVER_USER"}} |
| tags | ["security","approval","sandbox"] |
Human-in-the-loop security layer for OpenClaw. ClawShell intercepts shell commands before execution, analyzes their risk level, and requires your explicit approval (via push notification) for dangerous operations.
clawshell_bash instead of bashrm -rf /, fork bombs) — automatically blockedrm -rf, curl to external URLs, credential access) — sends a push notification and waits for your approvalnpm install, git push) — logged and allowedls, cat, git status) — allowedlogs/clawshell.jsonlSecure replacement for bash. Analyzes command risk and executes only if safe or approved.
Parameters:
command (string, required) — The shell command to executeworkingDir (string, optional) — Working directory (defaults to cwd)Returns: { exitCode, stdout, stderr }
High-risk commands will block until you approve or reject via push notification. Critical commands are rejected immediately.
Returns current ClawShell state: pending approval requests and recent decisions.
Parameters: none
Returns recent log entries for audit and debugging.
Parameters:
count (number, optional) — Number of entries to return (default: 20)cd /app/workspace/skills/clawshell
npm install
Create a Pushover application at https://pushover.net/apps/build and add your keys to .env:
CLAWSHELL_PUSHOVER_USER=your-user-key
CLAWSHELL_PUSHOVER_TOKEN=your-app-token
Alternatively, configure Telegram instead:
CLAWSHELL_TELEGRAM_BOT_TOKEN=your-bot-token
CLAWSHELL_TELEGRAM_CHAT_ID=your-chat-id
Add the following to your OpenClaw TOOLS.md so the agent uses ClawShell for shell commands:
## Shell Access
Use `clawshell_bash` for ALL shell command execution. Do not use `bash` directly.
ClawShell will analyze commands for risk and require human approval for dangerous operations.
Available tools:
- `clawshell_bash(command, workingDir)` — Execute a shell command with risk analysis
- `clawshell_status()` — Check pending approvals and recent decisions
- `clawshell_logs(count)` — View recent audit log entries
ClawShell reads configuration from environment variables (CLAWSHELL_*) with fallback to config.yaml.
| Variable | Default | Description |
|---|---|---|
CLAWSHELL_PUSHOVER_USER | — | Pushover user key |
CLAWSHELL_PUSHOVER_TOKEN | — | Pushover app token |
CLAWSHELL_TELEGRAM_BOT_TOKEN | — | Telegram bot token (alternative) |
CLAWSHELL_TELEGRAM_CHAT_ID | — | Telegram chat ID (alternative) |
CLAWSHELL_TIMEOUT_SECONDS | 300 | Seconds to wait for approval before auto-reject |
CLAWSHELL_LOG_DIR | logs/ | Directory for JSONL log files |
CLAWSHELL_LOG_LEVEL | info | Log verbosity: debug, info, warn, error |
CLAWSHELL_BLOCKLIST | — | Comma-separated extra blocked commands |
CLAWSHELL_ALLOWLIST | — | Comma-separated extra allowed commands |
Custom rules can also be defined in config.yaml under rules.blocklist and rules.allowlist using exact strings, globs, or regex patterns.
Always ask your AI to scan any skill or software for security risks.