T08 · Insecure Dependencies
- Location
SKILL.md:212- Finding
Unpinned Third-Party Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 212–214
Vulnerability Type: Unpinned dependencies resolved from the active Python package index
Risk Level: MediumVulnerable Code
bash VENV_PY="C:/Users/Meng/.workbuddy/binaries/python/envs/default/Scripts/python.exe" $VENV_PY -m pip install python-docx pypdf pdfplumber --quietTechnical Analysis
The setup instructions install
python-docx,pypdf, andpdfplumberwithout fixed versions, package hashes, a lockfile, or an explicitly approved package index. The installed code can therefore vary between executions as package releases and transitive dependencies change.If the configured package index, a package release, or a transitive dependency is compromised, following these instructions may install attacker-controlled code. Such code could execute during package installation or when the project imports the affected package. The
--quietoption also reduces the visibility of dependency-resolution output and warnings.The package names match the imports used by the project, and the audit found no evidence of deliberate typosquatting, dependency confusion, or a currently malicious package. This finding is an unsafe supply-chain practice rather than proof that the named packages are malicious.
Attack Path
- A user or agent follows the environment setup instructions in
SKILL.md. pipresolves the latest compatible packages and their transitive dependencies from the environment's configured index.- An attacker compromises a package release, a transitive dependency, or the configured package index.
pipdownloads and installs the attacker-controlled component.- Malicious code executes during installation or when
extract_documents.pyorbuild_report.pyimports the compromised library. - The code operates with the privileges of the Python process running the skill.
Impact Assessment
Successful exploitation could permit arbitrary code execution ...[truncated 548 chars]
- A user or agent follows the environment setup instructions in
- Remediation
View remediation
Remediation Suggestions
- Create a reviewed dependency lock or requirements file with exact versions.
- Record and enforce hashes for every direct and transitive package:
bash python -m pip install --require-hashes -r requirements.txt - Resolve dependencies through an approved, authenticated package mirror and explicitly configure the trusted index.
- Use automated dependency scanning and update pinned versions through reviewed pull requests.
- Remove
--quietfrom security-sensitive setup instructions so resolution details and warnings remain visible. - Install dependencies in a dedicated, least-privileged virtual environment or sandbox with restricted filesystem and network access.
- Document the supported Python version and verify package integrity before release.
