T08 · Insecure Dependencies
- Location
SKILL.md:133- Finding
Unpinned Python Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 133
Vulnerability Type: Unpinned third-party dependency
Risk Level: MediumVulnerable Code:
bash pip install requestsTechnical Analysis
The skill instructs the agent to install
requestswithout specifying an exact version, validating package hashes, using a lockfile, or restricting resolution to an approved package source. The documented mind-map example does not use this library, so the dependency also unnecessarily increases the supply-chain attack surface.Package resolution is therefore affected by the registry state and available releases at installation time. If a malicious or compromised release or transitive dependency is selected, package build or installation behavior could run attacker-controlled code. The audit did not identify evidence that the current
requestspackage is malicious; the issue is the unsafe and unnecessary dependency-installation practice.Attack Path
- A user or AI agent follows the environment-preparation instructions.
- The agent executes
pip install requestsusing its configured Python package index. - Pip resolves an unpinned release and its transitive dependencies.
- If the selected artifact, dependency, package source, or source-build process has been compromised, attacker-controlled code may run during installation or subsequent import.
- That code executes within the permissions and environment of the user running the skill.
Impact Assessment
Exploitation could allow code execution with the privileges of the account running
pip. Depending on that account's access, exposed resources could include project files, user-readable configuration, environment variables, credentials available to the process, and writable local files. The issue does not independently provide administrative privileges or persistence.- Remediation
View remediation
Remediation Suggestions
- Remove the
requestsinstallation instruction because it is not used by the documented workflow. - If the dependency becomes necessary, pin it to a reviewed exact version.
- Use a lockfile or requirements file with cryptographic hashes, such as pip's
--require-hashesmode. - Configure an approved package index and disable untrusted extra indexes.
- Review and pin all transitive dependencies.
- Install dependencies in an isolated, least-privileged virtual environment.
- Prefer pre-reviewed binary artifacts where appropriate and prevent unexpected source builds in automated environments.
- Remove the
