T08 · Insecure Dependencies
- Location
SKILL.md:9- Finding
Unpinned Third-Party Dependencies Without Integrity Verification
- Content
View full analysis
=1.12", "pandas>=1.5"] }, "install": [ { "id": "pip-install", "kind": "pip", "packages": ["akshare>=1.12", "pandas>=1.5"], ``` The documentation also recommends unconstrained installation: ```bash pip install akshare pandas ``` ### Technical Analysis The Skill installs `akshare` and `pandas` using minimum-version constraints or no version constraints. It does not provide a lockfile, verified package hashes, pinned transitive dependencies, or an explicitly trusted package index. Consequently, dependency resolution can select package versions that were not present or reviewed when the Skill was audited. The documented command is less restrictive than the metadata because it permits any available version. Python packages can execute code during installation or when imported by the three scripts. This does not prove that the currently named dependencies are malicious. The vulnerability is the lack of controls ensuring that future installations resolve to the same reviewed artifacts. ### Attack Path 1. An attacker compromises a future release of a declared dependency, one of its transitive dependencies, or a package index configured in the execution environment. 2. A user or agent installs the Skill dependencies using the metadata or documented `pip install akshare pandas` command. 3. pip resolves and downloads the compromised artifact because no exact version or cryptographic hash restricts the accepted package. 4. Malicious package code executes during installation or when a script imports the package. 5. The code runs with the permissions of the user or agent that performed the installation or invoked the Skill. ### Impact As ...[truncated 477 chars]- Remediation
View remediation
