T08 · Insecure Dependencies
- Location
SKILL.md:51- Finding
Third-Party Package Installation Without Trusted Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:51-55,SKILL.md:60-62,references/clawhub_publish_pack.md:63-76
Vulnerability Type: Insecure dependency installation and ineffective artifact verification
Risk Level: MediumVulnerable Code
SKILL.md:51-55:bash python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade "cascadeflow[openclaw]>=0.7,<0.8" python -m pip show cascadeflow python -m pip download --no-deps "cascadeflow[openclaw]>=0.7,<0.8" -d /tmp/cascadeflow_pkg python -m pip hash /tmp/cascadeflow_pkg/cascadeflow-*.whlreferences/clawhub_publish_pack.md:63-76:bash python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade "cascadeflow[openclaw]>=0.7,<0.8" python -m pip show cascadeflow python -m pip download --no-deps "cascadeflow[openclaw]>=0.7,<0.8" -d /tmp/cascadeflow_pkg python -m pip hash /tmp/cascadeflow_pkg/cascadeflow-*.whlbash # Anthropic-only preset users python -m pip install --upgrade "cascadeflow[openclaw,anthropic]>=0.7,<0.8" # OpenAI-only preset users python -m pip install --upgrade "cascadeflow[openclaw,openai]>=0.7,<0.8" # Mixed preset users (OpenAI + Anthropic + common providers) python -m pip install --upgrade "cascadeflow[openclaw,providers]>=0.7,<0.8"Technical Analysis
The installation instructions accept any
cascadeflowrelease in the0.7.xrange rather than an exact, previously audited version. They also permit resolution and installation of transitive dependencies without a lock file or trusted hash set.Running
pip hashafter downloading an artifact only calculates the digest of the artifact that was retrieved. The instructions do not compare that digest against an independently distributed trusted value, so this step cannot detect a compromised package repository, malicious release, or substituted artifact. In a ...[truncated 1543 chars]- Remediation
View remediation
Remediation Suggestions
- Pin CascadeFlow to an exact, reviewed version instead of a version range.
- Lock every transitive dependency using a reproducible lock file.
- Publish trusted SHA-256 values through a channel independent of the package artifact.
- Download artifacts before installation, verify them against the trusted digest, and abort on mismatch.
- Install using
pip --require-hashesand a fully hashed requirements file. - Avoid
--upgradein automated Agent instructions unless an explicit update review is performed. - Use a dedicated virtual environment and a least-privileged service account.
- Provide provenance or signature-verification instructions where supported.
- Ensure provider keys available to the service have minimal permissions, quotas, and rotation procedures.
