T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Third-Party Executable Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13–28
Vulnerability Type: Unpinned executable dependency and mutable upstream source
Risk Level: MediumVulnerable Code
yaml metadata: {"openclaw":{"requires":{"env":["QWEATHER_KID","QWEATHER_PROJECT_ID","QWEATHER_PRIVATE_KEY","QWEATHER_BASE_URL","QWEATHER_GEO_URL"]},"primaryEnv":"QWEATHER_PRIVATE_KEY","homepage":"https://github.com/yinguobing/qweather-skill","install":[{"id":"qweather","kind":"cargo","package":"qweather","bins":["qw"],"label":"Install qweather via cargo"}]}}bash cargo install qweatherbash cargo install --git https://github.com/yinguobing/qweather-skill.gitTechnical Analysis
The Skill directs users or agents to download, compile, and install an executable from external sources without pinning an exact crate version, immutable Git commit, or verified artifact digest. The registry installation resolves package content available at installation time, while the Git installation resolves the repository's current default revision.
Because the executable source and dependency lock material are not included in the audited project, the behavior of the installed
qwbinary cannot be verified from this package. Upstream content may change after the Skill has been reviewed. The Git command is particularly mutable because it does not specify a commit with--rev; the registry command similarly lacks an exact reviewed version.This is a supply-chain weakness rather than evidence that the current upstream package is malicious.
Attack Path
- An attacker compromises the upstream crate publisher account, source repository, release workflow, or a transitive dependency.
- The attacker publishes or commits modified code under the expected
qweatherpackage or repository identity. - A user or agent follows the documented unpinned installation command.
- Cargo retrieves and compiles the attacker-controll ...[truncated 832 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the registry dependency to a reviewed exact version rather than resolving the latest available release.
- For Git installation, specify a reviewed immutable commit using
--rev <full-commit-hash>. - Use Cargo's locked dependency resolution where supported, and publish the reviewed
Cargo.lockfile. - Distribute checksums or cryptographic signatures for release artifacts and verify them before installation.
- Include the relevant source code and dependency manifest in the Skill package so the executable behavior can be audited together with the instructions.
- Perform installation and execution under a dedicated, least-privileged account with only the file and network permissions required for weather queries.
- Restrict access to
QWEATHER_PRIVATE_KEYand avoid exposing unrelated secrets to the installation or execution environment. - Add a documented update process requiring security review before changing the pinned version or commit.
