Back to skill

Security audit

Pixelvault Upload

Security checks for vulnerabilities and agentic risk

Overview

This skill is a public image-upload helper, but it can expose images permanently and its execution/install instructions need careful review.

Install only if you are comfortable sending selected images to PixelVault as permanent public CDN URLs. Before using it, confirm each upload, inspect screenshots and diagrams for secrets or private data, avoid blindly passing user-provided paths through a shell, and prefer a pinned, locally scoped CLI installation where possible.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T09 · Insecure Skill Coding Practices

Error
Location
--folder <folder> # Multiple files (shell glob) pixelvault upload *.png --folder screenshots ``` ``` ### Technical Analysis The documented single-file command interpolates `$ARGUMENTS` directly into a shell command without quoting, validation, or an end-of-options delimiter. The `files` argument is user-controlled and may therefore contain shell metacharacters such as `;`, `&&`, command substitutions, redirections, or additional command-line options. If an agent follows these instructions using a shell, ...[truncated 1859 chars]:33
Finding

Shell Command Injection Through Unquoted User-Controlled Arguments

Content
View full analysis
--folder # Multiple files (shell glob) pixelvault upload *.png --folder screenshots ``` ``` ### Technical Analysis The documented single-file command interpolates `$ARGUMENTS` directly into a shell command without quoting, validation, or an end-of-options delimiter. The `files` argument is user-controlled and may therefore contain shell metacharacters such as `;`, `&&`, command substitutions, redirections, or additional command-line options. If an agent follows these instructions using a shell, shell syntax embedded in the supplied value can be interpreted as executable syntax rather than as a literal filename. Filenames beginning with `-` may also be parsed as unintended CLI options. Although glob expansion is an intended feature, directly combining arbitrary input with shell evaluation creates a command-injection boundary. The invocation should instead pass each validated path as a distinct process argument without invoking a shell. ### Attack Path 1. An attacker provides an upload request containing a crafted file argument, such as a filename followed by shell control operators and another command. 2. The agent substitutes that value into `pixelvault upload $ARGUMENTS`. 3. The command is executed through a shell. 4. The shell parses the injected metacharacters or command substitutions. 5. The injected command runs under the same operating-system account and privileges as the agent. Successful exploitation does not require a vulnerability in PixelVault itself because execution occurs during shell parsing, before or alongside CLI execution. ### Impact Assessment An attacker may execute arbitrary loca ...[truncated 616 chars]
Remediation
View remediation

T08 · Insecure Dependencies

Warning
Location
SKILL.md:19
Finding

Unpinned Global Installation of a Third-Party CLI Package

Content
View full analysis
Remediation
View remediation
`. - Record and verify package integrity information through a lockfile or equivalent trusted manifest. - Prefer a project-local dependency over a global installation so that the version and dependency graph are reproducible and scoped to the project. - Document the expected package publisher, registry, repository, and version so users can verify provenance. - Review the package and its transitive dependencies before approving version updates. - Where compatible with the package, disable lifecycle scripts during installation and explicitly review any required installation scripts before enabling them. - Never recommend installation with `sudo` or another elevated account. - Consider distributing the CLI through a signed, versioned artifact or a controlled internal registry with provenance and integrity enforcement. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (2)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill documentation does not clearly warn, before execution, that uploads create permanent public URLs that are globally accessible. In this context, the omission is dangerous because users may assume the upload is temporary, private, or limited to a collaboration context such as a PR or issue, leading to irreversible public exposure of sensitive images.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The trigger phrases are broad enough that the skill may be invoked in situations where a user did not explicitly intend to publish an image externally. Because this skill uploads files to a third-party service and returns permanent public CDN URLs, accidental invocation can cause unintended disclosure of screenshots, diagrams, or other sensitive visual artifacts.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.