T08 · Insecure Dependencies
- Location
SKILL.md:16- Finding
Unpinned and Unaudited Third-Party Package and Plugin Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:16-18,SKILL.md:78-80
Vulnerability Type: Unpinned third-party dependencies and mutable external plugin source
Risk Level: MediumVulnerable Code
SKILL.md:16-18:bash pip install openclaw-supermemory[local] supermemory init # creates ~/.supermemory/memory.db supermemory serve # starts API on :8642SKILL.md:78-80:markdown ### OpenClaw plugin (zero-config) Install the [supermemory-claw plugin](https://github.com/jared-goering/openclaw-supermemory/tree/main/plugin) for automatic memory injection and extraction with no agent code changes.Technical Analysis
The setup instructions install
openclaw-supermemory[local]without an exact version, integrity hash, or locked transitive dependency set. Consequently, the code installed by this command can change independently of the reviewed Skill document. Python package installation can also execute dependency-controlled build logic, and the subsequently invokedsupermemorycommands execute the externally supplied implementation.The recommended OpenClaw plugin is referenced through a mutable GitHub branch path rather than an immutable commit and verified checksum. Its source code is not included in the audited artifact. The audit therefore cannot establish that either the package implementation, its transitive dependencies, or the plugin performs only the documented operations.
This is a supply-chain weakness rather than evidence that the currently published dependencies are malicious. The project contains only
SKILL.md; no executable implementation, lockfile, package hashes, or vendored plugin source was available for verification.Attack Path
- An attacker compromises the package publisher account, plugin repository, release process, or a transitive dependency.
- The attacker publishes a modified package release or changes code available through the mutable plugin reference.
- A user follows t ...[truncated 1334 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin
openclaw-supermemoryto an explicitly reviewed version rather than allowing the newest available release:bash pip install "openclaw-supermemory[local]==0.2.1" -
Generate and publish a lockfile containing exact versions for all transitive dependencies.
-
Require package hashes during installation, such as through a hash-locked requirements file and
pip install --require-hashes. -
Replace the mutable GitHub plugin link with an immutable reviewed commit or signed release tag. Publish the expected archive checksum and verify it before installation.
-
Audit and document the package's build configuration, installation hooks, runtime entry points, and transitive dependencies.
-
Vendor the reviewed plugin source into the Skill package when practical so that the executable implementation is included in the audit boundary.
-
Verify release provenance through signed tags, trusted publishing, and reproducible build artifacts.
-
Run the service under a dedicated, unprivileged account with access restricted to its database and required configuration. Do not expose unrelated credentials to the process.
-
Bind the API to localhost by default, require authentication if it is made reachable by other hosts or users, and protect the memory database with restrictive filesystem permissions.
-
