agent-swarm-pr
github.com/ruvnet/ruflo
Scanned Thu, 28 May 2026 17:35:09 GMT
Scan ID crawl-t0d77ej6rrsxmw1mwz81pt99 · 3ms
B
SCORE 75 / 100
Verdict: Safe to install

1 high-severity finding.

This skill triggers the shell-injection-template rule plus 3 other issues listed below.

0 critical1 high3 medium8 rules passed

Why grade B?

score · 75 / 100

The current grade reflects 1 high-severity finding (any HIGH → B).

0 CRIT1 HIGH3 MED0 LOW
To reach a higher grade
  • A
    Reach Atarget score 95

    Resolve all 1 HIGH + 1 of 3 MED (cap is 2).

Thresholds are documented at /docs/grading. Source-of-truth is the grade() function in @skillox/scanner.

Findings · ordered by severity

high
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`).
rule: shell-injection-templateline: 254CWE-78
252
253 if (event.action === 'opened' && event.pull_request) {
254 execSync(`npx ruv-swarm github pr-init ${event.pull_request.number}`);child_process exec/spawn with template literal — use a parameterized API instead
255 }
256
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 247CWE-78
245// webhook-handler.js
246const { createServer } = require('http');
247const { execSync } = require('child_process');spawns a subprocess outside declared capabilities
248
249createServer((req, res) => {
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 254CWE-78
252
253 if (event.action === 'opened' && event.pull_request) {
254 execSync(`npx ruv-swarm github pr-init ${event.pull_request.number}`);spawns a subprocess outside declared capabilities
255 }
256
med
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-manifest
Scan another →Share
skillox.io/r/crawl-t0d77ej6rrsxmw1mwz81pt99