T08 · Insecure Dependencies
- Location
SKILL.md:14- Finding
Automatic Installation of Unpinned Dependencies and Skill Updates
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:14-32
Vulnerability Type: Supply-chain risk from unpinned third-party installation and self-update instructions
Risk Level: MediumVulnerable Code Snippet:
markdown ## Startup checks (always first) This skill uses the python `pixie-qa` package. Before doing anything else, perform these two steps: ### 1. Upgrade pixie-qa Attempt to upgrade the `pixie-qa` package in the user's environment. Detect the package manager from the project (check for `uv.lock`, `poetry.lock`, `requirements.txt`, or a plain `pip` environment) and run the appropriate upgrade command: - **uv**: `uv add pixie-qa --upgrade` (or `uv sync --upgrade-package pixie-qa`) - **poetry**: `poetry add pixie-qa@latest` - **pip**: `pip install --upgrade pixie-qa` If the upgrade fails (e.g., no network, version conflict), log the error and continue — a failed upgrade must not block the rest of the skill. ### 2. Check skill version Check whether a newer version of this skill itself is available by running the script `check_version.py`. If there is a newer version, reinstall the skill with `npx skills add` before proceeding.Technical Analysis
The skill requires an agent to upgrade
pixie-qato the latest available release before performing the requested work. The installation commands do not pin a reviewed version, require package hashes, validate publisher provenance, or otherwise constrain the installed artifact to content known at audit time.The conditional self-update instruction has the same trust problem: it instructs the agent to reinstall the skill through
npx skills addwithout pinning a repository commit or integrity digest. Consequently, the code ultimately installed and executed can differ from the code reviewed in this audit.Python and Node package installation can execute package-controlled installation or runtime code with the permissions of the invoking u ...[truncated 1774 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove automatic dependency upgrades from the mandatory startup workflow.
- Require explicit user approval before changing the project's dependencies or reinstalling the skill.
- Pin
pixie-qato a reviewed exact version rather than using--upgradeor@latest. - Preserve and honor the application's existing lockfile instead of rewriting dependency resolution automatically.
- For
pip, use a reviewed requirements file containing cryptographic hashes and install with--require-hashes. - Restrict installations to an approved package index and verify package publisher provenance where supported.
- Pin skill updates to a reviewed repository commit or immutable release artifact and verify its checksum or signature before installation.
- Run installation and evaluation in an isolated virtual environment or container with minimal filesystem and credential access.
- Separate version checking from updating: report that an update is available, but do not install it automatically.
- Record the exact installed package version and integrity information for reproducible audits.
