T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:4
- Finding
- Unpinned Third-Party CLI Dependency## Vulnerability Details **File Location**: `SKILL.md`, lines 4 and 12–17 **Vulnerability Type**: Supply-chain risk caused by an unpinned executable dependency **Risk Level**: Medium ### Vulnerable Code ```yaml compatibility: Requires the `kuren` CLI binary on PATH. Install with `cargo install kuren`. ``` ```yaml openclaw: requires: bins: ["kuren"] install: - id: cargo kind: cargo package: kuren ``` ### Technical Analysis The skill directs users or the hosting framework to install the third-party `kuren` Cargo package without specifying an exact version, lockfile requirement, source revision, checksum, or other integrity constraint. Consequently, installation may resolve whatever package release is current at that time rather than the release reviewed when this skill was published. Cargo installation compiles the selected package and its dependency graph locally. Build scripts and compiler-driven installation activity execute with the privileges of the user performing the installation. Because the audited project contains only `SKILL.md` and does not include the CLI source, the effective behavior of the installed executable cannot be verified from this artifact. This finding establishes an insecure dependency-management practice, not evidence that the current `kuren` package is malicious. ### Attack Path 1. A user or agent framework processes the skill's installation metadata. 2. It executes the documented equivalent of `cargo install kuren`. 3. Cargo resolves a mutable registry release and its transitive dependencies without an exact reviewed version constraint. 4. An attacker compromises the package, a dependency, or the relevant publication channel and publishes a malicious release that satisfies the unconstrained request. 5. Cargo downloads and compiles the compromised package or dependency. 6. Malicious build-time logic executes with the installing user's privileges, or t ...[truncated 939 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to an exact, reviewed release: ```bash cargo install kuren --version '=X.Y.Z' --locked ``` 2. Add the exact version to the skill's installation metadata rather than relying on the latest registry release. 3. Require locked dependency resolution so the published `Cargo.lock` is honored where supported. 4. Document the canonical package registry and upstream source repository to reduce dependency-confusion and package-substitution risk. 5. Verify release provenance using signed releases, trusted publisher identity, or reproducible-build attestations. 6. Publish and verify cryptographic checksums for approved artifacts where prebuilt binaries are used. 7. Review the pinned package, its build scripts, and its transitive dependencies before approving version updates. 8. Perform installation and execution with least privilege, preferably in a sandbox that restricts filesystem, credential, and network access.
