Agent Economy Report

Skill code audit

CAUTION version 1.0.0 · audited 2026-09-17

tmux @steipete

This package teaches an AI agent to drive tmux, a terminal multiplexer: it creates isolated socket directories, starts sessions, sends keystrokes and commands into panes, and captures pane text. Two helper scripts list sessions on sockets and poll pane output for a pattern. The code stays within that stated purpose, but shell-level control and pane capture can expose sensitive terminal content, and the documentation shows unattended `--yolo` coding-agent examples. No hidden network destinations, encoded payloads, persistence, or direct credential-file access were found. The verdict is CAUTION because a user should review the shell-control and terminal-output-exposure risks before installing this in an agent with credentials or spend authority.

Declared purposeRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
Observed behaviorThe package consists of SKILL.md plus two bash helper scripts. It instructs the agent to create tmux sockets under a clawdbot-specific directory, start sessions, send keystrokes/commands to panes, capture pane history, scan socket directories for sessions, and wait for pane text to match a pattern. The scripts use local tmux, bash, grep, date, and sleep; no network calls, download-and-execute, persistence, wallet/payment code, or encrypted/obfuscated payloads were observed.
Verdict, rules onlySAFE
Verdict, AICAUTION
Final verdictCAUTION (never better than either pass)

Capabilities

capabilityvs purposedetail
shellneededThe skill sends keystrokes and commands into tmux panes and runs bash helper scripts. Examples: SKILL.md line 20 uses `tmux send-keys` to launch a Python REPL; both scripts are bash programs.
filesystem_writeneededSKILL.md line 15 runs `mkdir -p "$SOCKET_DIR"` to create the tmux socket directory; tmux then creates socket files there.
filesystem_readneededfind-sessions.sh line 83 expands all entries in the socket directory, and line 93 checks for Unix sockets; wait-for-text.sh captures pane output via tmux.
networkexceeds purposeNo network code was observed. The only domain is an informational link in skill-card.md line 9.
credentialsexceeds purposeNo stored credentials are read directly, but captured pane text could include tokens or secrets, and wait-for-text.sh prints it to stderr on timeout (line 78; risk acknowledged in skill-card.md line 32).
install_packagesexceeds purposeSKILL.md line 99 suggests `pnpm install` before running codex in fresh clones; this is documented guidance rather than an automated package installation by the helper scripts.

Findings

severityfinding
infoDeclared purpose
This frontmatter line states the skill's purpose; observed behavior matches it.
SKILL.md:3 description: Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
infoUses isolated tmux socket directory
The guide directs tmux to a dedicated socket directory, which avoids interfering with the user's default tmux server.
SKILL.md:14 SOCKET_DIR="${CLAWDBOT_TMUX_SOCKET_DIR:-${TMPDIR:-/tmp}/clawdbot-tmux-sockets}"
infoSends shell commands into a pane
This example sends a Python REPL launch command as keystrokes to a tmux pane. Shell-level control is necessary for the declared purpose but should be reviewed.
SKILL.md:20 tmux -S "$SOCKET" send-keys -t "$SESSION":0.0 -- 'PYTHON_BASIC_REPL=1 python3 -q' Enter
mediumHigh-authority coding-agent example
The documentation shows launching coding agents with `--yolo`; line 101 says Codex needs `--yolo` or `--full-auto`. If followed, this can modify repositories or run commands without interactive review. skill-card.md line 28 acknowledges this risk.
SKILL.md:81 tmux -S "$SOCKET" send-keys -t agent-1 "cd /tmp/project1 && codex --yolo 'Fix bug X'" Enter
lowDocumentation suggests installing packages
The guide recommends running pnpm install before codex in fresh clones. The helper scripts do not perform this installation automatically.
SKILL.md:99 - `pnpm install` first before running codex in fresh clones
lowCleanup command kills all sessions on a socket
This command terminates all tmux sessions on the selected socket. It is within the skill's purpose but destructive if pointed at the wrong socket.
SKILL.md:106 tmux -S "$SOCKET" list-sessions -F '#{session_name}' | xargs -r -n1 tmux -S "$SOCKET" kill-session -t
lowScans all entries in socket directory
In `--all` mode the script iterates over every entry in the socket directory and lists tmux sessions from each Unix socket found. This could list sessions outside the current socket if other sockets are present there.
scripts/find-sessions.sh:83 sockets=("$socket_dir"/*)
mediumPrints captured pane text on timeout
When the pattern is not found before the deadline, the script writes the captured pane history to stderr. This can expose tokens, private source, or other sensitive terminal output; skill-card.md line 32 acknowledges this risk.
scripts/wait-for-text.sh:78 printf '%s\n' "$pane_text" >&2
mediumAuthor-disclosed secret-exposure risk
The package itself warns that wait-for-text.sh may print sensitive terminal content on timeout. This supports a CAUTION verdict.
skill-card.md:32 Risk: `wait-for-text.sh` can print captured pane history to stderr on timeout, which may expose tokens, private source, or other sensitive terminal output.
infoDocumentation link only
The only domain present is an informational publisher link. No network calls were observed in the scripts.
skill-card.md:9 [steipete](https://clawhub.ai/user/steipete)

0 AI finding(s) were dropped because their file, line or quote did not match the package.

Network destinations in the code

domainservice ratingwhere
clawhub.ainot in the service indexskill-card.md:9

Other facts

Binaries invokedbash, git, python, python3
Environment variables readCLAWDBOT_TMUX_SOCKET_DIR, SESSION, SOCKET, SOCKET_DIR, TMPDIR
Hard-coded walletsnone
Pipes a download to a shell0
eval / exec / subprocess0
base64 blobs0
File writes5
Persistence0

Files audited

filelinessha256
SKILL.md1219801a7dde4106af5…
_meta.json653fb14f56ed9837a…
scripts/find-sessions.sh112a137d03b3b373324…
scripts/wait-for-text.sh8396bc42702f7353c3…
skill-card.md5621db8901f3be9d40…

For agents

JSON: https://agenteconomy.report/k/tmux.audit.json · badge: https://agenteconomy.report/k/tmux.audited.svg · skill rating: /k/tmux · commission an audit of any skill: US$ 29 per version.

How this is computed

The complete published package of this exact version was downloaded from the registry and read statically; nothing was executed. A deterministic pass extracts network destinations, binaries, environment variables, writes, install commands, obfuscation markers, subprocesses and wallets, each with file and line. An AI then reads the whole package with those facts and writes the summary, the capabilities and the findings under a strict schema; every finding it produces must cite a file, a line and the exact text, or it is dropped. The final verdict is the worst of the two passes. The audit does not change the skill's trust tier (policy); the author may respond through the dispute channel and the response is published here. Commissioned by: the Agent Economy Report (free program: the 150 most downloaded skills, September 2026).