T08 · Insecure Dependencies
- Location
install.sh:24- Finding
Unpinned Dependencies Installed into the Global Python Environment
- Content
View full analysis
/dev/null || pip3 install --break-system-packages -q pyyaml requests httpx openai 2>/dev/null || { ``` ### Technical Analysis The installer retrieves packages without fixed versions or integrity hashes. Consequently, each installation can resolve to different package versions than those reviewed during development. If a package release or its distribution account is compromised, installation may execute attacker-controlled package setup logic under the identity running the installer. The fallback uses `--break-system-packages`, permitting modification of an externally managed Python environment. This can overwrite or conflict with packages used by other applications. In addition, `httpx` and `openai` are not used by the audited implementation, so installing them expands the supply-chain attack surface beyond the minimum required for the declared functionality. ### Attack Path 1. An upstream dependency, maintainer account, or package distribution channel is compromised. 2. A malicious package version is published under one of the unrestricted dependency names. 3. A user runs `install.sh`. 4. `pip3` resolves and downloads the malicious version because no version or hash constraint is present. 5. Package installation code executes with the privileges of the user running the installer. 6. If the installer runs with elevated privileges, or the fallback modifies a shared system interpreter, the compromise can affect additional users and applications. ### Impact Assessment Successful exploitation can result in arbitrary code execution with the installer user's privileges. An attacker could access files and credentials available to that user, alter the installed Skill, or tamper with other packages in the same P ...[truncated 202 chars]- Remediation
View remediation
