T08 · Insecure Dependencies
Warning
- Location
- SKILL.md:56
- Finding
- Unpinned Third-Party Package Installation## Vulnerability Details **File Location**: `SKILL.md:56-57` **Vulnerability Type**: Unpinned package installation from an external package registry **Risk Level**: Medium **Vulnerable Code Snippet**: ```bash pip install pasm-skills # Base kit (zero dependencies) python -m pasm_skills selftest # Self-test: verify SDK, framework, and discovery ``` ### Technical Analysis The skill directs users to install `pasm-skills` from pip without specifying an exact version, integrity hash, lockfile, or immutable source revision. It then immediately instructs users to execute the installed package. Consequently, the effective executable code is determined by the package registry at installation time and may differ from the code originally reviewed. The audited project contains only `SKILL.md`; it does not include the package implementation or other artifacts that would allow the externally installed code to be verified against the documented behavior. This creates a supply-chain trust boundary. If the package distribution, publisher account, release process, or package registry were compromised—or if a future release introduced malicious behavior—the installation instructions would cause users to retrieve and execute that unreviewed code. ### Attack Path 1. An attacker compromises the package publisher account, distribution pipeline, or another component of the package supply chain. 2. The attacker publishes a malicious release under the expected `pasm-skills` package name. 3. A user follows the skill's unpinned `pip install pasm-skills` instruction. 4. pip resolves and installs the attacker-controlled release from the configured package index. 5. The user runs `python -m pasm_skills selftest` or imports the package while creating an agent. 6. Malicious module initialization or command logic executes with the privileges of the invoking user. ### Impact Assessment Successful exploitation could provide attacker-con ...[truncated 608 chars]
- Remediation
- ## Remediation Suggestions 1. Pin the dependency to a specifically audited release, for example: ```bash python -m pip install "pasm-skills==0.5.0" ``` 2. Distribute verified hashes and require integrity checking: ```bash python -m pip install --require-hashes -r requirements.txt ``` 3. Store the exact version and SHA-256 hashes in a committed lockfile or requirements file. 4. Reference an immutable source revision or signed release artifact and document how users can verify its signature or checksum. 5. Audit the source and built wheel corresponding to the pinned release, including module entry points and initialization behavior. 6. Recommend installation and execution in an isolated virtual environment under an unprivileged account. 7. Avoid immediately executing newly installed dependencies until their provenance and integrity have been verified.
