T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party Package and Remote Skill Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 35–44
Vulnerability Type: Unverified and mutable third-party dependency installation
Risk Level: MediumVulnerable Code
markdown 1. Execute `openclaw skills list` and check whether `byted-web-search` is included in the output. 2. Installed: Continue normally. 3. Not installed: execute `npx skills add https://skills.volces.com/skills/bytedance/agentkit-samples -s byted-web-search --agent openclaw` - Installation successful: continue normally. - Installation failed: **Do not abort the entire briefing**. Make a note of "Internet search is not available", skip the networking part directly in the second step, generate a briefing using only the notification information, and prompt "Unable to search for external information online this time" at the end of the briefing.Technical Analysis
The skill directs the agent to invoke the
skillsnpm package throughnpxwithout specifying an immutable package version. It then installs skill content from a remote URL without pinning a commit, release, cryptographic checksum, or signature.Consequently, the effective installer and downloaded skill content can change after this project has been reviewed. If the npm package, its dependency chain, the remote repository, the distribution infrastructure, or the associated maintainer account is compromised, an attacker could substitute malicious installer behavior or agent instructions.
This is an insecure supply-chain pattern because execution depends on mutable, externally controlled components that are not present in the audited artifact and cannot be verified from the project itself.
Attack Path
- A user invokes the meeting-preparation skill on a system where
byted-web-searchis not installed. - The agent follows the prerequisite instructions and runs the documented
npx skills add ...command. npxresolves and retrieves an unpinned version of theskillspackag ...[truncated 1209 chars]
- A user invokes the meeting-preparation skill on a system where
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsnpm package to a reviewed, exact version rather than allowingnpxto resolve the current release. - Pin the remote skill to an immutable commit hash or signed release instead of a mutable repository URL.
- Verify the downloaded package and skill content using trusted signatures or published SHA-256 checksums before installation.
- Require explicit user or administrator approval before installing third-party dependencies.
- Prefer vendoring the reviewed dependency into a controlled internal registry or local package so its contents are available during security review.
- Lock and review all transitive dependencies, and use package-manager integrity metadata where supported.
- Perform installation in a sandbox with minimal filesystem, credential, and network access.
- Separate installation from ordinary skill execution so a missing optional search capability cannot silently trigger remote dependency acquisition.
- Pin the
