tenk-connect
Analysis
The skill mostly matches its TenK purpose, but its logging script unsafely embeds chat-provided skill names into Python code, creating a local code-execution risk.
Findings (3)
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.
local skill_query="${1:-}"
...
q = '$skill_query'.lower()The user-provided skill name argument is inserted directly into Python source passed to `python3 -c`. A crafted value containing a quote and Python statements could break out of the string and execute code locally as the user.
curl -sf -X POST "$API/sessions" ... -d "$body"
The helper can create TenK practice-session records through the authenticated API. This is central to the skill’s purpose and is described in SKILL.md, but it is still an account-changing action.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
User logs in with TenK credentials. CLI polls until approved. Token saved to ~/.config/tenk-connect/token (chmod 600).
The skill obtains and stores a TenK OAuth token for later API calls. This is disclosed and purpose-aligned, but it grants the assistant access to read account details and log sessions while valid.
