Back to skill

Security audit

PDF to Text

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward PDF-to-text API skill, but submitted PDFs are sent to a third-party service.

Install only if you are comfortable sending PDFs or PDF URLs, plus receiving output through pdfapihub.com/CDN infrastructure. Do not use it for confidential, regulated, or customer-sensitive PDFs unless you have reviewed the provider’s data retention, access control, and compliance terms.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (7)

External Transmission

Medium
Category
Data Exfiltration
Content
## Example Usage
```bash
curl -X POST https://pdfapihub.com/api/v1/convert/pdf/txt \
  -H "CLIENT-API-KEY: your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "url": "https://pdfapihub.com/sample-pdfapi-intro.pdf", "output": "url" }'
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Description-Behavior Mismatch

Medium
Confidence
95% confidence
Finding
The example shows the skill sending a PDF to an external conversion service and returning a third-party hosted download URL. That creates a real data exposure risk because document contents leave the local trust boundary and may be stored, logged, or retained by the provider, which is broader than a simple local text-extraction expectation.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The implementation depends on a networked third-party processor and remote hosting, which introduces confidentiality, retention, and supply-chain risk not inherent to plain text extraction itself. If users process sensitive PDFs, their contents may be accessible to the external vendor or exposed through misconfigured storage or link sharing.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
This skill sends user-supplied PDF content or a PDF URL to a third-party external service, yet the manifest does not disclose that document contents leave the local environment. That creates a real privacy and data-governance risk, especially if users submit sensitive PDFs assuming processing is local or implicitly trusted.

Vague Triggers

Low
Confidence
77% confidence
Finding
This JSON manifest-like file defines request/response behavior but provides no explicit activation conditions, trigger phrases, or exclusion criteria. For manifest files, that lack of trigger specificity can allow ambiguous or unintended invocation because the scope of when this skill should run is not described at all.

Natural-Language Policy Violations

Low
Confidence
61% confidence
Finding
The file defines a fixed PDF-to-text conversion flow and output artifact without any visible user-selectable language or locale option. If this skill is intended for multilingual use, forcing a single implied text-processing behavior without opt-in may conflict with organizational language/locale choice expectations.

Vague Triggers

Low
Confidence
82% confidence
Finding
This manifest allows either a public URL or a base64-encoded file, but it does not clearly specify exclusivity, precedence, or invalid combinations. In a manifest file, missing trigger or input constraints can make invocation behavior overly broad or ambiguous for agents deciding when and how to call the skill.

Static analysis

No suspicious patterns detected.