Skills/Glama/tableski

tableski@r1

BLOCKED· install only

Publisher 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.

Registry GlamaPublisher yarenty · publishing for 7 daysInstalls 0Last detonated 16 h ago

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 scenarios
t+CategoryObserved action
0.0sprocessinstall script run in the sandbox
0.7snetworkCONNECT tcp://api.github.com:443
0.7snetworkCONNECT tcp://github.com:443
0.7snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.7sprocessexec /usr/bin/uname
0.7sprocessexec /usr/bin/curl
0.7sprocessexec /usr/bin/grep
0.7sprocessexec /usr/bin/cut
0.7sprocessexec /usr/bin/mkdir
0.7sprocessexec /usr/bin/tar
0.7sprocessexec /app/apps/web/node_modules/.bin/gzip
0.7sprocessexec /root/.cache/node/corepack/v1/pnpm/10.28.0/dist/node-gyp-bin/gzip
0.7sprocessexec /app/node_modules/.bin/gzip
0.7sprocessexec /pnpm/gzip
0.7sprocessexec /usr/local/sbin/gzip
0.7sprocessexec /usr/local/bin/gzip
0.7sprocessexec /usr/sbin/gzip
0.7sprocessexec /usr/bin/gzip
0.7sprocessexited 2: tar: Error is not recoverable: exiting now
0.7sprocessscript backend runs setup only
0.7sprocessscript backend runs setup only
0.9sprocesssecond launch, clock +45 days, CI unset
1.3snetworkCONNECT tcp://api.github.com:443
1.3snetworkCONNECT tcp://github.com:443
1.3snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
1.3sprocessexec /usr/bin/uname
1.3sprocessexec /usr/bin/curl
1.3sprocessexec /usr/bin/grep
1.3sprocessexec /usr/bin/cut
1.3sprocessexec /usr/bin/mkdir
1.3sprocessexec /usr/bin/tar
1.3sprocessexec /app/apps/web/node_modules/.bin/gzip
1.3sprocessexec /root/.cache/node/corepack/v1/pnpm/10.28.0/dist/node-gyp-bin/gzip
1.3sprocessexec /app/node_modules/.bin/gzip
1.3sprocessexec /pnpm/gzip
1.3sprocessexec /usr/local/sbin/gzip
1.3sprocessexec /usr/local/bin/gzip
1.3sprocessexec /usr/sbin/gzip
1.3sprocessexec /usr/bin/gzip
1.3sprocessexited 2: tar: Error is not recoverable: exiting now

Static findings

HIGH
Direct script execution from GitHub raw URLinstall.sh:3 · Direct script execution from GitHub raw URL — unverified code source# curl -fsSL https://raw.githubusercontent.com/yarenty/tableski/main/install.sh | shFix: Pin versions and sources; vendor anything fetched at install time.
AST06
CRITICAL
Pipe-to-shell patterninstall.sh:3 · Pipe-to-shell pattern — downloads and immediately executes remote code# 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.
AST06
MEDIUM
Access to sensitive file pathstests/hostile_sql.rs:55 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"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.
AST05
MEDIUM
Process kill commandscripts/demo.sh:12 · Process kill command — agent can terminate processestrap 'kill $SRV 2>/dev/null || true' EXITFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Access to sensitive file pathstests/hostile_sql.rs:113 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"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.
AST05
LOW
Collapsed <details> block carrying instructionslanding/index.html:236 · Collapsed <details> block carrying instructions · informational: not an instruction file<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.
AST01
MEDIUM
File permission modification commandinstall.sh:28 · File permission modification command — agent changes file ownership/permissionschmod +x "$BIN_DIR/tableski"Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Access to sensitive file pathscrates/tableski-core/tests/sql_guard.rs:46 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesrejection("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.
AST05
MEDIUM
Access to sensitive file pathscrates/tableski-core/tests/sql_guard.rs:95 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesmatches!(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.
AST05
MEDIUM
Access to sensitive file pathstests/hostile_sql.rs:134 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files"SELECT * FROM '/etc/passwd'".into(),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
Remote installer piped to shellinstall.sh:3 · Remote installer piped to shell# 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.
AST07

Cost to the agent

Instructions loaded
≈1,723 tok
2 files · 46 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

33 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. 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.
  2. Pipe-to-shell pattern≈ +9 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  3. 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.
  4. Direct script execution from GitHub raw URL≈ +4 on the totalPin versions and sources; vendor anything fetched at install time.
  5. 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.
  6. 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.
Publish a new version to Glama, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim yarentyPropose a patch to the maintainer