T08 · Insecure Dependencies
- Location
SKILL.md:8- Finding
Unpinned Third-Party Dependencies Installed Automatically
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 8-13
Vulnerability Type: Unpinned dependency installation
Risk Level: MediumVulnerable Code
json "install": [ { "id": "python-deps", "kind": "exec", "command": ["pip3", "install", "-q", "requests", "beautifulsoup4"], "label": "Install Python dependencies for lottery-ssq" } ]Technical Analysis
The Skill automatically installs
requestsandbeautifulsoup4without pinning exact versions or verifying package hashes. Consequently, the code reviewed during this audit does not fully determine which dependency artifacts will be installed in future executions.Package installation can execute package build hooks or other installation-time code with the privileges of the account running the Skill installer. If a package release, transitive dependency, configured package index, or resolved distribution is compromised, attacker-controlled code could run during installation.
The audit found no evidence that the named packages or currently installed versions are malicious. This finding concerns the absence of dependency integrity and reproducibility controls rather than a confirmed compromise.
Attack Path
- An attacker compromises a dependency release, a transitive dependency, or the package index used by
pip3. - A user installs the Skill, causing the declared
execinstallation action to run. pip3resolves mutable package versions because no exact versions, lock file, or hashes are specified.- The malicious distribution is downloaded and installed.
- Attacker-controlled installation hooks or imported package code execute under the installer or runtime account.
- The attacker obtains access to files, network resources, and other capabilities available to that account.
Impact Assessment
Successful exploitation could provide arbitrary code execution with the privileges of the user or service account installing or running the Skill. The a ...[truncated 378 chars]
- An attacker compromises a dependency release, a transitive dependency, or the package index used by
- Remediation
View remediation
Remediation Suggestions
- Pin every direct dependency to an exact, reviewed version.
- Resolve and lock all transitive dependencies.
- Record cryptographic hashes for every permitted distribution.
- Install from a reviewed requirements file using hash enforcement:
bash python3 -m pip install --require-hashes -r requirements.txt- Use an isolated virtual environment rather than modifying a shared Python environment.
- Restrict installation to a trusted package index and disable unintended fallback indexes.
- Prefer prebuilt, reviewed wheels where practical to reduce exposure to arbitrary build hooks.
- Run dependency vulnerability and provenance checks during release preparation.
- Perform installation and execution under a dedicated, least-privileged account without access to unrelated credentials or sensitive files.
