T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:46
- Finding
- Unpinned Third-Party Python Package Installation## Vulnerability Details **File Location**: `SKILL.md`, lines 46–54 **Vulnerability Type**: Unpinned third-party dependency **Risk Level**: Medium ### Vulnerable Code ```markdown ## Prerequisites 1. An iGPT API key (get one at https://igpt.ai/hub/apikeys/) 2. A connected email datasource — the user must have completed OAuth authorization via `connectors/authorize` before search will return results 3. Python >= 3.8 with the `igptai` package installed ## Setup ```bash pip install igptai ``` ``` ### Technical Analysis The installation command resolves the latest available `igptai` release without an exact version constraint, cryptographic hashes, or a lockfile. Consequently, the installed code may differ from the version reviewed when this skill was published. Python package installation can execute package-controlled build or installation logic. Runtime imports also execute package initialization code. Although the document links to the package's source repository, that link does not cryptographically bind the downloaded PyPI artifact to reviewed source. This creates a supply-chain exposure if the package publisher account, package release, build pipeline, or transitive dependency is compromised. The audit did not establish that the current package is malicious; the confirmed issue is the unsafe, non-reproducible dependency installation practice. ### Attack Path 1. An attacker compromises the package publisher account, release pipeline, distribution artifact, or an unresolved dependency. 2. The attacker publishes a malicious release that satisfies the unrestricted package name. 3. A user follows the documented `pip install igptai` instruction. 4. `pip` downloads and installs the attacker-controlled release. 5. Malicious code executes during installation or when the package is imported. 6. The code runs with the privileges of the user or automation process and may access resources available to that proces ...[truncated 615 chars]
- Remediation
- ## Remediation Suggestions 1. Pin `igptai` to an exact version that has undergone security review, for example: ```bash python -m pip install "igptai==X.Y.Z" ``` 2. Publish a requirements or lock file containing cryptographic hashes and install with hash enforcement: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Pin and audit all transitive dependencies rather than relying only on a top-level version constraint. 4. Verify that published artifacts correspond to reviewed source through trusted provenance, signed releases, or reproducible builds. 5. Install and run the package in a least-privilege virtual environment or isolated container. 6. Avoid exposing unrelated credentials to the installation and runtime environment. 7. Add dependency vulnerability and provenance scanning to the release process, and require review before updating pinned versions.
