Back to skill

Security audit

Desktop Control Win

Security checks for vulnerabilities and agentic risk

Overview

This Windows desktop automation skill is openly described, but it grants broad control over apps, input, screenshots, clipboard, processes, and VS Code extensions without enough built-in scoping or confirmation.

Install only if you intentionally want an agent to control your Windows desktop. Treat screenshot, clipboard, keyboard, mouse, process-kill, and VS Code extension actions as sensitive; review each planned action, confirm destructive or persistent changes, and avoid using it while private windows, secrets, admin prompts, terminals, or messaging apps are in focus.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
scripts/vscode-control.ps1.txt:172
Finding

Unverified VS Code Extension Installation

Content
View full analysis
" ``` 3. The script performs no publisher allowlisting or trust validation. 4 ...[truncated 898 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/vscode-control.ps1.txt:58
Finding

Unverified Window Focus Before Global Keystroke Injection

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill documents screenshot capture and clipboard reading without requiring an explicit user warning/confirmation at the point of use, even though both actions can expose secrets, personal data, tokens, messages, or proprietary information from unrelated applications. In a desktop-control skill, these capabilities are especially sensitive because they can silently access data outside the app the user intended to automate.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill description is extremely broad ('control desktop applications', 'simulate keyboard/mouse input', 'read clipboard', 'capture screen info') and maps to many ordinary user requests, which increases the chance the agent invokes a highly privileged skill in situations where a narrower, safer capability would suffice. Because this skill can affect arbitrary applications and access sensitive on-screen or clipboard data, over-broad routing materially raises the risk of unintended data exposure or destructive actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

This script directly simulates keyboard and mouse input against whichever window is focused, including arbitrary text entry, shortcut execution, clicks, and scrolling, with no confirmation, allowlist, target validation, or safety interlocks. In a desktop-control skill, that can trigger destructive actions such as closing applications, approving prompts, deleting data, sending messages, or interacting with privileged/system dialogs if the wrong window has focus or parameters are attacker-influenced.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The kill action performs potentially destructive process termination, including forced termination, without any confirmation prompt or prior warning comment/docstring. Although it prints after the action completes, that does not disclose the risk beforehand and may lead to accidental termination of the wrong process, especially with name-based matching.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The new-terminal action force-focuses a window identified by title and sends the Ctrl+` keystroke sequence globally. Keystroke injection tied only to window focus is unsafe in an agent skill because focus can race or be stolen, causing the shortcut to land in the wrong application or enabling follow-on command execution in a newly opened terminal context.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The command-palette action force-focuses VSCode and sends Ctrl+Shift+P without any confirmation or robust validation of the active target. In the context of a desktop-control skill, global synthetic keystrokes are inherently risky because they can affect the wrong window and are often chained with later text input to drive sensitive actions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The run-command action accepts arbitrary command IDs and then force-focuses VSCode, opens the command palette, types the supplied string, and presses Enter. In a desktop-control skill, this enables execution of potentially dangerous editor or extension-provided commands without confirmation, and because it relies on GUI keystroke injection, a focus mistake or maliciously chosen command can trigger unintended actions in the active UI context.

Content

No source excerpt is available for this finding.