fieldtheory-cli-bookmarks
github.com/aradotso/trending-skillsVerdict: Generally safe
0 critical2 high4 medium
B
SCORE 75 / 100
$skillox install fieldtheory-cli-bookmarksSoon
Sign in to followFollowing emails you when a re-scan drops the grade. Opt-out is per-creator on /account/billing.
Why grade B?
score · 75 / 100The current grade reflects 2 high-severity findings (any HIGH → B).
0 CRIT2 HIGH4 MED0 LOW
To reach a higher grade
- AReach Atarget score 95
Resolve all 2 HIGH + 2 of 4 MED (cap is 2).
Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.
Latest scan findings
Scan crawl-tnxkp8vr1pok6kbtn3wwxll5 · Thu, 28 May 2026 17:32:48 GMT · 4ms
highShell-injection vector: child_process exec/spawn with template literalThe skill constructs a shell command by interpolating into a string passed to an exec-family function (`child_process exec/spawn with template literal`). If the interpolated value comes from agent context or user input, this is direct command injection. Use parameterized APIs (`spawn` with an arg-array, `subprocess.run([...])` without `shell=True`).▾
Shell-injection vector: child_process exec/spawn with template literal
The skill constructs a shell command by interpolating into a string passed to an exec-family function (`child_process exec/spawn with template literal`). If the interpolated value comes from agent context or user input, this is direct command injection. Use parameterized APIs (`spawn` with an arg-array, `subprocess.run([...])` without `shell=True`).
279// Run ft commands from Node.js
280function ftSearch(query: string): string {
281 return execSync(`ft search "${query}"`, { encoding: "utf8" });← child_process exec/spawn with template literal — use a parameterized API instead
282}
283
highShell-injection vector: child_process exec/spawn with template literalThe skill constructs a shell command by interpolating into a string passed to an exec-family function (`child_process exec/spawn with template literal`). If the interpolated value comes from agent context or user input, this is direct command injection. Use parameterized APIs (`spawn` with an arg-array, `subprocess.run([...])` without `shell=True`).▾
Shell-injection vector: child_process exec/spawn with template literal
The skill constructs a shell command by interpolating into a string passed to an exec-family function (`child_process exec/spawn with template literal`). If the interpolated value comes from agent context or user input, this is direct command injection. Use parameterized APIs (`spawn` with an arg-array, `subprocess.run([...])` without `shell=True`).
291 .join(" ");
292
293 return execSync(`ft list ${flags}`, { encoding: "utf8" });← child_process exec/spawn with template literal — use a parameterized API instead
294}
295
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.
275
276```typescript
277import { execSync } from "child_process";← spawns a subprocess outside declared capabilities
278
279// Run ft commands from Node.js
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.
279// Run ft commands from Node.js
280function ftSearch(query: string): string {
281 return execSync(`ft search "${query}"`, { encoding: "utf8" });← spawns a subprocess outside declared capabilities
282}
283
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.
291 .join(" ");
292
293 return execSync(`ft list ${flags}`, { encoding: "utf8" });← spawns a subprocess outside declared capabilities
294}
295
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/c/fieldtheory-cli-bookmarks