T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned and Unverified Third-Party Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 13
Vulnerability Type: Supply-chain exposure through mutable dependency resolution
Risk Level: MediumVulnerable Code:
yaml metadata: {"openclaw":{"requires":{"env":["STEP_UP_SECRET"],"bins":["node","python3"]},"install":[{"kind":"node","packages":["@modelcontextprotocol/sdk","express","node-fetch"]},{"kind":"uv","packages":["flask","flask-sqlalchemy","requests"]}],"primaryEnv":"STEP_UP_SECRET"}}Technical Analysis
The Skill metadata instructs the runtime to install six npm and Python dependencies without exact versions, lockfiles, hashes, or other integrity constraints. Package managers may therefore resolve different versions over time. A subsequently compromised, malicious, or incompatible release could be installed even though it was not part of the audited artifact.
The artifact contains only
SKILL.mdand no executable implementation demonstrating that these packages are necessary. Automatically installing all six packages therefore exceeds the minimum privileges and components demonstrably required by the submitted artifact. The audit found no evidence that the currently named packages are malicious; the confirmed issue is the unsafe, mutable dependency-resolution configuration.Attack Path
- An Agent loads or installs the Skill and processes its installation metadata.
- npm and the Python package installer resolve the unversioned package names against their configured registries.
- A compromised account, malicious future release, registry compromise, or dependency-resolution change supplies code that was not reviewed with the Skill.
- The package manager downloads and installs that code.
- Installation hooks, package initialization, or later imports may execute the unreviewed code with the privileges of the Skill installer or runtime.
- Such code could access files, environment variables—including
STEP_UP_SECRETif inhe ...[truncated 763 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all dependencies that are not required by executable code contained in the Skill.
- Pin every npm and Python dependency to an exact reviewed version rather than allowing mutable resolution.
- Include package-manager lockfiles and enforce frozen or locked installation modes.
- Verify package integrity using registry integrity metadata or approved cryptographic hashes.
- Review transitive dependencies and use automated vulnerability and provenance checks in CI.
- Disable package installation scripts where they are not required.
- Install and run dependencies under a dedicated, non-privileged account with restricted filesystem and network access.
- Avoid exposing
STEP_UP_SECRETto package-installation processes; inject it only into the specific runtime component that validates step-up tokens. - Document why each dependency and runtime binary is necessary so the requested installation footprint can be assessed against least-privilege requirements.
