T08 · Insecure Dependencies
- Location
SKILL.md:49- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 49–52
Vulnerability Type: Unpinned dependencies installed from the active Python package index
Risk Level: MediumVulnerable Code
bash pip install python-docx requestsTechnical Analysis
The documented setup command installs
python-docxandrequestswithout version constraints, package hashes, a lock file, or an explicitly trusted package index. Consequently, the code executed by future installations is not limited to the dependency versions covered by this audit.An attacker who compromises an upstream package release, controls a configured package index or mirror, or interferes with package resolution could cause users to install attacker-controlled code. Python packages may execute code during installation, and malicious runtime code could also execute when the Skill imports the affected dependency.
This is a supply-chain weakness rather than evidence that the currently named packages are malicious.
Attack Path
- An attacker compromises a dependency release or gains control of a package source configured in the user's pip environment.
- A user follows the setup instructions and runs:
bash pip install python-docx requests - pip resolves an unreviewed or attacker-controlled package version because no reviewed versions or hashes are enforced.
- Malicious package code executes during installation or when the Skill imports the dependency.
- The malicious code operates with the privileges of the user running pip or the Skill.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the invoking user's privileges. Depending on the local environment, the attacker could access or alter:
- The
QICHACHA_TOKENenvironment variable. - Company names submitted for lookup.
- Locally stored due-diligence JSON data.
- User-provided financial or corporate documents accessible to the process.
- Generated Word reports and ...[truncated 251 chars]
- Remediation
View remediation
Remediation Suggestions
-
Create a reviewed dependency lock or requirements file with exact versions:
text python-docx==<reviewed-version> requests==<reviewed-version> -
Generate and enforce cryptographic hashes for every package and transitive dependency:
bash python -m pip install --require-hashes -r requirements.txt -
Use an explicitly approved package index:
bash python -m pip install \ --index-url https://<approved-index>/simple \ --require-hashes \ -r requirements.txt -
Install dependencies in an isolated virtual environment under a non-privileged account. Do not run pip as an administrator or root user.
-
Add automated dependency scanning and a controlled update process. Review new versions before updating pins and hashes.
-
Keep the installation documentation synchronized with the locked dependency manifest so users do not bypass the protected installation process.
-
