T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:156
- Finding
- Third-Party Python Dependency Installed Without Integrity Verification## Vulnerability Details **File Location**: `SKILL.md`, lines 156-164 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Vulnerable code:** ```markdown ## LangChain ```bash pip install langchain-scavio==4.0.2 ``` ```python from langchain_scavio import ScavioSearchTool tool = ScavioSearchTool(engine="google") ``` ``` ### Technical Analysis The Skill instructs users or agents to install `langchain-scavio==4.0.2` directly from the default Python package index and then import it. Although pinning an exact version reduces exposure to unexpected future upgrades, the instruction does not authenticate the downloaded artifacts with cryptographic hashes or provide locally auditable source code. Consequently, security depends on the integrity of the package publisher, package-index account, distribution infrastructure, and selected artifacts. If the pinned release or its distribution channel is compromised, installation from source may invoke attacker-controlled build behavior, while the subsequent Python import can execute attacker-controlled module initialization code. The dependency is presented as an optional LangChain integration rather than a requirement for the documented direct HTTPS API workflow. Its installation therefore introduces avoidable supply-chain exposure beyond the minimum capabilities required to perform a search. ### Attack Path 1. An attacker compromises the publisher account, package artifact, source distribution, or relevant package-delivery infrastructure for the referenced dependency. 2. The attacker causes a malicious artifact to be distributed under the pinned `4.0.2` release or otherwise supplied during dependency resolution. 3. A user or automated agent follows the Skill instructions and executes `pip install langchain-scavio==4.0.2`. 4. Malicious behavior runs during an applicable source-build process or when `langchain_scavio` is imported. 5. The payload op ...[truncated 896 chars]
- Remediation
- ## Remediation Suggestions 1. Publish cryptographic SHA-256 hashes for all approved distributions and require hash verification, for example through a locked requirements file used with `pip install --require-hashes`. 2. Link to the dependency's official, auditable source repository and document how the package artifact corresponds to a reviewed source revision. 3. Install the package in an isolated virtual environment or restricted container rather than a privileged or shared Python environment. 4. Run the integration with only the environment variables, filesystem access, and network destinations required for its search function. 5. Prefer binary wheels from trusted sources and review source distributions and build metadata before allowing source builds. 6. Clearly mark the LangChain package as optional and retain the direct HTTPS API example as the minimal-dependency workflow. 7. Continuously scan the pinned package and its transitive dependencies for known vulnerabilities and publisher or artifact changes.
