Back to skill

Security audit

Computer-Use Skill

Security checks for vulnerabilities and agentic risk

Overview

This desktop-control skill is not clearly malicious, but it needs Review because it can auto-approve broad local computer-control access and bootstraps mutable runtime dependencies.

Install only if you are comfortable giving a local agent desktop-control authority. Keep sensitive windows and clipboard contents away from the desktop while using it, review permission requests carefully, and prefer pinned/hash-verified dependency releases before using it on a real workstation.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
project/platforms/linux/src/computer-use/pythonBridge.ts:73
Finding
Automatic Installation of Floating Python Dependencies in a Privileged GUI-Automation Runtime## Vulnerability Details **File Locations**: - `project/platforms/linux/runtime/requirements.txt:1-5` - `project/platforms/macos/runtime/requirements.txt:1-6` - `project/platforms/windows/runtime/requirements.txt:1-5` - `project/platforms/linux/src/computer-use/pythonBridge.ts:73-88` - `project/platforms/macos/src/computer-use/pythonBridge.ts:64-68` - `project/platforms/windows/src/computer-use/pythonBridge.ts:82-86` **Vulnerability Type**: Unpinned runtime dependency installation without package hashes **Risk Level**: Medium ### Vulnerable Code Linux dependencies: ```text mss>=10.1.0 Pillow>=11.3.0 pyautogui>=0.9.54 psutil>=7.0.0 python-xlib>=0.33 ``` macOS dependencies: ```text mss>=10.1.0 Pillow>=11.3.0 pyautogui>=0.9.54 pyobjc-core>=11.1 pyobjc-framework-Cocoa>=11.1 pyobjc-framework-Quartz>=11.1 ``` Windows dependencies: ```text mss>=10.1.0 Pillow>=11.3.0 pyautogui>=0.9.54 psutil>=7.0.0 pywin32>=310 ``` The Linux bootstrap implementation, representative of the equivalent cross-platform behavior, is: ```ts const requirements = await readFile(requirementsPath, 'utf8') const digest = createHash('sha256').update(requirements).digest('hex') let installedDigest = '' try { installedDigest = (await readFile(installStampPath, 'utf8')).trim() } catch {} if (installedDigest !== digest) { logDebug('installing python runtime dependencies') await runOrThrow(pythonBinPath(), ['-m', 'pip', 'install', '--upgrade', 'pip'], 'pip upgrade') await runOrThrow( pythonBinPath(), ['-m', 'pip', 'install', '-r', requirementsPath], 'python dependency install', ) await writeFile(installStampPath, `${digest}\n`, 'utf8') } ``` ### Technical Analysis The Skill creates a Python virtual environment on first use, automatically upgrades pip, and installs dependencies using lower-bound constraints such as `mss>=10.1.0`. These constraints permit pip to ...[truncated 2816 chars]
Remediation
## Remediation Suggestions 1. Replace all lower-bound dependency constraints with exact, reviewed versions, including transitive dependencies. 2. Generate a separate reproducible lock file for each supported operating system and Python version. 3. Record SHA-256 hashes for every approved wheel or source distribution and install with pip's `--require-hashes` option. 4. Prefer reviewed binary wheels and reject unexpected source builds where practical. 5. Remove the automatic `pip install --upgrade pip` operation. Pin the installer version as part of the runtime release instead. 6. Configure an explicitly trusted package index and prevent dependency resolution through untrusted extra indexes. 7. Perform dependency updates only through a reviewed release process that includes vulnerability scanning, provenance verification, and real-device testing. 8. Consider distributing a prebuilt, signed runtime or maintaining a verified local wheelhouse so ordinary Skill execution does not retrieve mutable executable dependencies. 9. Store and verify the fully resolved dependency manifest rather than hashing only the human-authored requirements file. 10. Fail closed if a required artifact's version or hash differs from the approved lock data.
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (166)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
99% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
95% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
92% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
94% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
88% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Tp4

High
Category
MCP Tool Poisoning
Confidence
98% confidence
Finding
The documentation explicitly instructs users to create local environments, install Python packages or npm dependencies, and run bundled code, while the description emphasizes no local Claude dependency rather than the very real local execution and package-install risk. In a trusted-local computer-use context, under-disclosing that first-run bootstrap pulls and executes public dependencies can mislead users about supply-chain and code-execution exposure.

Missing User Warnings

High
Confidence
97% confidence
Finding
The README explicitly states that screenshot filtering is set to 'none', meaning captured images may include passwords, tokens, personal data, or other sensitive material, yet it does not provide a clear user-facing warning about that exposure. Because this skill is specifically designed for desktop observation and control, disabling screenshot filtering materially raises confidentiality risk if used on real systems.

Known Vulnerable Dependency: fast-uri==3.1.0 — 7 advisory(ies): CVE-2026-13676 (fast-uri vulnerable to host confusion via failed IDN canonicalization); CVE-2026-18446 (fast-uri vulnerable to host confusion via backslash authority introducer); CVE-2026-75975 (fast-uri vulnerable to server-side request forgery via malformed IPv6 normalizat) +4 more

High
Category
Supply Chain
Confidence
82% confidence
Finding
fast-uri 3.1.0 is flagged with multiple high-severity URI parsing issues including host confusion and possible SSRF edge cases. Because this skill is a computer-use/MCP component that may process network endpoints or URLs through transitive libraries, ambiguous URL parsing can become security-relevant even if indirect.

Known Vulnerable Dependency: hono==4.12.9 — 16 advisory(ies): CVE-2026-56762 (Hono missing validation of cookie name on write path in setCookie()); CVE-2026-47676 (Hono: app.mount() strips mount prefix using undecoded path, causing incorrect ro); CVE-2026-47675 (Hono: Cookie helper does not sanitize sameSite and priority, allowing Set-Cookie) +13 more

High
Category
Supply Chain
Confidence
91% confidence
Finding
hono 4.12.9 is a genuine vulnerable dependency with numerous advisories affecting cookie handling, routing, and request processing. Since the MCP SDK depends on Hono and this skill may expose local HTTP/SSE endpoints as part of its runtime, flaws in the web framework can be reachable in realistic deployments.

Static analysis

Detected: suspicious.dangerous_exec

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
project/platforms/linux/src/lib/execFileNoThrow.ts:9

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
project/platforms/macos/dist/lib/execFileNoThrow.js:4

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
project/platforms/macos/src/lib/execFileNoThrow.ts:9

Shell command execution detected (child_process).

Critical
Code
suspicious.dangerous_exec
Location
project/platforms/windows/src/lib/execFileNoThrow.ts:9