T08 · Insecure Dependencies
- Location
SKILL.md:289- Finding
Unpinned Third-Party Python Dependencies
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 289–292
Vulnerability Type: Unpinned and unverified third-party dependencies
Risk Level: MediumVulnerable Code
text | pandas | Library | Required | pip install pandas | | numpy | Library | Required | pip install numpy | | matplotlib | Library | Recommended | pip install matplotlib | | seaborn | Library | Recommended | pip install seaborn |Technical Analysis
The Skill recommends installing third-party Python packages without fixed versions, cryptographic hashes, a lock file, or an explicitly trusted package index. Although the listed package names are recognizable and show no evidence of typosquatting, each command resolves mutable package versions from the runtime's configured Python package index.
Consequently, the installed code is not the same immutable artifact reviewed during this audit. A compromised package release, transitive dependency, or configured package mirror could introduce malicious code. Python package code may execute during installation, and installed modules may execute additional code when imported. The exposure is amplified by the Skill's declared
execcapability.Attack Path
- A user requests a data-analysis operation supported by the Skill.
- The Agent follows the dependency instructions and executes one or more unpinned
pip installcommands. pipresolves the current package versions and transitive dependencies using the environment's configured package index.- An attacker compromises a package release, one of its transitive dependencies, or the configured mirror.
- The compromised package is downloaded and installed because no version or hash validation constrains the artifact.
- Malicious code executes during installation or when the package is subsequently imported by generated analysis code.
Impact Assessment
Malicious dependency code could run with the same operating-system identity and privileges as the Agent or u ...[truncated 558 chars]
- Remediation
View remediation
Remediation Suggestions
- Move dependencies into a reviewed requirements or lock file and pin exact versions.
- Record cryptographic hashes for every direct and transitive dependency.
- Install with hash enforcement, for example:
bash python -m pip install --require-hashes -r requirements.txt- Configure and document an approved package index rather than relying on ambient
pipconfiguration. - Generate dependencies from a trusted build process and regularly scan them for known vulnerabilities.
- Install packages in an isolated virtual environment or container under a least-privilege account.
- Avoid granting the analysis process access to unrelated credentials, sensitive files, or unnecessary network resources.
- Review and deliberately update pinned versions instead of resolving the newest available versions at execution time.
