T08 · Insecure Dependencies
- Location
openclaw.json:10- Finding
Unpinned Third-Party Packages Are Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
README.md:15-24;openclaw.json:10
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code
README.md:15-24:bash mcporter add mneme -- uvx --from 'mneme-mcp[clip,video]' mneme-mcpbash openclaw plugins install @nepa-ai/openclaw-polymath openclaw plugins enable mnemeopenclaw.json:10:json "install": "mcporter add mneme -- uvx --from 'mneme-mcp[clip,video]' mneme-mcp",Technical Analysis
The installation instructions download and execute
mneme-mcpthroughuvxwithout specifying an exact version or integrity hash. The@nepa-ai/openclaw-polymathplugin is also installed without an exact version.Consequently, the code executed during installation is determined by the package versions served by external package registries at installation time, rather than by a dependency artifact reviewed with this skill. The effective implementation may change after this project has been audited. Optional dependencies selected through the
clipandvideoextras also increase the unverified supply-chain surface.This does not establish that the referenced packages are currently malicious. The vulnerability is the lack of version and integrity controls: compromise of a publisher account, registry, release pipeline, or transitive dependency could cause future installations to execute attacker-controlled code.
Attack Path
- An attacker compromises the package publisher, release pipeline, registry account, or an applicable dependency.
- The attacker publishes a malicious release under the expected package name or replaces a dependency selected during resolution.
- A user follows the documented installation command, or a host consumes the installation command from
openclaw.json. uvxresolves the unpinned package and dependencies to the attacker-controlled release and executes its entry poin ...[truncated 956 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
mneme-mcpto an exact reviewed version in both the README and manifest, for example by using the package manager's exact-version syntax. - Pin
@nepa-ai/openclaw-polymathto an exact reviewed version rather than allowing the installer to select the latest release. - Use cryptographic hashes, signed package provenance, or lockfiles where supported, including hashes for transitive dependencies.
- Ensure installation uses only explicitly trusted package registries and disable unexpected fallback indexes to reduce dependency-confusion risk.
- Audit and retain the exact
mneme-mcpand plugin artifacts corresponding to each published skill release. - Add automated dependency scanning, release-signature verification, and publisher-account protections to the release process.
- Run installation and plugin execution under a least-privileged account or sandbox with access restricted to the media directories and services required by the skill.
- Keep the version constraints in
README.mdandopenclaw.jsonsynchronized so documented and automated installations execute the same reviewed artifacts.
- Pin
