just-bash-executor
github.com/vercel-labs/just-bash
Scanned Thu, 28 May 2026 13:13:39 GMT
Scan ID crawl-xz0ckhtaa48pfm5d4iysaqak · 4ms
C
SCORE 55 / 100
Verdict: Proceed with caution
7 medium findings.
This skill spawns subprocesses outside its declared capabilities plus 6 other issues listed below.
0 critical0 high7 medium5 rules passed
Why grade C?
score · 55 / 100The current grade reflects 7 medium findings (6+ MEDs → C).
0 CRIT0 HIGH7 MED0 LOW
To reach a higher grade
- BReach Btarget score 75
Resolve 2 of 7 MED (cap is 5).
- AReach Atarget score 95
Resolve 5 of 7 MED (cap is 2).
Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.
Findings · ordered by severity
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
428JSON-serialized and parsed back into a JS value.
429
430### Bash CLI (inside `bash.exec(...)` scripts)← spawns a subprocess outside declared capabilities
431
432| Want | Write |
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
479
480// 1. JS API
481const r1 = await bash.exec(`js-exec -c '← spawns a subprocess outside declared capabilities
482 try {
483 const r = await tools.math.add({ a: 2, b: 3 });
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
496 `echo '{"a":2,"b":3}' | math add`,
497]) {
498 const r = await bash.exec(cmd);← spawns a subprocess outside declared capabilities
499 console.log(`${cmd} → ${r.stdout.trim()} (exit=${r.exitCode})`);
500}
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
501
502// 3. Help text
503process.stdout.write((await bash.exec("math --help")).stdout);← spawns a subprocess outside declared capabilities
504```
505
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
5101. **Exec works.** A simple call returns exit 0 with parseable JSON on stdout:
511 ```ts
512 const r = await bash.exec(`<ns> <subcommand> <args>`);← spawns a subprocess outside declared capabilities
513 JSON.parse(r.stdout); // should not throw
514 ```
medArbitrary subprocess execution detectedThe skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.▾
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
5152. **Wrong path errors clearly.** `await tools.ns.nope({})` throws with
516 `Unknown tool` in the message — confirms dispatch is wired.
5173. **Help reflects discovery.** `bash.exec("<ns> --help")` lists every tool← spawns a subprocess outside declared capabilities
518 the user expected. If a tool's missing, the source registration didn't pick
519 it up (most often: missing `operationId` for OpenAPI; subscription field
medNo capability manifest declaredThe skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.rule: no-manifest▾
No capability manifest declared
The skill ships without a `manifest.yaml` or `capabilities` block in its frontmatter. Without a manifest, the runtime cannot enforce what this skill is permitted to do.
rule:
no-manifestskillox.io/r/crawl-xz0ckhtaa48pfm5d4iysaqak