tableski@r1
BLOCKED· install onlyPublisher claims: "Enables AI agents to query Excel, CSV, Parquet, and NDJSON files as SQL tables, joining data across formats and sheets and exporting results to CSV or Excel." Observed in sandbox: sends data to release-assets.githubusercontent.com.
Coverage
Install scripts ran; no agent task scenario for this bundle.- Tested
- install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Blocked here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Revoked: guards refuse to launch this version
confirmed incident: contacted release-assets.githubusercontent.com (undeclared) Every machine running vet-skills guard stops starting it at the next launch; the state clears when the honeypot re-run or a reviewer clears it.
Before you give it your token
- It will ask for
TABLESKI_TOKEN- Where it talks to
- no vendor host named in the codeAlso tableski.io, githubusercontent.com, openxmlformats.org — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · contacted release-assets.githubusercontent.com (undeclared)
- What we could not test
- use of the skill by an agent
Do not connect it. The honeypot or a critical finding blocked this version; the evidence is below.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is tableski@r1 safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-13 and scored it 47/100 (Blocked). Do not install it: the sandbox observed behaviour consistent with credential theft, exfiltration or persistence. Notable findings: Direct script execution from GitHub raw URL; Pipe-to-shell pattern. Summary: sends data to release-assets.githubusercontent.com.
Behavior trace
Honeypot run · 1 s · 2 scenariosStatic findings
# curl -fsSL https://raw.githubusercontent.com/yarenty/tableski/main/install.sh | shFix: Pin versions and sources; vendor anything fetched at install time.# curl -fsSL https://raw.githubusercontent.com/yarenty/tableski/main/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out."CREATE EXTERNAL TABLE pw STORED AS CSV LOCATION '/etc/passwd'".into(),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.trap 'kill $SRV 2>/dev/null || true' EXITFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell."SELECT * FROM read_csv('/etc/passwd')".into(),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.<summary>Can the AI change or delete my data?</summary><p>No. Only read-only queries run, over your own tables, with time and size limits. Your workbook is neveFix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.chmod +x "$BIN_DIR/tableski"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.rejection("CREATE EXTERNAL TABLE x STORED AS CSV LOCATION '/etc/passwd'"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.matches!(rejection("SELECT * FROM read_csv('/etc/passwd')"), Rejection::TableFunction(f) if f == "read_csv")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."SELECT * FROM '/etc/passwd'".into(),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# curl -fsSL https://raw.githubusercontent.com/yarenty/tableski/main/install.sh | shFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.Cost to the agent
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
33 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Contacts a host you did not declare≈ +23 on the totalList every host you talk to in SKILL.md frontmatter (`network: [api.example.com]`), or stop contacting the ones you cannot justify.
- Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
- Unclaimed publisher≈ +8 on the totalClaim yarenty: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Direct script execution from GitHub raw URL≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
- New publisher≈ +3 on the totalTime clears this on its own after 14 and 30 days. Claiming the handle (+50) is the fastest way past it.
- Access to sensitive file paths≈ +2 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.