T08 · Insecure Dependencies
- Location
SKILL.md:36- Finding
Unpinned Remote Dependency Downloaded and Executed Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 36-61
Vulnerability Type: Unverified and unpinned third-party dependency
Risk Level: MediumVulnerable Code
bash cd /home/brew/.openclaw/workspace git clone https://github.com/ggml-org/whisper.cpp.gitbash cd whisper.cpp sh ./models/download-ggml-model.sh basebash cd whisper.cpp cmake -B build cmake --build build -j --config ReleaseTechnical Analysis
The installation instructions clone the current default branch of an external Git repository without pinning a reviewed commit hash or authenticated release. They subsequently execute a shell script from that repository and compile its source code.
Because the repository reference is mutable, the effective code executed during installation can change after the Skill has been reviewed. No commit verification, release-signature validation, or cryptographic checksum validation is required for either the source repository or the model downloaded by
download-ggml-model.sh.This creates a supply-chain risk: compromise of the upstream repository, its maintainers, or the model distribution infrastructure could introduce arbitrary commands into the downloaded script or build process.
Attack Path
- An attacker compromises the upstream repository, a maintainer account, or infrastructure used by the model-download script.
- The attacker modifies the default branch, download script, source tree, or fetched model artifact.
- A user follows the Skill instructions and clones the latest mutable repository state.
- The user runs
download-ggml-model.shand the CMake build process without verifying the retrieved content. - Attacker-controlled commands execute with the privileges of the user performing the installation.
- If the installation is performed by a privileged account, the resulting impact extends to files and resources available to that account.
...[truncated 639 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
whisper.cppto a specific reviewed commit hash or signed release rather than cloning and using the mutable default branch. - Verify the selected commit or release using an authenticated Git signature or trusted release signature.
- Publish expected SHA-256 checksums for source archives and model files, and require verification before scripts, binaries, or models are used.
- Review the model-download script before execution or replace it with an explicit download command targeting a versioned artifact with a fixed checksum.
- Build and run the dependency as a dedicated unprivileged user in an isolated directory or container with minimal filesystem and network access.
- Avoid running repository-provided scripts or build steps with
sudoor asroot. - Document a controlled upgrade process in which new commits and model artifacts are reviewed and their pinned hashes are updated intentionally.
- Pin
