Skills/ClawHub/taxclaw

taxclaw@1.1.0

BLOCKED· static only

Publisher claims: "Turn tax documents (W-2, 1099-NEC/INT/DIV/B/MISC/OID/R/G/K, 1099-DA, K-1, consolidated 1099s; PDF or image) into structured JSON/CSV for accountants and tax software, locally by default. Use when the user wants to extract, read, parse or export the data on a tax form, find fields that need review, or choose a model for that. Does not prepare or file returns and is not tax advice." Observed in sandbox: static analysis only — behavior not yet observed.

Registry ClawHubPublisher dougbutdorf · publishing for 4 daysInstalls 1,297Last detonated 4d ago

Coverage

Static only; nothing was run yet.

The label rests on the code, the instruction files and the publisher. The honeypot run replaces this verdict when it completes.

Is [email protected] safe to install?

KillerSkills analysed it statically (a sandbox run is pending) on 2026-11-11 and scored it 49/100 (Blocked). Do not install it: the sandbox observed behaviour consistent with credential theft, exfiltration or persistence. Notable findings: Pipe-to-shell pattern; Pipe-to-shell pattern; Hidden zero-width characters detected. Summary: static analysis only — behavior not yet observed.

Behavior trace

Queued for honeypot run · static analysis only
t+CategoryObserved action

This version has not been detonated yet. The score above counts behavior as unknown (50/100), so it cannot read Verified until the honeypot run completes and replaces this verdict.

Static findings

MEDIUM
File permission modification commandsrc/config.py:225 · File permission modification command — agent changes file ownership/permissions(best effort; a user-chosen shared ``data_dir`` that we cannot chmod is left alone).Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
CRITICAL
Pipe-to-shell patternsrc/doctor.py:178 · Pipe-to-shell pattern — downloads and immediately executes remote codef"`brew install ollama`; on Linux run `{install.get('linux', 'curl -fsSL https://ollama.com/install.sh | sh')}`. "Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
Python subprocess execution detectedscripts/smoke.sh:381 · Python subprocess execution detectedtracked = subprocess.run(["git", "-C", str(root), "ls-files"], capture_output=True, text=True, check=True).stdout.split()Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
Collapsed <details> block carrying instructionstemplates/settings.html:190 · Collapsed <details> block carrying instructions · informational: not an instruction file<summary>Custom endpoint</summary> <input name="openai_compat_base_url" placeholder="https://… (empty = provider preset)" value="{{ cfg.openai_compat_base_url }Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
MEDIUM
Remote installer piped to shellsrc/doctor.py:178 · Remote installer piped to shellf"`brew install ollama`; on Linux run `{install.get('linux', 'curl -fsSL https://ollama.com/install.sh | sh')}`. "Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
MEDIUM
Pipe-to-shell patterntests/test_doctor.py:109 · Pipe-to-shell pattern — downloads and immediately executes remote codeself.assertIn("curl -fsSL https://ollama.com/install.sh | sh", step)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
LOW
Authorization escalation languageREADME.md:348 · Authorization escalation language · informational: not an instruction file- **ChatGPT:** Settings -> Connectors -> Developer mode -> Add MCP server, same URL, no authFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.
AST01
CRITICAL
Pipe-to-shell patternsrc/model_catalog.yaml:142 · Pipe-to-shell pattern — downloads and immediately executes remote codelinux: "curl -fsSL https://ollama.com/install.sh | sh"Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST06
MEDIUM
Remote installer piped to shellsrc/model_catalog.yaml:142 · Remote installer piped to shelllinux: "curl -fsSL https://ollama.com/install.sh | sh"Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
HIGH
Hidden zero-width characters detectedsrc/ai.py:55 · Hidden zero-width characters detected — may conceal contenttext = (text or "").strip().lstrip("").strip()Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST07
MEDIUM
Remote installer piped to shelltests/test_doctor.py:109 · Remote installer piped to shellself.assertIn("curl -fsSL https://ollama.com/install.sh | sh", step)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST07
LOW
Prompt injectionREADME.md:348 · Prompt injection — known jailbreak technique reference · informational: not an instruction file- **ChatGPT:** Settings -> Connectors -> Developer mode -> Add MCP server, same URL, no authFix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01
MEDIUM
Python subprocess execution detectedscripts/smoke.sh:395 · Python subprocess execution detectedignored = subprocess.run(["git", "-C", str(root), "check-ignore", "-q", "--no-index", rel]).returncode == 0Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
HTML comment carrying imperative instructions to the agenttemplates/settings.html:25 · HTML comment carrying imperative instructions to the agent · informational: not an instruction fileFirst-run doctor: the same three paths as `taxclaw doctor`Fix: Keep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
AST01

Cost to the agent

Instructions loaded
≈2,515 tok
1 file · 59 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.

What would make this Verified

31 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  2. Unclaimed publisher≈ +8 on the totalClaim dougbutdorf: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Hidden zero-width characters detected≈ +4 on the totalKeep SKILL.md to visible, descriptive text. Remove comments and encoded text that address the agent.
  4. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
  5. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  6. Remote installer piped to shell≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim dougbutdorfPropose a patch to the maintainer