T08 · Insecure Dependencies
- Location
SKILL.md:30- Finding
Unpinned Third-Party Skill Installation Creates a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 30-41
Vulnerability Type: Unpinned and unverifiable third-party dependencies
Risk Level: MediumVulnerable Code
bash openclaw install leegitw/constraint-engineDependencies:
leegitw/failure-memory(for eligibility data)bash # Install with dependencies openclaw install leegitw/context-verifier openclaw install leegitw/failure-memory openclaw install leegitw/constraint-engineTechnical Analysis
The installation instructions retrieve third-party skills by mutable package or repository names without specifying immutable versions, commit hashes, cryptographic checksums, or signature-verification requirements. Consequently, the artifacts installed by these commands may differ from those reviewed during this audit.
The documented dependency installation procedure also installs
leegitw/context-verifier, although the dependency declaration identifies onlyleegitw/failure-memoryas required. This expands the supply-chain attack surface without clearly documenting why the additional component is necessary.This issue does not prove that the referenced packages are currently malicious. The risk arises because compromise of an upstream account, namespace, repository, release process, or package-resolution mechanism could cause future installations to retrieve altered content.
Attack Path
- An attacker compromises an upstream maintainer account, repository, package namespace, or release process associated with one of the referenced skills.
- The attacker publishes a modified package under the same mutable identifier.
- A user follows the installation commands in
SKILL.md. - OpenClaw resolves and installs the attacker-controlled package because no immutable version or digest is required.
- The modified skill is loaded or invoked within the agent environment.
- Any malicious instructions or executable comp ...[truncated 832 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every referenced skill to an immutable, reviewed version or commit hash rather than installing by a mutable repository identifier.
- Publish and verify cryptographic checksums or signed provenance for each installed artifact.
- Configure the installer to reject packages whose signatures, hashes, or expected source repositories cannot be verified.
- Explicitly declare and justify
leegitw/context-verifieras a dependency, or remove it from the installation procedure if it is unnecessary. - Maintain a lock file or equivalent dependency manifest containing exact resolved versions and integrity hashes.
- Review dependency updates before changing pinned versions, including transitive dependencies and any bundled executable scripts.
- Run installed skills with least privilege and restrict filesystem, network, tool, and environment access to reduce the consequences of a compromised dependency.
