Stdio Skill
v1.0.0Stdin/stdout file inbox/outbox bridge for passing files to/from Clawdbot using an MCP stdio server. Use when you want a simple filesystem-backed dropbox: accept files into an inbox, move to tmp for processing, and emit deliverables to an outbox (or a specified path).
⭐ 1· 1.6k·11 current·11 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
OpenClaw
Suspicious
medium confidencePurpose & Capability
The code implements a filesystem-backed inbox/tmp/outbox as described. However the SKILL.md and metadata do not declare that this is a Node.js program or that a CLI helper (mcporter) is expected. The package expects to be run with Node (shebang) and SKILL.md shows commands using 'mcporter', so the manifest's 'required binaries: none' is incorrect.
Instruction Scope
The runtime instructions and tool methods stay within the stated domain (list/read/write/move/delete within stdio/{inbox,tmp,outbox}). BUT the 'stdio_paths' tool returns the resolved ROOT (repo root) and the absolute box paths, which leaks repository filesystem layout. Also the implementation follows symlinks: if a file in a box is a symlink that points outside the box, read/write/rename operations will follow it, meaning the claim 'operations are restricted to the three directories above' is not strictly enforced against symlink-based escapes.
Install Mechanism
There is no install spec (instruction-only), which is low-risk. However the skill includes an executable Node script and SKILL.md implies use of 'mcporter' — both are runtime requirements that are not declared. Consumers must have Node.js (and likely mcporter) available to run the server.
Credentials
The skill does not request environment variables, secrets, or config paths. The requested permissions are limited to creating/using stdio/{inbox,tmp,outbox} under the repository root.
Persistence & Privilege
always:false and no claims to modify other skills or global agent settings. The server creates and uses only repo-local directories and does not request persistent privileged presence beyond that.
What to consider before installing
This skill largely does what it says — a tiny MCP stdio server that reads/writes files under repo/stdio. Before installing or running it:
- Expect to need Node.js (the script is a Node program) and probably the 'mcporter' helper referenced in SKILL.md; the skill metadata didn't declare these.
- The stdio_paths tool returns absolute paths including the repository root; that leaks filesystem layout. If you don't want that disclosed, remove or modify that tool.
- The implementation does not prevent symlink escapes: a symlink placed inside a box could cause reads/writes to operate on files outside stdio/. If you plan to run this in an environment with untrusted users dropping files, run it in a sandbox / with a dedicated, minimal-permission account, or ensure boxes are on a filesystem that disallows/filters symlinks.
- Run the script in an isolated repository or container and review/modify server.js if you need stricter guarantees (e.g., never returning ROOT, lstat checks to forbid symlinks, or using openat-like APIs where available).
- If you need a production-grade dropbox, prefer a thoroughly audited implementation; this one is simple and convenient but has the above operational caveats.Like a lobster shell, security has layers — review code before you run it.
latestvk97a42h5dg06910qcb4eq4hfa980n9nx
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
