T08 · Insecure Dependencies
- Location
SKILL.md:20- Finding
Unpinned System-Wide Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 20
Vulnerability Type: Insecure third-party dependency installation
Risk Level: MediumVulnerable code snippet:
bash pip install --break-system-packages zhdate holidaysTechnical Analysis
The setup instructions install
zhdateandholidayswithout version constraints or integrity hashes. Consequently, the packages and their transitive dependencies are resolved to mutable versions from the configured Python package index at installation time. A compromised package release, dependency, index configuration, or network/package-distribution channel could therefore introduce code that was not reviewed as part of this Skill.The
--break-system-packagesoption bypasses Python's externally managed environment protection and permits modification of the host Python installation. This increases the potential scope of dependency conflicts and host-environment damage. In addition,holidaysis not imported or otherwise used byscripts/festival_query.py, so its installation unnecessarily expands the supply-chain attack surface.The audited Python script itself performs local calendar calculations and contains no observed remote payload retrieval, command execution, persistence, credential collection, or data-exfiltration behavior.
Attack Path
- A user or Agent follows the dependency-installation instruction in
SKILL.md. pipresolves the latest available, unpinned versions of the named packages and their transitive dependencies using the configured package index.- An attacker compromises a package release, dependency, package-index account, mirror, or local index configuration.
- The malicious package content is downloaded and installed without hash verification.
- Malicious installation or imported package code executes with the privileges of the account running
pip. - Because installation targets the host environment rather ...[truncated 861 chars]
- A user or Agent follows the dependency-installation instruction in
- Remediation
View remediation
Remediation Suggestions
- Remove the unused
holidayspackage from the installation instructions. - Pin
zhdateand every transitive dependency to reviewed versions. - Require package hashes, preferably through a locked requirements file generated from a trusted environment:
bash python3 -m venv .venv . .venv/bin/activate python3 -m pip install --require-hashes -r requirements.txt - Populate
requirements.txtwith exact versions and validated SHA-256 hashes. - Remove
--break-system-packagesand install dependencies only in a dedicated virtual environment or isolated container. - Review and periodically scan locked dependencies for known vulnerabilities and unexpected ownership or release changes.
- Configure installation to use a trusted package index and avoid untrusted extra indexes that could enable dependency-confusion attacks.
- Remove the unused
