T08 · Insecure Dependencies
- Location
SKILL.md:18- Finding
Unpinned Third-Party Native Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 18–21
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code
yaml install: - kind: node package: better-sqlite3 bins: []Technical Analysis
The installation configuration declares the
better-sqlite3npm package without an exact version, lockfile, or integrity hash. Consequently, the package version and associated installation artifacts may be resolved dynamically when the skill is installed.Because
better-sqlite3is a native Node.js dependency, its installation may involve package lifecycle scripts, native build tooling, or downloaded prebuilt binaries. The package name itself is not established as malicious; the security issue is the absence of controls ensuring that the installed artifact is the same artifact that was reviewed and approved.Attack Path
- An attacker compromises the package, its publishing account, or another relevant part of the npm distribution chain.
- A malicious or otherwise unsafe release becomes the version selected by npm because no exact version is specified.
- A user or automated system installs the skill and resolves
better-sqlite3from the package registry. - Malicious lifecycle code, native build logic, or a compromised binary executes with the privileges of the installation process.
Impact Assessment
Successful exploitation could permit arbitrary code execution under the account installing or running the skill. Depending on that account's privileges, the attacker could access OpenClaw configuration, environment variables, local memory databases, conversation data, and other files available to the process. The scope is limited by the operating-system privileges and sandbox controls applied to installation and runtime.
- Remediation
View remediation
Remediation Suggestions
- Pin
better-sqlite3to an exact, reviewed version rather than allowing unconstrained resolution. - Include and enforce a lockfile containing integrity metadata.
- Verify package provenance and registry integrity before installation.
- Disable npm lifecycle scripts where operationally feasible, or explicitly review every required script.
- Prefer reproducible builds and trusted, checksum-verified native artifacts.
- Run dependency installation with minimum privileges and isolate it from sensitive OpenClaw state and configuration.
- Add automated dependency scanning and controlled update review so version changes cannot enter silently.
- Pin
