T08 · Insecure Dependencies
- Location
requirements.txt:1- Finding
Unpinned Third-Party Dependencies Permit Unreviewed Supply-Chain Code Execution
- Content
View full analysis
=3.0.0 pandas>=1.5.0 numpy>=1.20.0 ``` `SKILL.md:16-21`: ```bash pip install gm ``` ```text Alternatively, download it from: https://www.myquant.cn/docs/downloads/698 ``` `README.md:17-20`: ```bash pip install gm ``` `demo_project/README.md:6-11`: ```bash pip install -r ../requirements.txt ``` `metadata.json:17-24`: ```json "dependencies": { "python": ">=3.8", "packages": [ "gm>=3.0.0", "pandas>=1.5.0" ] } ``` ### Technical Analysis All Python dependencies use lower-bound constraints rather than exact, reviewed versions. The documented installation commands also omit package hashes, signature verification, and an explicitly trusted package index. Consequently, dependency resolution may install any future release satisfying the specified minimum version. Python packages can execute code during installation and whenever imported. The `gm` package is particularly sensitive because this Skill directs users to provide it with a `GM_TOKEN`, retrieve account information, and potentially submit live brokerage orders. A malicious or compromised package release could therefore inherit the privileges of the user running the installation or strategy. The audit did not identify a currently embedded malicious package or payload. Exploitation depends on compromise or malicious publication through the selected package source, but the project does not provide controls that would prevent such an unreviewed release from being selected. ### Attack Path 1. An attacker compromises the publisher account, package repository, distribution infrastructure, or ...[truncated 1535 chars]- Remediation
View remediation
