Back to skill

Security audit

Paper Parse

Security checks for vulnerabilities and agentic risk

Overview

This paper-analysis skill is coherent, but it asks agents to fetch and parse arbitrary PDF URLs without clear safety limits, so it should be reviewed before use.

Install only if you are comfortable with the agent downloading and processing paper URLs you provide. Prefer trusted academic domains or uploaded PDFs, avoid private/internal URLs and sensitive unpublished papers, and delete generated temporary or report files when they are no longer needed.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:23
Finding

Unrestricted User-Controlled URL Retrieval May Enable Server-Side Request Forgery

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 23
Vulnerability Type: Server-Side Request Forgery through unrestricted URL retrieval
Risk Level: Medium

Relevant instruction translated into English:

markdown
### Step 1: Read the Full Paper

Use the `pdftotext` command or the `read` action of the `file` tool to extract the full text of the paper. For papers supplied through a URL, first attempt to download the PDF and then extract it. Coverage must include everything from the abstract through the references. For papers containing important figures or tables, use the `view` action of the `file` tool to inspect the relevant pages and save the figure or table information to a text file.

Technical Analysis

The workflow instructs the agent to download content from a user-supplied URL without specifying any URL validation or network-access restrictions. It does not restrict schemes to HTTPS, reject loopback or private-network destinations, prevent DNS rebinding, validate each redirect destination, limit download size, or verify that the retrieved object is genuinely a PDF before further processing.

An attacker could provide a URL targeting a service reachable from the agent but inaccessible externally, such as a loopback interface, private network host, link-local endpoint, or cloud instance metadata service. Redirects or attacker-controlled DNS records could also be used to bypass validation if checks are performed only on the initial URL. Oversized or non-PDF responses could cause resource exhaustion or unsafe downstream parser behavior.

Exploitability depends on the capabilities and network privileges of the downloader selected by the host agent. The Skill does not itself contain executable download code or instructions to disclose retrieved content to a third party.

Attack Path

  1. An attacker asks the Skill to analyze a paper hosted at an attacker-selected URL.
  2. The URL points directly, ...[truncated 1238 chars]
Remediation
View remediation

Remediation Suggestions

  • Accept only https:// URLs and explicitly reject local-file and other non-HTTP schemes.
  • Parse and canonicalize the URL with a well-tested URL library before making a request.
  • Resolve the hostname and reject loopback, link-local, private, multicast, reserved, unspecified, and cloud metadata address ranges for both IPv4 and IPv6.
  • Repeat hostname resolution and destination validation for every redirect, and impose a strict redirect limit.
  • Protect against DNS rebinding by ensuring the validated address is the address used for the connection.
  • Where practical, allow downloads only from approved academic publishers, repositories, or object-storage domains.
  • Apply strict connection, read, and total-operation timeouts.
  • Enforce maximum response and extracted-file sizes before buffering or processing content.
  • Require an expected PDF content type and verify the PDF file signature before invoking extraction or viewing tools.
  • Store downloads in a uniquely created, permission-restricted temporary directory and delete them after processing.
  • Run document parsers with minimal privileges and without unnecessary network access.
  • Avoid including retrieved internal content in reports when destination validation fails, and log blocked requests without recording sensitive response bodies.
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • 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
Findings (8)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The invocation description is extremely broad: it applies to 'any academic paper' and triggers on common intents like analysis, interpretation, or summarization without clear scope boundaries or exclusion conditions. This can cause unintended activation when a user casually asks for help understanding a paper rather than explicitly invoking this specific skill.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The description and required output naming/content conventions are in Chinese, indicating a fixed language/locale expectation for the skill's behavior. Because no user opt-in or alternative language option is provided, this may violate language/locale policy requirements.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The skill instructs the agent to download PDFs from arbitrary URLs and extract their contents without disclosing network access or validating the source. This can lead to unexpected outbound requests, retrieval of attacker-controlled content, or processing of untrusted files, increasing exposure to SSRF-like behavior, malicious documents, or privacy surprises for users.

Content

No source excerpt is available for this finding.

Vague Triggers

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The file describes when the skill should be used, but it does not define non-trigger cases or boundaries such as brief Q&A, single-section explanation, or non-paper documents. Without those constraints, the trigger scope remains ambiguous and may overlap with ordinary research-assistance requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

The workflow requires creating temporary and final files but does not tell users that their paper contents and derived analysis may be stored locally. This can create avoidable data-retention and privacy risks, especially if papers are unpublished, proprietary, or contain sensitive material.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The mandated filename pattern [论文简称]_研读报告.md assumes Chinese output conventions and does not allow for user-selected locale. This is a natural-language policy concern because it imposes a specific language format regardless of user preference.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The template title and instruction text require output in Chinese ('深度专业学术速读报告' and '严格按照以下结构输出') while not offering any language or locale choice. This can violate a language/locale policy when users have not opted into Chinese output.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
98% confidence
Finding

This markdown template is entirely written in Chinese and instructs output in that language, but it does not offer a language choice or explain that the skill is intentionally region- or locale-specific. Under the policy rule for natural-language violations, forcing a specific language without opt-in is a reportable issue.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.