T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Third-Party Package Is Installed and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 8–10 and 28–29
Vulnerability Type: Unpinned executable dependency
Risk Level: HighVulnerable Code
yaml install: - kind: uv package: memcordThe documented runtime configuration also executes the same unpinned package:
json5 command: "uvx", args: ["memcord"],Technical Analysis
The skill delegates all of its functionality to the third-party
memcordpackage without specifying an exact version, cryptographic hash, lockfile, immutable source revision, or trusted package-index configuration. Executinguvx memcordcan therefore resolve and run a package version that differs from the version originally reviewed.Because the artifact contains only
SKILL.mdand no implementation of the MCP server, the package's behavior cannot be independently verified from the audited project. In particular, the claims that conversation data remains on the device and is stored only in local JSON files cannot be confirmed.This creates a supply-chain risk: a compromised package release, registry-account takeover, package ownership transfer, or malicious future release could cause attacker-controlled code to run when OpenClaw starts the configured MCP server.
Attack Path
- An attacker compromises the package publisher, distribution account, package source, or a future
memcordrelease. - The attacker publishes a malicious package version under the dependency name used by the skill.
- A user installs the skill or launches the documented MCP configuration.
uvoruvxresolves the unpinned dependency to the attacker-controlled version.uvx memcordexecutes the malicious package with the privileges of the OpenClaw user.- The package can abuse its local process access and MCP role to inspect or misuse conversation data and any other resources accessible to that user.
Impact Assessment
Successful explo ...[truncated 533 chars]
- An attacker compromises the package publisher, distribution account, package source, or a future
- Remediation
View remediation
Remediation Suggestions
- Pin
memcordto an exact, independently audited version in both installation and runtime configuration. - Use a lockfile with cryptographic hashes so package contents are reproducible and integrity-checked.
- Explicitly configure a trusted package index rather than relying on implicit resolver settings.
- Prevent
uvxfrom automatically selecting newer releases at runtime. - Prefer bundling reviewable server source code or referencing an immutable, verified source revision.
- Verify package signatures or hashes before execution and establish a controlled dependency-update review process.
- Run the MCP server with least privilege, restricted filesystem access, minimal environment exposure, and network isolation where feasible.
- Pin
