CtrlK
BlogDocsLog inGet started
Tessl Logo

honeybadge/virtui

automatically control and record tui application sessions from the terminal

93

4.45x
Quality

94%

Does it follow best practices?

Impact

89%

4.45x

Average score across 3 eval scenarios

SecuritybySnyk

High

Do not use without reviewing

Overview
Quality
Evals
Security
Files

Security

1 high severity finding. You should review these findings carefully before considering using this skill.

High

W007: Insecure credential handling detected in skill instructions.

What this means

The skill handles credentials insecurely by requiring the agent to include secret values verbatim in its generated output. This exposes credentials in the agent’s context and conversation history, creating a risk of data exfiltration.

Why it was flagged

The skill exposes CLI flags and pipeline JSON (e.g., -e KEY=VAL, exec/type steps, and piped pipeline files) that require the agent to emit exact command/JSON strings, so if asked to pass API keys, tokens, or passwords to the TUI or environment the LLM would have to include those secret values verbatim (high exfiltration risk).

Where we found it

-e KEY=VAL

command · 1 site

The `-e KEY=VAL` CLI flag for `virtui run` allows passing environment variables to the launched session; if an agent is asked to pass API keys, tokens, or passwords via this flag, it must emit those secret values verbatim in the command line.

SKILL.md

64

| `-e KEY=VAL` | | Environment variables (repeatable) |

exec <session_id> "<input>"

command · 1 site

The `exec` command takes an `<input>` string that is typed into the terminal; if an agent is asked to run a command containing API keys, tokens, or passwords, it must emit those secret values verbatim in the command line.

SKILL.md

91

virtui --json exec <session_id> "<input>" [wait flags]

pipeline JSON with exec input

command · 1 site

The pipeline JSON format includes an `exec` step with an `input` field; if an agent constructs pipeline JSON containing commands with API keys, tokens, or passwords, it must emit those secret values verbatim in the JSON.

SKILL.md

218

{"exec":{"input":"ls","wait":{"text":"README"}}},

pipeline JSON with type text

command · 1 site

The pipeline JSON format includes a `type` step with a `text` field; if an agent constructs pipeline JSON containing text input with API keys, tokens, or passwords, it must emit those secret values verbatim in the JSON.

SKILL.md

196

{"type":{"text":"echo hello world"}},

pipeline --file steps.json

command · 1 site

The `--file` option for pipeline allows reading steps from a JSON file; if an agent creates a steps.json file containing commands with API keys, tokens, or passwords, it must emit those secret values verbatim into the file.

SKILL.md

211

virtui --json pipeline <session_id> --file steps.json

run <command...>

command · 1 site

The `run` command takes a `<command...>` argument that is executed in the terminal; if an agent is asked to run a command containing API keys, tokens, or passwords, it must emit those secret values verbatim in the command line.

SKILL.md

54

virtui --json run <command...>

virtui type <session_id> "<text>"

command · 1 site

The `virtui type` CLI command takes a text argument that is typed into the terminal; if an agent is asked to type a password, API key, or token, it must emit those secret values verbatim in the command line.

SKILL.md

145

virtui type <session_id> "search query"

Report incorrect finding
Audited
Security analysis
Snyk