T08 · Insecure Dependencies
- Location
SKILL.md:31- Finding
Unpinned Third-Party Package and Mutable Repository Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 31–43
Vulnerability Type: Unpinned supply-chain dependencies and mutable global installation
Risk Level: Mediummarkdown 2. Check Node.js/npx, Python 3.9+, and `uv`. Explain any missing prerequisite before using its official installer. Do not use `sudo` or change unrelated system settings without permission. 3. Run: ```bash npx skills add Aidenwu0209/PaddleOCR-Skills --skill '*' -g -y ``` 4. Run `npx skills list -g --json` and confirm both `paddleocr-text-recognition` and `paddleocr-doc-parsing`, including their actual install paths.Technical Analysis
The installation command invokes the
skillsnpm package throughnpxwithout specifying an exact, verified package version. It also identifies the GitHub repository only by owner and repository name, without pinning installation to an immutable commit hash or verified release. The wildcard argument--skill '*'installs every skill present in the repository rather than limiting installation to the two documented OCR skills.These mutable references mean that the components executed or installed in the future may differ from those reviewed during this audit. The
-goption performs a user-global installation, while-ysuppresses interactive confirmation by the underlying installation workflow. This creates a supply-chain risk if the npm package, repository, maintainer account, or distribution channel is compromised or if unexpected skills are later added. The reviewed project does not establish that any current dependency is malicious; the finding concerns the unsafe trust and versioning model.Attack Path
- An attacker compromises the unpinned npm package, the referenced GitHub repository, or a maintainer account.
- The attacker publishes a modified CLI release, changes repository content, or adds another skill that contains attacker-controlled behavio ...[truncated 1362 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin the
skillsnpm CLI to an exact, reviewed version, for example by invoking a specific package version rather than allowingnpxto resolve the latest release. - Pin
Aidenwu0209/PaddleOCR-Skillsto an immutable, reviewed commit hash or cryptographically verified release tag. - Replace
--skill '*'with explicit installation of onlypaddleocr-text-recognitionandpaddleocr-doc-parsing. - Verify package integrity through lockfiles, published checksums, provenance attestations, or signatures where supported.
- Avoid unconditional non-interactive installation. Present the exact package version, repository revision, selected skills, and destination paths for user confirmation before making a global change.
- Prefer installation in a sandboxed or project-local environment when global availability is not essential.
- Document a trusted-version update process that requires review of dependency and repository changes before advancing pinned versions.
- After installation, verify that only the expected skill names and files were installed and report any unexpected additions as a failed installation.
- Pin the
