T08 · Insecure Dependencies
- Location
SKILL.md:152- Finding
Unpinned Third-Party Desktop Automation Package Is Automatically Installed and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 152–162, 223–229, 241–245, and 310
Vulnerability Type: Unpinned third-party dependency with desktop-control capabilities
Risk Level: HighVulnerable Code
bash # Step 1: Move the mouse to the image and right-click uvx desktop-agent mouse move 720 400 uvx desktop-agent mouse right-click sleep 1 # Step 2: Select "Save image as" uvx desktop-agent keyboard press down --presses 2 uvx desktop-agent keyboard press return sleep 1 # Step 3: Confirm save uvx desktop-agent keyboard press returnThe same desktop automation sequence is repeated later:
bash uvx desktop-agent mouse move 720 400 uvx desktop-agent mouse right-click sleep 1 uvx desktop-agent keyboard press down --presses 2 uvx desktop-agent keyboard press return sleep 1 uvx desktop-agent keyboard press returnThe dependency documentation explicitly describes automatic installation without a version or integrity constraint:
text | desktop-agent | Tool | Required | `uvx desktop-agent` (automatic installation) |Technical Analysis
The Skill invokes
uvx desktop-agentwithout pinning an audited package version, package hash, publisher identity, or trusted package source. Becauseuvxcan resolve, retrieve, install, and execute a package at invocation time, the code that ultimately runs may differ from the code that existed when the Skill was audited.This creates a supply-chain vulnerability. If the package, publisher account, dependency tree, or configured package index is compromised, attacker-controlled package code could execute under the privileges of the Agent user.
The exposure is amplified because the dependency is used to control desktop input. The instructions use fixed coordinates and blind keyboard actions without validating:
- Which application or window has focus.
- Whether the pointer is positioned over the generated image.
- Whether the expected context menu is open.
- Whether the expected ...[truncated 1799 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
desktop-agentto a specific, reviewed version rather than allowing unconstrained resolution. - Verify the package with cryptographic hashes or a locked dependency manifest.
- Document and enforce the authoritative registry, package owner, and trusted publisher identity.
- Disable fallback to untrusted or user-controlled package indexes.
- Install the dependency separately after explicit user approval instead of automatically downloading and executing it during Skill invocation.
- Review and lock all transitive dependencies.
- Run desktop automation in a sandbox or isolated user account with minimal filesystem, credential, browser-profile, and network access.
- Prefer browser DOM automation and an explicit browser download API over operating-system-level mouse and keyboard automation.
- If desktop automation remains necessary, verify the active process, window title, focused control, dialog type, and intended target before every click or key press.
- Replace fixed coordinates and menu offsets with accessibility selectors, image recognition, or another validated target-selection mechanism.
- Require confirmation before actions that can submit, overwrite, authorize, or otherwise alter data.
- Record the resolved package version and integrity metadata so executed artifacts can be audited.
- Pin
