T08 · Insecure Dependencies
- Location
SKILL.md:12- Finding
Dependency Installation Without a Lockfile or Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:12-19;scripts/package.json:1-8
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumThe Skill instructs users to install a third-party npm dependency without providing a lockfile:
markdown ## Setup (one-time) This skill uses Node.js and the npm package `solax-cloud-api`. Install dependencies inside the skill folder: ```bash cd /home/openclaw/.openclaw/workspace/skills/solax-summary-fetch/scripts npm install(We use
npm installinstead ofnpm cibecause this skill does not ship with a lockfile.)text The complete package manifest is: ```json { "name": "solax-summary-fetch-scripts", "private": true, "type": "module", "dependencies": { "solax-cloud-api": "0.2.0" } }Technical Analysis
The direct dependency is pinned to version
0.2.0, which limits direct version drift. However, the project does not include apackage-lock.json, so npm must resolve the dependency graph during each installation. Transitive versions and package integrity hashes are therefore not fixed or reviewable from the audited project.In addition, a normal
npm installmay execute dependency lifecycle scripts such aspreinstall,install, orpostinstall. Such scripts run with the privileges of the user performing the installation. The source and transitive dependency graph ofsolax-cloud-apiwere not included in the audited artifact, so their installation behavior, API destination, and handling of the Solax token and serial number could not be verified.This is a supply-chain exposure rather than evidence that the named dependency is currently malicious.
Attack Path
- An attacker compromises a transitive package resolved by
solax-cloud-api, its registry account, or the package distribution channel. - The attacker publishes a malicious compatible release or modifies an installation artifact. ...[truncated 1047 chars]
- An attacker compromises a transitive package resolved by
- Remediation
View remediation
Remediation Suggestions
- Generate and commit a reviewed
package-lock.jsonso direct and transitive package versions and integrity hashes are reproducible. - Replace the setup instruction with
npm ci, which installs exactly the locked dependency graph and fails if the manifest and lockfile differ. - Review the source, maintainership, publication history, lifecycle scripts, and transitive dependencies of
solax-cloud-api@0.2.0. - If no dependency lifecycle scripts are required, install with
npm ci --ignore-scripts. - Run installation and execution under a dedicated, unprivileged account or sandbox with access only to the files and network destinations required for the Solax API request.
- Use dependency auditing and provenance controls in CI, and regenerate the lockfile only through a documented review process.
- Restrict outbound network access to the verified Solax API endpoint after confirming the dependency's actual destination and transport-security behavior.
- Generate and commit a reviewed
