Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

OpenClaw ClaudeCode Controller

v1.1.0

Control Claude Code (cc) via tmux to execute development tasks. Use for: starting CC development sessions, sending development commands, monitoring progress,...

0· 11·0 current·0 all-time
byFlorian@fanzhidongyzby

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for fanzhidongyzby/openclaw-claudecode.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "OpenClaw ClaudeCode Controller" (fanzhidongyzby/openclaw-claudecode) from ClawHub.
Skill page: https://clawhub.ai/fanzhidongyzby/openclaw-claudecode
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Canonical install target

openclaw skills install fanzhidongyzby/openclaw-claudecode

ClawHub CLI

Package manager switcher

npx clawhub@latest install openclaw-claudecode
Security Scan
Capability signals
Requires sensitive credentials
These labels describe what authority the skill may exercise. They are separate from suspicious or malicious moderation verdicts.
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
The name/description (control Claude Code via tmux for development tasks) matches the runtime instructions: creating tmux sessions, sending commands, monitoring output, and managing sessions. Creating a non-root user to run CC is explained and logically consistent with the stated purpose.
!
Instruction Scope
The SKILL.md instructs the agent (and operator) to install packages, create system users, set passwords via chpasswd (plaintext in commands), run external installer scripts, use an explicit flag (--dangerously-skip-permissions) to bypass confirmations, and automate sending confirmation keystrokes. These actions go beyond simple orchestration of a CLI tool and grant broad ability to perform privileged system changes and to auto-accept prompts, which could cause unintended destructive or exfiltrative operations.
!
Install Mechanism
Although there is no formal install spec, the runtime instructions advise installing Claude Code by piping a remote script (curl -fsSL https://claude.ai/install.sh | sh) — a high-risk pattern because it executes code fetched from the network without provenance checks. npm -g install is reasonable, but the unvetted curl|sh install is disproportionate and risky for an instruction-only skill.
!
Credentials
requires.env is empty in registry metadata, but SKILL.md refers to authentication and an ANTHROPIC_API_KEY (and suggests running 'claude /login'), and also suggests embedding plaintext passwords in chpasswd commands. The skill implicitly needs credentials but doesn't declare them; that mismatch and the plaintext-password pattern are disproportionate and raise risk of accidental credential exposure.
Persistence & Privilege
The skill does not request always:true and does not modify other skills, which is good. However it instructs privileged operations (package installs, useradd, chpasswd, su) that require root. Also the combination of autonomous invocation (default allowed) plus instructions to auto-confirm prompts and use --dangerously-skip-permissions increases blast radius if the agent is allowed to run these steps without human supervision.
What to consider before installing
This skill appears to do what it says, but it contains several risky or under-documented actions. Before installing or running it: - Do not blindly run curl | sh; inspect the remote install script or prefer npm install from a trusted package. - Avoid using --dangerously-skip-permissions and automated 'y' confirmations unless you fully trust the commands Claude will run. These flags can cause destructive or network-exfiltrating actions to proceed without human review. - The SKILL.md references ANTHROPIC_API_KEY and 'claude /login' but the registry metadata doesn't declare required env vars; ensure you provide and protect the correct API credentials and never paste secrets into commands or public logs. - Creating system users and setting passwords via chpasswd is a privileged action; run these steps in a controlled environment (VM or container), not on production hosts. - If you plan to allow autonomous invocation, restrict it until you confirm the install source and remove the auto-confirm behaviors. If you want a lower-risk setup, ask the author for: a trustworthy source/release for Claude Code, explicit required environment variables, safer defaults (no --dangerously flags), and a mode that requires manual confirmation for privileged operations.

Like a lobster shell, security has layers — review code before you run it.

latestvk979p12g3sv9cwjh7v0v1xcywd85f42k
11downloads
0stars
2versions
Updated 1h ago
v1.1.0
MIT-0

openclaw-claudecode Skill

Control Claude Code through tmux sessions for long-running development tasks.

Environment Check & Initialization (Required for First Use)

0.1 Check tmux

# Check if tmux is installed
which tmux || echo "tmux not found"

# If not installed, install tmux
# CentOS/RHEL/Rocky:
dnf install -y tmux || yum install -y tmux

# Ubuntu/Debian:
apt install -y tmux

# Alpine:
apk add tmux

0.2 Check Claude Code

# Check if claude command is available
which claude || echo "claude not found"

# If not installed, install Claude Code
npm install -g @anthropic-ai/claude-code

# Or use official install script
curl -fsSL https://claude.ai/install.sh | sh

0.3 Verify Claude Code Works

# Check version
claude --version

# Test simple call (requires valid authentication)
claude --print "hello" 2>&1 | head -5

Common Issues:

  • Not logged in → Run claude /login first or configure ANTHROPIC_API_KEY
  • model not found → Check if API endpoint supports the specified model

0.4 Create Regular User (CC refuses root)

# Check if regular user exists
id <username> || echo "user not found"

# Create user (if not exists)
useradd -m -s /bin/bash <username>

# Set password (optional)
echo "<username>:<password>" | chpasswd

Recommended usernames: claudecode, developer, ccdev

0.5 Environment Check Summary

Run complete environment check:

# One-click check script
check_env() {
  echo "=== tmux ==="
  which tmux && tmux -V || echo "❌ tmux missing"

  echo "=== claude ==="
  which claude && claude --version || echo "❌ claude missing"

  echo "=== user ==="
  id <username> || echo "❌ user missing"

  echo "=== auth ==="
  claude --print "test" 2>&1 | grep -E "error|Error" && echo "❌ auth failed" || echo "✅ auth ok"
}
check_env

All checks must pass before proceeding


Core Flow

1. Locate Project Directory

# Check directory exists
ls -la <project_path>

# Check if it's a git repo (CC requires)
ls -la <project_path>/.git

Directory not found → Immediately ask user to confirm path

2. Create tmux Session

# Create session (with working directory)
tmux new-session -d -s <session_name> -c <project_path>

# Verify session
tmux list-sessions

Session naming suggestion: cc-<project> or claude-<task>

3. Switch User + Start CC

CC refuses root, must switch to regular user:

# Send command: switch user + cd + start CC
tmux send-keys -t <session_name> "su - <username> -c 'cd <project_path> && claude --dangerously-skip-permissions'" Enter

Key Parameters:

  • --dangerously-skip-permissions: Skip all confirmation prompts, fully automatic
  • --print: Silent mode, buffer output until complete (for background tasks)

4. Send Development Commands

# Single line command
tmux send-keys -t <session_name> "<prompt>" Enter

# Multi-line command (use load-buffer)
cat << 'EOF' | tmux load-buffer -
First line
Second line
Third line
EOF
tmux paste-buffer -t <session_name>
tmux send-keys -t <session_name> Enter

5. Monitor Progress

# View recent output
tmux capture-pane -t <session_name> -p | tail -30

# View full scroll history
tmux capture-pane -t <session_name> -p -S -

# Check if input is needed
tmux capture-pane -t <session_name> -p | tail -10 | grep -E "❯|Yes.*No|proceed|permission|y/n"

6. Auto-confirm/Interact

# Send confirmation
tmux send-keys -t <session_name> y Enter

# Send cancel
tmux send-keys -t <session_name> n Enter

# Send Ctrl+C interrupt
tmux send-keys -t <session_name> C-c

Complete Example

Start Development Task (with Environment Check)

# 0. Environment check
which tmux || dnf install -y tmux
which claude || npm install -g @anthropic-ai/claude-code
id claudecode || useradd -m claudecode

# 1. Create session
tmux new-session -d -s cc-<project> -c <project_path>

# 2. Start CC (regular user)
tmux send-keys -t cc-<project> "su - claudecode -c 'cd <project_path> && claude --dangerously-skip-permissions'" Enter

# 3. Wait for CC to start (~5 seconds)
sleep 5

# 4. Send development task
tmux send-keys -t cc-<project> "<prompt>" Enter

# 5. Monitor progress
tmux capture-pane -t cc-<project> -p | tail -20

Check CC Process Status

# Check if CC is running
ps aux | grep -i claude | grep -v grep

# Check runtime duration
ps -o pid,etime,cmd -p $(pgrep -f "claude --dangerously")

Session Management

# List all sessions
tmux list-sessions

# List all attach clients
tmux list-clients

# Attach to session (interactive view)
tmux attach -t <session_name>

# Kill session
tmux kill-session -t <session_name>

# Kill other attach clients (keep yours)
tmux detach-client -t <session_name> -a

# Detach from attached session
# Shortcut: Ctrl+B then D

Common Issues

CC Refuses Root

Solution: Switch to non-root user

tmux send-keys -t <session_name> "su - <username> -c 'cd <project_path> && claude --dangerously-skip-permissions'" Enter

504 Gateway Timeout

Cause: Claude API server temporary error

Solution: Wait 1-2 minutes then restart CC

# Interrupt current process
tmux send-keys -t <session_name> C-c

# Restart
tmux send-keys -t <session_name> "claude --dangerously-skip-permissions" Enter

CC Stuck at Confirmation Prompt

Detection:

tmux capture-pane -t <session_name> -p | tail -5 | grep -E "y/n|Yes|No|proceed"

Solution:

tmux send-keys -t <session_name> y Enter

Attach Processes Residue

Detection:

tmux list-clients
ps aux | grep "tmux attach" | grep -v grep

Cleanup:

# Kill extra attach processes
kill <PID1> <PID2>

# Or kick other clients
tmux detach-client -t <session_name> -a

Check CC Completion Status

# Check if back to shell prompt
tmux capture-pane -t <session_name> -p | tail -3 | grep -E "\\$|#|❯"

# Check git commits
cd <project_path> && git log --oneline -3

Best Practices

  1. Must check environment on first use: tmux, claude, regular user, authentication
  2. Clear session naming: cc-<project>-<task> for managing multiple tasks
  3. Regular progress check: Use capture-pane every 30 minutes
  4. Record session ID: Note session name and start time in memory file
  5. Clean residual attach: Regularly check tmux list-clients and cleanup

Command Reference

CommandPurpose
tmux new-session -d -s NAME -c DIRCreate background session
tmux send-keys -t NAME "CMD" EnterSend command
tmux capture-pane -t NAME -pCapture output
tmux capture-pane -t NAME -p -S -Capture full history
tmux list-sessionsList sessions
tmux list-clientsList attach clients
tmux kill-session -t NAMEKill session
tmux attach -t NAMEAttach session
tmux detach-client -t NAME -aKick other clients
tmux send-keys -t NAME C-cSend Ctrl+C
tmux send-keys -t NAME y EnterSend confirmation
tmux send-keys -t NAME n EnterSend cancel
Check CommandPurpose
which tmuxCheck tmux
which claudeCheck claude
claude --versionCheck version
id <user>Check user exists
`ps auxgrep claude`

Comments

Loading comments...