T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:31- Finding
Installation of a Native Plugin from a Mutable Remote Branch
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31–36
Vulnerability Type: Remote payload retrieval and execution
Risk Level: HighVulnerable Code:
bash npx @deepseek-ai/dsh plugin --profile web add "github:Aidenwu0209/dsh-Unlimited-OCR-Skill#main" npx @deepseek-ai/dsh webTechnical Analysis
The Skill directs the agent to install a native DSH plugin from the
mainbranch of a personal GitHub repository and then launch DSH. Themainbranch is mutable, so the content installed when a user invokes the Skill can differ from the content available during this audit.The command does not pin the plugin to an immutable commit hash or verified release artifact. It also does not require checksum verification, signature validation, or source inspection before installation. Consequently, control of the referenced repository or its owner account provides control over the code subsequently installed by users following these instructions.
This is a remote payload execution risk rather than evidence that the currently documented repository content is itself malicious. The audited project does not contain the remote plugin implementation, so its behavior could not be verified locally.
Attack Path
- An attacker compromises the referenced GitHub account or gains write access to the repository.
- The attacker adds malicious code to the repository's
mainbranch. - A user or agent follows the installation command in
SKILL.md. - DSH retrieves and installs the attacker-controlled revision as a native plugin.
- The user launches DSH with
npx @deepseek-ai/dsh web. - The malicious plugin executes with the permissions available to the DSH process.
Impact Assessment
Successful exploitation could provide code execution under the account running DSH. Depending on the DSH plugin permission model, the payload could access OCR input documents, generated output, application configuration ...[truncated 480 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace the mutable
#mainreference with an immutable, reviewed commit hash or a cryptographically signed release. - Publish an expected SHA-256 digest for the exact plugin artifact and verify it before installation.
- Require signature or provenance verification using a trusted release mechanism.
- Add an explicit review step for the downloaded plugin source and installation scripts before execution.
- Document the plugin's required permissions and restrict DSH to the minimum filesystem, credential, and network access needed for OCR.
- Prefer a trusted organizational repository with protected branches, mandatory review, signed commits, and restricted release permissions.
- Replace the mutable
