Back to skill

Security audit

PDF压缩工具(专业版)

Security checks for vulnerabilities and agentic risk

Overview

This PDF compression skill has an expected upload-based workflow, but it asks for broad agent tools and makes unsupported security and automation claims that users should review before installing.

Install only if you are comfortable sending target PDFs to the configured external API service. Do not use it for confidential, regulated, or client documents unless the provider, retention policy, access controls, and report handling are verified; also restrict any Bash use to explicit commands you approve.

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 (9)

Description-Behavior Mismatch

Medium
Confidence
89% confidence
Finding
The documentation advertises enterprise-grade security controls such as audit and encrypted handling, but the provided implementation only uploads files to a third-party API, polls status, and writes a plain JSON report. This mismatch can cause users to trust the skill with sensitive PDFs under false assumptions, leading to unintended disclosure or noncompliant handling.

Description-Behavior Mismatch

Medium
Confidence
82% confidence
Finding
The skill is framed as a PDF compression tool but expands into generic create/query/export/modify/delete capabilities unrelated to that purpose. Overbroad capability claims can justify excessive permissions or prompt the agent to perform actions outside user expectations, increasing misuse risk.

Description-Behavior Mismatch

Medium
Confidence
88% confidence
Finding
The skill claims callback notifications, scheduling, watch-directory automation, multi-format reporting, retries, and audit logging, but the example implementation does not provide them. Users may rely on missing controls and automations for sensitive workflows, causing security, privacy, or operational failures.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
Declaring generic command-execution capability in a PDF compression skill introduces unnecessary high-risk behavior beyond the stated business need. In an agent context, this can expand the blast radius from file processing to arbitrary system interaction if the skill is invoked loosely or composed with user-controlled inputs.

Intent-Code Divergence

Low
Confidence
78% confidence
Finding
The document says sensitive data is excluded from outputs, yet the example configuration and report generation include raw download links and serialize full result details directly. If those links expose uploaded documents or internal paths, outputs may leak access to processed files.

Vague Triggers

Medium
Confidence
76% confidence
Finding
The invocation example uses broad natural-language triggers that can overlap with ordinary conversation, making accidental activation more likely. In a skill that reads files, writes reports, invokes Bash, and uploads PDFs externally, unintended activation materially raises risk.

Vague Triggers

Medium
Confidence
75% confidence
Finding
Additional examples remain ambiguous and do not define strict activation boundaries. Because the skill includes external API upload and elevated tooling, vague triggers increase the chance of the agent interpreting normal discussion as authorization to process or transmit files.

Missing User Warnings

High
Confidence
96% confidence
Finding
The description does not clearly warn users that PDFs are uploaded to an external API service. This is dangerous because users may submit confidential documents without informed consent, creating privacy, legal, and compliance exposure; the risk is amplified by the tool's focus on file handling and external network access.

External Transmission

Medium
Category
Data Exfiltration
Content
def __init__(self, api_key: str, max_workers: int = 5):
        self.api_key = api_key
        self.max_workers = max_workers
        self.base_url = "https://api.example.com/solutions/solutions"
        self.results: List[CompressionResult] = []
# ...
    def _create_job(self, file_path: str, quality: int, dpi: int) -> dict:
Confidence
84% confidence
Finding
The code sends user-supplied PDF content to an external HTTPS endpoint, which is an intentional data transfer but still a security-relevant behavior. In this skill context, external transmission is expected for the feature, yet it remains dangerous if users are not clearly informed, if the endpoint is untrusted, or if sensitive documents are processed without safeguards.

Static analysis

No suspicious patterns detected.