T08 · Insecure Dependencies
- Location
SKILL.md:4- Finding
Unpinned Third-Party Executable Dependency
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 4 and 12–18
Vulnerability Type: Unpinned third-party package installation
Risk Level: MediumVulnerable Code
yaml homepage: https://pypi.org/project/nano-pdf/ metadata: { "openclaw": { "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
nano-pdffrom PyPI without specifying an exact audited version, cryptographic hash, signature, or lockfile. Dependency resolution may therefore select a future or otherwise different release from the artifact originally assessed.The skill subsequently instructs the agent to execute the installed
nano-pdfbinary against user documents. Because package installation and execution transfer trust to externally maintained code, a compromised package release or distribution channel could cause arbitrary package-controlled code to run locally.This is a supply-chain weakness, not evidence that the current
nano-pdfpackage is malicious.Attack Path
- An attacker compromises the upstream package, a maintainer account, or the relevant distribution path and publishes a malicious release.
- A user installs the skill dependency through the unpinned
uvpackage specification. - The resolver selects the attacker-controlled release because no exact version or integrity constraint is enforced.
- The agent invokes
nano-pdf editas directed by the skill. - Malicious package code executes with the privileges and environment access of the agent process.
Impact Assessment
Successful exploitation could permit arbitrary code execution within the privileges of the account running the agent. The ...[truncated 358 chars]
- Remediation
View remediation
Remediation Suggestions
- Pin
nano-pdfto an exact version that has been reviewed and tested. - Enforce package integrity with cryptographic hashes, signed artifacts, or a fully locked dependency manifest.
- Review the resolved package artifact and its transitive dependencies before deployment.
- Configure automated dependency monitoring while requiring explicit review before changing the pinned version.
- Install and execute the package in a sandbox or isolated environment with access limited to the intended input and output files.
- Restrict network access and prevent unnecessary exposure of credentials and sensitive environment variables during execution.
- Document the trusted package source and fail closed if version or integrity verification does not succeed.
- Pin
