T08 · Insecure Dependencies
- Location
SKILL.md:13- Finding
Unpinned Runtime Dependency Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 13–16
Vulnerability Type: Unpinned third-party dependencies installed at runtime
Risk Level: MediumVulnerable Code
markdown 1. Ensure dependencies exist: ```bash python3 -m pip install Pillow pillow-avif-plugintext ### Technical Analysis The skill directs the agent to install `Pillow` and `pillow-avif-plugin` from the configured Python package index without fixed versions or integrity hashes. Consequently, dependency resolution can produce different artifacts on different runs, and the reviewed skill does not guarantee that the packages subsequently installed are the versions that were tested or audited. Python package installation may execute package-controlled build or installation logic. Imported package code also executes with the privileges of the Python process. If an upstream release, distribution account, package index, dependency, or local package-index configuration is compromised, following these instructions could introduce and execute attacker-controlled code. This finding concerns supply-chain integrity. The audit did not identify evidence that the named packages themselves are malicious. ### Attack Path 1. A user asks the agent to convert one or more AVIF images. 2. The agent follows the documented execution checklist and determines that a required package is unavailable. 3. The agent runs `python3 -m pip install Pillow pillow-avif-plugin`. 4. Pip resolves whatever package versions and transitive dependencies are currently offered by the configured index because neither versions nor hashes are constrained. 5. A compromised or unexpectedly modified distribution executes package-controlled installation, build, or import code. 6. That code runs with the privileges and environmental access of the user or service account invoking the skill. ### Impact Assessment Successful supply-chain exploitation could provide arbi ...[truncated 425 chars]- Remediation
View remediation
Remediation Suggestions
- Replace the ad hoc installation command with a reviewed lock or requirements file containing exact package and transitive-dependency versions.
- Require cryptographic hashes for every resolved artifact, such as through pip's
--require-hashesoption. - Install only from an explicitly configured, trusted package index or an internally controlled artifact repository.
- Prefer prebuilt, reviewed artifacts and verify their provenance before deployment.
- Perform installation in an isolated virtual environment or container with minimal filesystem, credential, and network access.
- Separate dependency installation from normal image-conversion execution so routine skill invocation cannot silently alter the runtime environment.
- Add a documented dependency-update process that includes security review, testing, and lockfile regeneration.
