Back to skill

Security audit

PDFlux SaaS Markdown

Security checks for vulnerabilities and agentic risk

Overview

This skill does what it says: it uploads a user-selected document to PaodingAI/PDRouter to convert it to Markdown, so the main consideration is data privacy for sensitive files.

Install only if you are comfortable sending the selected document contents to PaodingAI/PDRouter for processing. Avoid using it on confidential, regulated, or proprietary documents unless your organization approves that service, and prefer a pinned or otherwise verified package source when installing.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The skill description and behavior do not prominently warn that local files are transmitted to an external API service for processing. This is dangerous because users or higher-level agents may treat the operation as a local conversion and unknowingly disclose confidential document contents, credentials, regulated data, or proprietary material to a third party.

Content

No source excerpt is available for this finding.

Missing User Warnings

High
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest instructs use of an external API with Bearer authentication for local PDF, DOCX, PPT, or image files, but provides no user-facing warning that local file contents will be transmitted off-system. In a document-processing skill, this is especially dangerous because uploaded files often contain sensitive business, legal, financial, or personal information, making accidental exfiltration to a third party a significant confidentiality risk.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
95% confidence
Finding

The skill invokes a Node.js script that uses environment variables and makes outbound network requests, but the manifest does not declare an explicit tool scope such as permissions or allowed-tools. This weakens policy enforcement and reviewability, making it easier for the skill to access sensitive inputs or exfiltrate local document contents without clear upfront disclosure or restriction.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The installation instruction uses an unpinned npx skills add PaodingAI/skills, which can fetch whatever package/version is current at execution time. This creates a supply-chain risk where a compromised upstream release or namespace change could deliver different code than was reviewed.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill is eligible for many broad document-processing tasks, including generic retrieval, extraction, and downstream analysis. Because the workflow uploads a local file to an external API, over-broad routing criteria increase the chance the agent sends sensitive documents off-host when a less invasive local method might have sufficed.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The default prompt says to "Always execute" the bundled script for one local document, creating a broad auto-activation behavior not clearly scoped to explicit user consent. This can cause the agent to transmit local files to an external service during loosely related tasks, increasing the risk of unintended data disclosure and surprise tool execution.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/upload_to_markdown.js:8