T08 · Insecure Dependencies
- Location
SKILL.md:206- Finding
Unpinned External Components Are Installed and Activated Without Integrity Verification
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 206–207, 215, and 269–270
Vulnerability Type: Supply-chain exposure through unpinned dependencies
Risk Level: MediumVulnerable Code
bash # SKILL.md:206-207 skill-platform skills install card-image-builder-pro skill-platform gateway restartbash # SKILL.md:215 skill-platform skills install card-image-builder-promarkdown <!-- SKILL.md:269-270 --> | Pillow | Python library | Recommended | `pip install Pillow` | | Jinja2 | Python library | Optional | `pip install jinja2` (template rendering) |Technical Analysis
The instructions install external components without specifying immutable versions, package hashes, signatures, or a verified source registry. The audited project contains only
SKILL.md; it does not include the implementation ofcard-image-builder-proor the Python scripts referenced elsewhere in the document.Running
skill-platform skills install card-image-builder-protherefore retrieves and installs code outside the audited artifact. Because no version or digest is pinned, the content installed in the future may differ from the content that existed when this document was reviewed. The subsequent gateway restart may load and activate that unaudited component.The suggested
pip install Pillowandpip install jinja2commands similarly allow the package resolver to select mutable releases and transitive dependencies without hash verification. This creates exposure to registry compromise, dependency-resolution changes, malicious replacement releases, and package-source misconfiguration.No evidence establishes that the currently named packages are malicious. The vulnerability is the absence of controls ensuring that the installed code is the intended, reviewed code.
Attack Path
- An attacker compromises or influences a configured package registry, package release, distribution channel, ...[truncated 1537 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
card-image-builder-proto an immutable, reviewed version and, where supported, a cryptographic digest. - Explicitly identify and restrict installation to a trusted registry or repository.
- Verify package signatures or published checksums before installation and activation.
- Include the actual skill implementation in the audited artifact when feasible so its behavior can be reviewed directly.
- Replace unconstrained
pip installinstructions with a locked dependency file containing exact versions and hashes, such as:bash python3 -m pip install --require-hashes -r requirements.txt - Pin transitive dependencies through a reproducible lock file and regularly review updates before changing the lock.
- Require explicit user confirmation before restarting the gateway or activating newly installed code.
- Install and execute the skill using a least-privileged account in a sandbox with restricted filesystem, credential, and network access.
- Document provenance information for every external component, including its source, version, digest, and review date.
- Pin
