T08 · Insecure Dependencies
- Location
SKILL.md:35- Finding
Unpinned Third-Party Dependencies Are Installed and Executed
- Content
View full analysis
=1.5.9" 2>/dev/null || uv pip install "finlab>=1.5.9" ``` ```bash uv run --with "finlab" python3 script.py ``` Additional unpinned installation instructions include: ```bash pip install finlab --upgrade ``` ```bash pip install esun-trade ``` ```bash pip install shioaji ``` ### Technical Analysis The Skill instructs the Agent to download and execute third-party packages without pinning exact versions or verifying package hashes. The constraint `finlab>=1.5.9` permits any future matching release, while `--upgrade` and package names without versions explicitly select package contents that may change after this Skill has been audited. The `--system` option is particularly unsafe because it modifies the system Python environment instead of an isolated project environment. Installation and subsequent import can execute package-controlled build hooks, initialization code, native extensions, and runtime logic. The source code of these dependencies is not included in the audited project, so its behavior cannot be verified from this repository. This creates a software supply-chain exposure. A compromised publisher account, malicious future release, dependency confusion condition, or compromised transitive dependency could introduce arbitrary code into the execution environment. ### Attack Path 1. An attacker compromises a referenced package, its publisher account, or one of its transitive dependencies. 2. The attacker publishes a malicious release satisfying the unbounded version requirement. 3. The Agent follows the Skill and ...[truncated 1313 chars]- Remediation
View remediation
