T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party Package Installation
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, line 4
Vulnerability Type:T08: Insecure Dependencies
Risk Level: MediumVulnerable Code Snippet:
yaml metadata: {"clawdbot":{"emoji":"📄","requires":{"bins":["nano-pdf"]},"install":[{"id":"uv","kind":"uv","package":"nano-pdf","bins":["nano-pdf"],"label":"Install nano-pdf (uv)"}]}}Technical Analysis
The installation configuration retrieves the third-party
nano-pdfpackage by name without specifying an exact version, integrity hash, signature, or locked transitive dependency set. Consequently, the package version installed can change after this Skill has been reviewed.No evidence in the audited files establishes that the current PyPI package is malicious. However, the unpinned installation creates a supply-chain exposure: compromise of the package publisher account, publication of a malicious future version, or compromise of a transitive dependency could introduce code that was not included in this audit. Python packages may execute code during installation or when their command-line entry points are invoked.
Attack Path
- An attacker compromises the
nano-pdfpublishing account, its release pipeline, or one of its dependencies and publishes a malicious release. - A user or Agent installs this Skill in an environment where
nano-pdfis absent. - The installer resolves
package: "nano-pdf"to the attacker-controlled release because no exact version or integrity constraint is present. - Malicious package code executes during installation or when the documented
nano-pdf editcommand is invoked. - The code operates with the privileges and filesystem access of the installing or invoking process.
Impact Assessment
Successful exploitation could provide arbitrary code execution under the Agent or user's account. The resulting access may include the ability to read or modify PDFs supplied for editing, access other files availa ...[truncated 379 chars]
- An attacker compromises the
- Remediation
View remediation
Remediation Suggestions
- Pin
nano-pdfto a specific, reviewed version rather than resolving the latest available release. - Verify package artifacts with approved cryptographic hashes or signatures.
- Use a lock file or equivalent mechanism to constrain and verify all transitive dependencies.
- Review the selected package version, release provenance, installation hooks, and command-line entry point before approval.
- Install and execute the dependency in a sandbox or container with minimal filesystem permissions, restricted network access, and no unnecessary credentials.
- Establish an explicit update process in which new versions are reviewed and their hashes updated deliberately rather than being adopted automatically.
- Pin
