T08 · Insecure Dependencies
- Location
SKILL.md:269- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 269
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code Snippet:
markdown | xmltodict | Python library | Required | `pip install xmltodict` |Technical Analysis
The Skill directs the user or Agent to install
xmltodictwithout specifying an approved version or validating the package with a cryptographic hash. Consequently, the installed artifact can change over time, making builds non-reproducible and allowing an unexpectedly changed or compromised package release to enter the execution environment.Python package installation may execute package-controlled build or installation logic. Although the referenced package name is not visibly misspelled, obfuscated, or sourced from an untrusted custom repository, the absence of version and integrity controls creates a supply-chain exposure.
Attack Path
- An attacker compromises the package distribution account, package registry, or a future dependency release.
- A user or Agent follows the documented command
pip install xmltodict. pipresolves and downloads the currently available release rather than a previously reviewed artifact.- Package-controlled build or installation logic executes in the local environment.
- Malicious code operates with the permissions of the user or Agent that launched
pip.
Impact Assessment
A compromised dependency could execute arbitrary code with the installing process's privileges. Depending on the runtime environment, this may permit access to files available through the Agent's read and write capabilities, modification of project data, theft of environment variables or credentials accessible to the process, and execution of additional local commands. The scope is limited by the operating-system permissions and isolation controls applied to the Agent or user account.
- Remediation
View remediation
Remediation Suggestions
- Pin
xmltodictto a specific, reviewed version:text xmltodict==REVIEWED_VERSION - Record and verify cryptographic hashes in a locked requirements file, then install with:
bash python -m pip install --require-hashes -r requirements.txt - Install dependencies inside a dedicated virtual environment or restricted container rather than a privileged system environment.
- Review package provenance, release history, and transitive dependencies before updating the pinned version.
- Use an approved package index or internal mirror and prevent fallback to untrusted package sources.
- Run conversion workloads with least privilege and deny unnecessary access to credentials, sensitive files, and network resources.
- Pin
