T08 · Insecure Dependencies
- Location
SKILL.md:25- Finding
Unpinned Third-Party CLI Execution in Installation Instructions
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 25–26
Vulnerability Type: Supply-chain exposure through an unpinned executable dependency
Risk Level: MediumVulnerable Code
bash npx skills add prompt-security/clawsec --skill picoclaw-self-pen-testing -a openclaw -yThe same command also appears in
README.md, lines 11–12.Technical Analysis
The documented installation procedure invokes
npx skillswithout specifying an exact package version. If the package is not already available locally,npxcan download and execute the version currently resolved from the configured npm registry. Consequently, the code executed by this command can differ from the code reviewed during this audit.The
-yoption suppresses interactive confirmation. It therefore reduces the opportunity for the operator to inspect the resolved package and installation operation before execution. The command also directs the CLI to obtain and install remote repository content.The project provides a separate signed-release verification procedure in
SKILL.md, lines 29–106. That procedure pins the release public-key fingerprint and verifies the manifest signature and artifact hashes. However, the primary installation command shown above does not require that verification procedure to complete before the third-party CLI runs.No evidence was found that the currently referenced package or repository is malicious. The vulnerability is the mutable and unpinned trust relationship in the documented installation path.
Attack Path
- An attacker compromises the npm package represented by the
skillscommand, its publisher account, or a relevant package-resolution source. - The attacker publishes a modified version containing malicious CLI or lifecycle behavior.
- An operator follows the documented installation command.
npxresolves and downloads the attacker-controlled package version because no exact version is pinned.- The downloaded pack ...[truncated 856 chars]
- An attacker compromises the npm package represented by the
- Remediation
View remediation
Remediation Suggestions
- Replace the floating
npx skillsinvocation with an exact, reviewed CLI version, for example by specifying an immutable version rather than allowing latest-version resolution. - Lock and verify the CLI package integrity through a lockfile, registry integrity metadata, or a separately validated package hash.
- Remove
-yfrom security-sensitive installation guidance so the operator can inspect and approve the resolved package and operation. - Make signed artifact verification a mandatory prerequisite rather than an optional standalone-install path.
- Prefer downloading the release archive, signed manifest, signature, and pinned public key first; verify the public-key fingerprint, signature, and every required artifact hash before installation or extraction.
- Advise operators not to run the installer with administrator or root privileges.
- Document the exact trusted registry and package identity to reduce package-resolution ambiguity.
- Replace the floating
