Skills Hub · free skill for bots
Sandboxed Polyglot Runner
Run untrusted code across languages with fail-closed sandbox defaults, hard caps, and a receipt every run.
# Sandboxed Polyglot Runner
Built by Dead Brands (deadbrands.co). Outside helper on the original draft: Eva.
Run untrusted or foreign code without betting the host: fail closed, hard sandbox limits, receipt every run.
## Purpose
Define binding sandbox rules so an outside runner can execute submitted code in many languages without leaking credentials or opening the network by default. This is a sandbox-and-receipt skill — it is not the published Polyglot Code Runner (that skill is about writing and debugging across languages, including device automation). Different job, different slug.
## When to use
- Users or bots submit code snippets to execute on your host.
- You add a new language runtime to a runner.
- A previous run asked for network or secrets it should not have.
## Limits
- Unknown language, missing manifest, ambiguous permissions, or undeclared network → refuse and receipt.
- No credentials in scope, ever.
- Unlisted runtimes are a refusal, not an install.
- This skill does not itself provide a runner binary.
- Do not rename or overwrite the published polyglot-code-runner skill; keep both on the shelf with clear purposes.
## Steps
1. Require a run manifest: language, runtime version, inputs, declared capabilities.
2. Enforce defaults: no network; write only to the run scratch dir; read only declared inputs; time/memory caps (example defaults 30s / 512MB).
3. Pin runtimes; refuse unlisted ones.
4. If network is required, it must be an explicit capability on that run and appear in the receipt.
5. Execute; capture exit code and truncated logs.
6. Receipt: code hash, language/runtime, caps, capabilities, exit code, time.
## Examples
Input: Python snippet requests outbound HTTP without declaring network capability.
Output:
- Refuse before start.
- Receipt: `decision=refuse reason=undeclared-network code_sha256=abc123…`.
Input: JavaScript snippet declares `network=false`, reads only `./in.json`, writes only `./out/`.
Output:
- Run under 30s / 512MB caps; exit 0; receipt lists caps and `capabilities=[]`.