T08 · Insecure Dependencies
- Location
setup.py:18- Finding
Automatic Installation of Unpinned Third-Party Dependencies
- Content
View full analysis
/dev/null; then echo "Using uv..." uv pip install --python "$VENV_PYTHON" MLB-StatsAPI requests else echo "Using pip..." "$VENV_PYTHON" -m pip install MLB-StatsAPI requests fi ``` The installation is automatically initiated by the post-install hook in `SKILL.md`: ```json5 "hooks": { "postInstall": "cd {baseDir} && sed -i 's/\\r$//' *.py *.sh && chmod +x fetch_mlb.py setup.sh && python3 {baseDir}/setup.py", }, ``` ### Technical Analysis The Skill installs `MLB-StatsAPI` and `requests` from the package index without exact version constraints, a lock file, or package integrity hashes. Dependency resolution therefore selects whichever compatible releases are available at installation time rather than artifacts that were reviewed alongside the Skill. Python packages can execute installation or build-related code during dependency installation. Although the packages are placed in a project-local virtual environment, the package manager and any build subprocesses still run with the privileges of the user installing the Skill. A virtual environment isolates Python package placement; it is not a security sandbox and does not prevent installation-time code from accessing user-readable files or the network. The risk is amplified ...[truncated 2191 chars]- Remediation
View remediation
