Back to skill

Security audit

Nano PDF V2

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward wrapper for a PDF editing CLI, with the main caveat that it installs an unpinned third-party package.

Before installing, consider whether you trust the nano-pdf package source and prefer using a pinned, reviewed version in a sandboxed environment. Always review generated PDFs before sharing them, since the skill itself tells the agent to rely on an external PDF-editing tool.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
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: Medium

Vulnerable code:

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-pdf package from PyPI through uv without specifying an exact version or an expected artifact hash. Consequently, the installed package may change independently of this skill's reviewed contents.

The dependency's implementation is not included in the audited project, which contains only SKILL.md and _meta.json. Its installation-time and runtime behavior therefore cannot be verified from the available source. If the upstream account, package, release process, or package repository were compromised, a malicious release could be selected during a subsequent installation.

Attack Path

  1. An attacker compromises the upstream package publisher, release pipeline, or package-distribution channel.
  2. The attacker publishes a malicious version of nano-pdf.
  3. A user installs this skill's requirement through the unpinned uv package declaration.
  4. Dependency resolution selects the attacker-controlled release.
  5. Malicious package installation or runtime logic executes under the privileges of the user or agent invoking the package.

This attack path depends on an upstream supply-chain compromise; no direct evidence of malicious behavior in the current nano-pdf package was present in the audited files.

Impact Assessment

A compromised dependency could execute code with the permissions of the installing or invoking account. Depending on those permissions, potential effects include reading or modifying accessible files, altering PDF inputs or outputs, accessing environment-provided cr ...[truncated 206 chars]

Remediation
View remediation

Remediation Suggestions

  • Pin nano-pdf to a specific, reviewed version instead of allowing unconstrained resolution.
  • Use a lockfile or installation mechanism that verifies cryptographic hashes for the expected distribution artifacts.
  • Verify the package publisher, source repository, release provenance, and signatures where available.
  • Review the pinned dependency and its transitive dependencies before deployment.
  • Perform installation and execution in a sandbox or minimally privileged environment with restricted filesystem, credential, and network access.
  • Establish a controlled dependency-update process that requires security review before changing the pinned version or hashes.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep

Static analysis

No suspicious patterns detected.