T08 · Insecure Dependencies
- Location
SKILL.md:19- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 19–24
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumComplete Code Snippet:
bash pip install DuIvyToolsOr using a third-party mirror:
bash pip install DuIvyTools -i https://pypi.tuna.tsinghua.edu.cn/simpleTechnical Analysis
The Skill directs the Agent to install
DuIvyToolsfrom an external Python package index without pinning an exact version or verifying an artifact hash. The implementation of that package is not included in the audited project, so its installation behavior and the behavior of subsequentditcommands cannot be verified from the available files.Package index artifacts are mutable over time. If the package publisher account, distribution process, or index response is compromised, the same installation command could retrieve attacker-controlled code after this Skill has already passed review. Python package installation can execute build-related code, while later invocation of the installed
ditentry point directly executes package code.The alternative command uses the Tsinghua PyPI mirror. No evidence indicates that this mirror is malicious, but using an additional package-distribution intermediary expands the external supply-chain trust boundary. Neither command constrains the resolved artifact by version and cryptographic digest.
Attack Path
- An attacker compromises the
DuIvyToolspublisher account, release pipeline, or package-distribution path. - The attacker publishes or substitutes a malicious package release.
- The Agent follows the installation instructions in
SKILL.md. pipresolves and installs the current externally supplied artifact because no exact version or hash is required.- Malicious code executes during an applicable build or installation stage, or when the Agent subsequently invokes a documented
ditcommand. - The code operates with ...[truncated 719 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin a specifically reviewed package version, for example with
DuIvyTools==<reviewed-version>. - Publish a requirements lock file containing cryptographic hashes and install it with
pip --require-hashes. - Verify the package against its official source repository and document the expected publisher, version, and artifact digest.
- Install the package in a dedicated virtual environment or other restricted execution environment rather than into a global interpreter.
- Avoid privileged installation and execution; grant access only to the input and output directories needed for the analysis.
- Prefer a trusted primary package index with explicit index configuration. If a mirror is necessary, document its trust assumptions and verification controls.
- Audit the source corresponding to the pinned release, including build configuration and console entry points, before allowing automated installation or execution.
- Pin a specifically reviewed package version, for example with
