T08 · Insecure Dependencies
- Location
README.md:63- Finding
Unpinned Third-Party Dependencies and Unverified Delegated Skill Execution
- Content
View full analysis
Vulnerability Details
File Locations:
README.md:63scripts/README.md:59,69scripts/data_collector.py:20-24references/technical/integration-guide.md:17-26references/technical/integration-guide.md:177-184references/technical/integration-guide.md:528
Vulnerability Type: Supply-chain exposure through unpinned packages and unverified external Skill scripts
Risk Level: MediumVulnerable Code
From
README.md:63:bash pip install requests beautifulsoup4 lxmlFrom
scripts/README.md:59,69:markdown - Requires dependencies: `pip install requests beautifulsoup4`bash pip install requests beautifulsoup4 lxmlFrom
scripts/data_collector.py:20-24:python try: import requests from bs4 import BeautifulSoup except ImportError: print("Please install dependencies: pip install requests beautifulsoup4") exit(1)From
references/technical/integration-guide.md:17-26:bash # Assumed deep-research-pro script path cd ~/.workbuddy/skills/deep-research-pro/scripts # Execute deep research python research.py \ --topic "China skincare market size 2024" \ --max-sources 10 \ --output /tmp/deep_research_result.json # Or use its search capability; adjust for the actual local script bash search.sh "skincare market size China growth rate" --max 8From
references/technical/integration-guide.md:177-184:bash cd ~/.workbuddy/skills/insights-hotspot/scripts # Generate a hotspot insight report python insights_generator.py \ --directions 1,2,3,4 \ --days 2 \ --top 10 \ --formats html,markdown,word \ --search-results search_results.jsonFrom
references/technical/integration-guide.md:528:bash pip install --upgrade python-docx python-pptxTechnical Analysis
The documented package-installation commands do not pin dependency versions, verify package hashes, use a lock file, or constrain installation to a reviewed package index. Consequ ...[truncated 2447 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to a reviewed version, for example through a version-controlled requirements file.
- Generate and enforce hashes using a hash-locked dependency workflow, such as:
bash python -m pip install --require-hashes -r requirements.txt - Use a dedicated virtual environment rather than installing into the host or user-wide Python environment:
bash python -m venv .venv . .venv/bin/activate - Record transitive dependencies in a lock file and update them through a controlled review process.
- Configure a trusted package index explicitly and avoid unreviewed extra indexes that may enable dependency confusion.
- Replace generic upgrade commands with installation from reviewed, pinned dependency manifests.
- Require sibling Skills to be obtained from an approved source and pinned to a specific version or commit.
- Verify checksums or signatures for sibling Skill packages before executing their scripts.
- Review delegated scripts and their dependency manifests before use; do not treat the existence of a directory under
~/.workbuddy/skillsas proof of trust. - Document that delegated scripts execute with the current user’s privileges and should be run in a sandbox or restricted environment when their provenance cannot be established.
