T08 · Insecure Dependencies
- Location
SKILL.md:100- Finding
Execution of Unpinned npm Package Through npx
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:100,SKILL.md:167,SKILL.md:181-185,SKILL.md:190-194,SKILL.md:222, andSKILL.md:231
Vulnerability Type: Unpinned third-party dependency execution
Risk Level: MediumVulnerable Code
SKILL.md:100:bash npx clawhub install nombre-del-skillSKILL.md:166-167:bash # Ejecutar comando de login npx clawhub loginSKILL.md:181-185:bash npx clawhub publish /ruta/completa/al/skill \ --slug nombre-del-skill \ --name "Nombre Display del Skill" \ --version 1.0.0 \ --tags "tag1,tag2,tag3"SKILL.md:190-194:bash npx clawhub publish /mnt/data/openclaw/workspace/.openclaw/workspace/skills/lossless-claw-skill \ --slug lossless-claw-skill \ --name "Lossless Claw Skill" \ --version 1.0.0 \ --tags "latest,lcm,memory,context"SKILL.md:222:bash npx clawhub publish /mnt/data/openclaw/workspace/.openclaw/workspace/skills/nombre-del-skillSKILL.md:231:bash npx clawhub loginTechnical Analysis
The instructions invoke
npx clawhubwithout specifying a reviewed package version or validating package integrity. If the package is not already available locally,npxcan resolve, download, and execute the package from the configured npm registry. Consequently, the code executed by these commands can change after this skill has been reviewed.The project does not include a lockfile, checksum, signature-verification procedure, package provenance check, or explicit version constraint for the CLI. This creates a supply-chain trust boundary in which the security of the documented workflow depends on the current registry package and the integrity of its publisher account and distribution infrastructure.
Attack Path
- An attacker compromises the npm package publisher, registry account, package distribution path, or another relevant dependency i ...[truncated 1403 chars]
- Remediation
View remediation
Remediation Suggestions
-
Pin every documented invocation to a specifically reviewed CLI release:
bash npx --yes clawhub@<verified-version> login npx --yes clawhub@<verified-version> publish /absolute/path/to/skill \ --slug skill-name \ --name "Skill Display Name" \ --version 1.0.0 \ --tags "tag1,tag2,tag3" -
Replace
<verified-version>with an exact version, notlatest, a wildcard, or a permissive version range. -
Document the expected official package name, publisher, source repository, and release provenance so users can detect typosquatted or substituted packages.
-
Verify package integrity before execution. Where practical, record and validate the expected registry integrity hash or use npm lockfile integrity metadata in a controlled wrapper project.
-
Prefer installing the verified CLI through a controlled dependency manifest and lockfile, reviewing the resolved dependency tree, and then executing the locked local binary.
-
Run authentication and publication from a least-privileged environment with access only to the files and credentials required for the operation.
-
Review dependency updates before changing the pinned version. Include provenance, maintainer, installation-script, and dependency-diff checks in that review.
-
