Claw Shell 1.0.0
Analysis
This is a disclosed shell-access skill, but its command safeguards are weak and its implementation can execute parts of input outside the intended tmux session.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
const bad = ["sudo", " rm ", " rm-", "reboot", "shutdown", "mkfs", "dd "]; ... sendCommand(command);
Only a small substring denylist gates a raw shell command. Many high-impact commands, including documented dangerous examples such as docker pruning or recursive chmod, are not covered.
function sendCommand(cmd) { ... execSync(`tmux send-keys -t claw "${escaped}" C-m`); }The command string is interpolated into an outer shell command before tmux receives it. Only double quotes are escaped, so shell expansion syntax such as command substitution can execute outside the promised tmux session.
execSync('tmux new -s claw -d');The skill creates a detached tmux session that persists after the tool call. This is disclosed and purpose-aligned, but it leaves session state and processes alive.
Source: unknown; Homepage: none; Required binaries (all must exist): none
The skill has no declared source/homepage and does not declare tmux as a required binary despite relying on tmux commands.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
execSync('tmux capture-pane -t claw -p -S -200');The tool returns the last 200 lines from a persistent tmux pane, not only the latest command's output, so prior terminal contents can be reused as agent context.
