T08 · Insecure Dependencies
- Location
SKILL.md:42- Finding
Unpinned Runtime Dependencies Create a Supply-Chain Risk
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 42
Vulnerability Type: Unpinned third-party dependencies
Risk Level: MediumVulnerable Code:
bash pip install google-auth google-auth-oauthlib google-auth-httplib2 google-api-python-client requestsTechnical Analysis
The installation instructions retrieve the latest available versions of several packages and their transitive dependencies without a lock file, exact version constraints, or package hashes. Consequently, the installed code can change between deployments without any modification to this Skill.
There is no evidence that the named packages are typosquatted or currently malicious. The vulnerability is the absence of reproducible dependency controls: a compromised upstream release, dependency, package-index account, or resolution result could introduce code that executes during installation or when imported by the synchronization scripts.
Attack Path
- An attacker compromises an upstream package, one of its transitive dependencies, or its package-index release account.
- A malicious version is published under a dependency name used by the installation command.
- A user follows the documented unpinned
pip installcommand. - The malicious package is installed and subsequently imported by the Skill.
- The package executes with the privileges of the user running the installation or synchronization scripts.
- It can access credentials and data available to that account, including Google OAuth files,
SKILLBOSS_API_KEY, task data, customer identifiers, and revenue metrics.
Impact Assessment
Successful exploitation could provide arbitrary Python code execution with the installing or runtime user's privileges. The practical scope includes reading or modifying files accessible to that user, stealing environment variables and OAuth tokens, altering synchronized data, and making unauthorized network requests. The code do ...[truncated 124 chars]
- Remediation
View remediation
Remediation Suggestions
- Define reviewed, exact package versions in a requirements or lock file.
- Generate and verify cryptographic hashes for every direct and transitive dependency.
- Install with hash enforcement, for example:
bash python3 -m pip install --require-hashes -r requirements.txt - Install dependencies inside an isolated virtual environment rather than the user's global Python environment.
- Configure an explicit trusted package index or internally controlled package mirror.
- Add automated dependency vulnerability and integrity scanning.
- Review and deliberately update the lock file instead of implicitly accepting the latest releases.
