T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:21
- Finding
- Unpinned PyPI Dependency Installation## Vulnerability Details **File Location**: `SKILL.md:21` **Vulnerability Type**: Unpinned third-party dependency installation **Risk Level**: Medium **Vulnerable Code Snippet**: ```bash pip install schemapin ``` ### Technical Analysis The installation command does not specify an exact reviewed version, package hash, lockfile, or other integrity constraint. Consequently, it installs whichever release the package index resolves at execution time. The installed artifact is mutable external content and is not included in this repository, so its implementation cannot be validated against the audited documentation. If the package publisher, maintainer credentials, distribution process, or registry entry is compromised, a malicious release could be delivered through this legitimate-looking command. Malicious Python code could run during a source-package build or when the installed library is imported and used by the documented examples. ### Attack Path 1. An attacker compromises the package publisher, release pipeline, or registry entry. 2. The attacker publishes a malicious release under the expected package name. 3. A user or AI agent follows the documented unpinned installation command. 4. The package index resolves the malicious release because no exact version or hash is required. 5. Attacker-controlled code runs during package build or subsequent import. 6. The code accesses resources available to the installation or application process, potentially including SchemaPin private keys. ### Impact Assessment Malicious package code would execute with the privileges of the user or service running the installation or application. It could read accessible files and environment variables, alter project files, make network requests, or compromise cryptographic key material generated or processed by the application. The scope is limited by the host account's permissions but may include CI/CD credentials and signing keys when i ...[truncated 53 chars]
- Remediation
- ## Remediation Suggestions - Pin `schemapin` to an exact release that has been independently reviewed. - Use a requirements or lock file containing cryptographic hashes, such as a hash-locked `requirements.txt`. - Install with hash enforcement, for example through `pip install --require-hashes -r requirements.txt`. - Prefer reviewed binary wheels from trusted sources and avoid unexpected source builds. - Verify package provenance, release signatures, and publisher identity before upgrading. - Isolate dependency installation in a least-privileged virtual environment or container. - Establish an explicit dependency-update process that performs vulnerability scanning and code review before changing the pinned version.
