T08 · Insecure Dependencies
- Location
SKILL.md:37- Finding
Unpinned CLI Dependency Is Automatically Downloaded and Executed
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 37-51
Vulnerability Type: Supply-chain exposure through a mutable third-party dependency
Risk Level: MediumComplete Code Snippet:
bash npx --yes @pickfu/cli@latest auth status --jsonbash npx --yes @pickfu/cli@latest auth login --headlessbash npx --yes @pickfu/cli@latest schemaThe package is also declared without an exact version in
SKILL.md, line 9:yaml metadata: {"openclaw":{"requires":{"bins":[],"env":["PICKFU_API_KEY"]},"primaryEnv":"PICKFU_API_KEY","emoji":"📊","homepage":"https://www.pickfu.com","os":["darwin","linux","win32"],"install":[{"kind":"node","package":"@pickfu/cli","bins":["pickfu"]}]}}Technical Analysis
The documented commands instruct the agent to download and execute the mutable
latestrelease of@pickfu/cli, automatically accepting installation with--yes. No exact version, lockfile, package digest, or integrity verification constrains which code will run.Consequently, the effective executable can change after this skill has been audited. This is not evidence that the current package is malicious, but it creates a supply-chain trust boundary: compromise of the package publisher, registry account, or a future release could introduce arbitrary code into normal skill execution. The unversioned installation metadata reinforces the same issue.
Attack Path
- An attacker compromises the upstream package, its publisher account, or its release process.
- The attacker publishes a malicious release as the package's latest version.
- The agent follows the skill instructions and runs an
npx --yes @pickfu/cli@latest ...command. npxdownloads and executes the changed package locally without an interactive installation confirmation.- The malicious package executes with the privileges and environment of the agent process.
Impact Assessment
Successful e ...[truncated 452 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
@pickfu/clito a specific audited version in every command and in the installation metadata. - Remove the
@latesttag and update versions only through a reviewed dependency-update process. - Use a lockfile and package-manager integrity metadata where the host supports them.
- Verify package provenance, signatures, or registry integrity data before execution.
- Prefer a preinstalled, approved CLI binary rather than downloading executable code during each invocation.
- Run the CLI in a restricted environment with minimal filesystem access, a tightly scoped API credential, and controlled outbound network access.
- Rotate
PICKFU_API_KEYpromptly if dependency compromise is suspected.
- Pin
