computer-use-agents
github.com/sickn33/antigravity-awesome-skills
Scanned Thu, 28 May 2026 17:25:07 GMT
Scan ID crawl-tqv95hakdaafsy5u6k5he28x · 6ms
C
SCORE 55 / 100
Verdict: Proceed with caution

1 high-severity finding.

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

0 critical1 high13 medium-2 rules passed

Why grade C?

score · 55 / 100

The current grade reflects 13 medium findings (6+ MEDs → C).

0 CRIT1 HIGH13 MED0 LOW
To reach a higher grade
  • B
    Reach Btarget score 75

    Resolve 8 of 13 MED (cap is 5).

  • A
    Reach Atarget score 95

    Resolve all 1 HIGH + 11 of 13 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: Python subprocess with f-string + shell=True candidate
The skill constructs a shell command by interpolating into a string passed to an exec-family function (`Python subprocess with f-string + shell=True candidate`). 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: 395CWE-78
393 """Stop and remove sandbox."""
394 if self.container_id:
395 subprocess.run(f"docker rm -f {self.container_id}", shell=True)Python subprocess with f-string + shell=True candidate — use a parameterized API instead
396 self.container_id = None
397
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 366CWE-78
364 """
365
366 result = subprocess.run(cmd, shell=True, capture_output=True)spawns a subprocess outside declared capabilities
367 self.container_id = result.stdout.decode().strip()
368
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 370CWE-78
368
369 # Set up kill timer
370 subprocess.Popen([spawns a subprocess outside declared capabilities
371 "sh", "-c",
372 f"sleep {self.config.max_runtime_seconds} && docker kill {self.container_id}"
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 395CWE-78
393 """Stop and remove sandbox."""
394 if self.container_id:
395 subprocess.run(f"docker rm -f {self.container_id}", shell=True)spawns a subprocess outside declared capabilities
396 self.container_id = None
397
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 491CWE-78
489 if action == "screenshot":
490 # Capture via xdotool/scrot
491 subprocess.run(["scrot", "/tmp/screenshot.png"])spawns a subprocess outside declared capabilities
492
493 with open("/tmp/screenshot.png", "rb") as f:
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 514CWE-78
512 elif action == "mouse_move":
513 x, y = input.get("coordinate", [0, 0])
514 subprocess.run(["xdotool", "mousemove", str(x), str(y)])spawns a subprocess outside declared capabilities
515 return {"success": True}
516
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 518CWE-78
516
517 elif action == "left_click":
518 subprocess.run(["xdotool", "click", "1"])spawns a subprocess outside declared capabilities
519 return {"success": True}
520
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 522CWE-78
520
521 elif action == "right_click":
522 subprocess.run(["xdotool", "click", "3"])spawns a subprocess outside declared capabilities
523 return {"success": True}
524
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 526CWE-78
524
525 elif action == "double_click":
526 subprocess.run(["xdotool", "click", "--repeat", "2", "1"])spawns a subprocess outside declared capabilities
527 return {"success": True}
528
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 532CWE-78
530 text = input.get("text", "")
531 # Use xdotool type with delay for reliability
532 subprocess.run(["xdotool", "type", "--delay", "50", text])spawns a subprocess outside declared capabilities
533 return {"success": True}
534
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 546CWE-78
544 }
545 xdotool_key = key_map.get(key.lower(), key)
546 subprocess.run(["xdotool", "key", xdotool_key])spawns a subprocess outside declared capabilities
547 return {"success": True}
548
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 554CWE-78
552 button = "5" if direction == "down" else "4"
553 for _ in range(amount):
554 subprocess.run(["xdotool", "click", button])spawns a subprocess outside declared capabilities
555 return {"success": True}
556
med
Arbitrary subprocess execution detected
The skill spawns subprocesses. Without a capability manifest declaring this, the skill could execute arbitrary commands.
rule: subprocess-executionline: 570CWE-78
568
569 try:
570 result = subprocess.run(spawns a subprocess outside declared capabilities
571 command,
572 shell=True,
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-tqv95hakdaafsy5u6k5he28x