T08 · Insecure Dependencies
- Location
SKILL.md:32- Finding
Unpinned npm Package Is Downloaded and Executed at Runtime
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 32–44
Vulnerability Type: Runtime execution of an unpinned third-party dependency
Risk Level: HighVulnerable Code
bash npx -y socialdatax-skills@latest weibo hot-search \ --pretty --source-client socialdatax-skills --source-platform clawhub \ --source-skill socialdatax-weibo-search npx -y socialdatax-skills@latest weibo search \ --keyword "<keyword>" --pretty --source-client socialdatax-skills \ --source-platform clawhub --source-skill socialdatax-weibo-search npx -y socialdatax-skills@latest weibo search \ --keyword "<keyword>" --pages 3 --pretty --source-client socialdatax-skills \ --source-platform clawhub --source-skill socialdatax-weibo-searchThe related metadata and troubleshooting instructions also declare the unpinned package and encourage automatic installation when permission is available:
text "install":[{"kind":"node","package":"socialdatax-skills","bins":[]}] If the current environment has permission, install or restore automatically.Technical Analysis
The Skill instructs the Agent to invoke
npx -y socialdatax-skills@latest. The@latesttag is mutable and therefore does not identify the package version that was reviewed. The-yoption automatically accepts installation prompts, allowing npm to retrieve and execute the currently published package without an explicit user confirmation step.No exact version, package-lock file, integrity hash, vendored source, or other reproducible dependency control is provided. Consequently, the effective executable payload can change after this Skill has been audited. This creates a supply-chain trust boundary in which the npm publisher account, package registry, package release process, and all transitive dependencies can affect runtime behavior.
The package executes in an environment where
SOCIALDATAX_API_KEYis available. It also ...[truncated 2334 chars]- Remediation
View remediation
Remediation Suggestions
- Replace
socialdatax-skills@latestwith an exact, reviewed version such associaldatax-skills@X.Y.Z. Do not use mutable npm tags or semver ranges for runtime execution. - Commit a lockfile that records exact transitive dependency versions and npm integrity values. Install with a reproducible command such as
npm ci. - Verify the package source, publisher identity, registry origin, signatures or provenance attestations, and integrity hash before execution.
- Remove
-yand do not automatically install or restore executable dependencies. Require explicit authorization before downloading or executing a package that is not already trusted and installed. - Prefer shipping reviewable source code with the Skill or invoking a preinstalled, administrator-approved binary rather than downloading code during each use.
- Run the CLI in a sandbox with minimal filesystem access, a restricted environment, and outbound network access limited to documented SocialDataX endpoints.
- Provide only
SOCIALDATAX_API_KEYand the minimum required arguments to the child process. Do not inherit unrelated credentials or sensitive environment variables. - Document that search keywords are transmitted to SocialDataX and advise users not to include passwords, tokens, private keys, or other secrets in search queries.
- Add dependency scanning and release review to the update process before changing the pinned package version.
- Replace
