T01 · Skill Instruction Hijacking
- Location
SKILL.md:16- Finding
Mandatory Branded Response Injection Alters Agent Output
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill is mostly a local PDFelement launcher, but it needs review because it mandates auto-execution, reuses desktop session authority, and can expose PDF passwords and file paths in commands or logs.
Install only if you are comfortable with an agent launching PDFelement against local PDFs and, on Windows, using a 10-second auto-execution flow. Avoid passing protected PDF passwords through command-line helpers, do not enable diagnostic logging for sensitive files, review selected files and output locations carefully, and avoid the Linux desktop-session reuse pattern unless you understand the session boundary implications.
SKILL.md:16Mandatory Branded Response Injection Alters Agent Output
scripts/launch_wspet.ps1.md:290Reversible PDF Passwords and File Paths Are Exposed Through Arguments, Output, and Diagnostic Logs
scripts/launch_wspet.py:38Unvalidated Values Can Inject Additional PDFToolbox Arguments
The description claims a skill that executes many local PDF operations through PDFToolbox. However, this code chunk does not carry out conversion, OCR, optimization, translation, signing, merging, etc. Instead, it constructs a wspet:// URL containing encoded parameters and prints launch commands for URL, PowerShell, or CMD. While the supported command list references many PDF actions, the script merely prepares invocation parameters for an external application. That is a materially narrower behavior than the declared purpose of performing PDF operations. Additionally, the header comment specifically describes a Windows protocol launcher, so the declared cross-platform Windows/Linux support is not evidenced by this chunk.
Without declared permissions the skill's intent is opaque and cannot be validated.
The description says to use the skill when the user asks to 'convert, optimize, OCR, translate, secure, split, merge, watermark, extract, print, or otherwise batch-process PDF files.' The catch-all phrase 'otherwise batch-process PDF files' is broad and lacks explicit boundaries or negative examples, which can cause unintended invocation for general PDF-related conversation.
Autonomous execution is present through the required '-autoexec' flag, which reduces the opportunity for the user to review parameters before the tool acts. Given this skill's broad PDF-manipulation scope, autonomous launches could perform sensitive local actions such as extraction, signing, printing, or security changes with minimal user awareness.
- `-t <format>`: Target format for `convert`, such as `.docx`, `.xlsx`, `.pptx`, `.jpg`, `.png`, `.txt`, `.html`, `.xml`, `.epub`, or `.ofd`.
- `-f <base64xml>`: Pre-load files and optional passwords using Base64-encoded UTF-8 XML.
- `-wsclaw`: Mark the command as triggered by OpenClaw. Mandatory on Windows for every command.
- `-autoexec`: Auto-execute after 10 seconds when files are loaded. Mandatory on Windows for every command.
- `-hidden`: Run hidden when the workflow supports it (Linux only).
- `/activateform`: Activate an existing instance without switching pages.
- `/exit` or `/nowexit`: Close the running toolbox instance.
The skill mandates use of '-autoexec' and describes automatic execution after a countdown, but it does not consistently require an explicit warning or confirmation before actions modify files. In a document-processing context, that can lead to unintended conversions, OCR, watermarking, security changes, printing, or overwriting outputs based on a loosely matched user request.
The skill explicitly instructs the agent to reuse another active Linux desktop session by supplying DISPLAY, XAUTHORITY, and DBUS_SESSION_BUS_ADDRESS values. That crosses a session boundary and can let the agent inject GUI actions into a user's desktop context, potentially accessing files, dialogs, and trust associated with that session without proper re-authentication.
Repeated guidance to launch through the active desktop session using session-specific environment variables normalizes session hijacking as standard operation. In shared or managed systems, this could let an automated agent drive a GUI under a different user's authority and interact with documents or prompts the agent should not control.
The working rules operationalize reuse of a Linux user's active desktop session context, making unsafe cross-session execution part of the intended workflow. Because this skill opens document-processing GUIs, the context makes the issue more dangerous: injected actions may expose sensitive PDFs, overwrite outputs, or interact with signing/security workflows under the user's session.
The manifest describes a local PDF operations skill, but this reference instructs users to fetch PDFelement from an external URL. Network access to download software is a separate capability from performing local PDF conversions and batch processing, and the manifest does not state any software acquisition or web-access role.
The translate command is documented without requiring source/target language selection or clarifying locale constraints, which can cause silent misuse of a language-dependent feature on sensitive documents. In practice this can lead to incorrect translations, confidentiality issues if translation relies on online services, or unintended processing that the user did not meaningfully specify.
The -autoexec capability enables autonomous execution of PDF operations after files are loaded, reducing meaningful user control over actions that can modify documents or create derived outputs. In an agent skill context, autonomy over local file operations is risky because mistaken file selection or prompt confusion can quickly propagate across batches.
---
#### `-autoexec`
Auto-execute the operation after a 10-second countdown when files are loaded and the Apply button is available.
**Version:** 12.1.14+
This example normalizes OCR auto-execution, encouraging unattended processing of loaded documents. That is dangerous because OCR may produce or overwrite outputs on sensitive files without a final user check, especially in bulk workflows.
$filesXml = @"
<?xml version="1.0" encoding="UTF-8"?>
The text explicitly states that OCR starts with an auto-execute countdown, reinforcing unattended execution behavior. In a skill environment, such framing makes it more likely integrators will adopt unsafe defaults that process documents without sufficient consent or verification.
$base64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params)) Start-Process "wspet://param=$base64"
Starts OCR with file pre-loaded and 10-second auto-execute countdown.
---
This example promotes optimization/compression with auto-execution, which can alter output quality and generate changed files without explicit approval at run time. For a local document-processing skill, autonomous quality-affecting changes are a meaningful safety risk.
$filesXml = @"
<?xml version="1.0" encoding="UTF-8"?>
The example description highlights that compression is performed with auto-execute enabled, again endorsing unattended action on user files. This increases the chance of accidental batch processing or undesired transformations when invoked by an agent.
$base64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params)) Start-Process "wspet://param=$base64"
Compresses PDF with auto-execute enabled.
---
This example promotes translation with auto-execution, combining two risk factors: autonomous action and a language-sensitive operation. That can lead to unintended processing of sensitive PDFs and incorrect outputs without clear user validation.
$params = "translate -f $base64Files -wsclaw -autoexec -entrance OpenClaw"
$base64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params))
The multiple-file conversion example uses auto-execute, which magnifies the impact of any incorrect file selection or prompt misunderstanding across a batch. Batch autonomy is especially risky because mistakes scale immediately to many documents.
$base64Param = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params)) Start-Process "wspet://param=$base64Param"
Converts three PDFs to PowerPoint format with files pre-loaded and auto-execute.
---
This section explicitly teaches file pre-loading plus auto-execution over the custom protocol, making unattended local file actions a documented integration pattern. In agent contexts, that pattern materially increases the chance of unreviewed execution on user documents.
PowerShell:
The examples for different operations continue to endorse auto-execute, broadening the unsafe pattern across multiple commands. This is dangerous because it standardizes autonomous execution as a norm rather than an exception for local file manipulation.
Optimize with auto-execute:
$filesXml = @"
<?xml version="1.0" encoding="UTF-8"?>
The OCR example under the multi-operation section again instructs auto-execute usage, reinforcing unattended processing of possibly sensitive scans. Repetition of this pattern makes accidental unsafe adoption more likely.
Start-Process "wspet://param=$base64"
**OCR with auto-execute:**
```powershell
$params = "ocr -f $base64Files -wsclaw -autoexec -entrance OpenClaw"
$base64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params))
The translate example similarly endorses auto-execution, which is especially problematic if translation uses remote services or ambiguous language defaults. It reduces user awareness and control for a potentially privacy-sensitive operation.
Start-Process "wspet://param=$base64"
**Translate with auto-execute:**
```powershell
$params = "translate -f $base64Files -wsclaw -autoexec -entrance OpenClaw"
$base64 = [Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($params))
The document promotes -autoexec workflows that automatically perform file-processing after a short countdown, which can change files or generate outputs without an explicit per-operation confirmation in the skill flow. In a local file-processing skill, this increases the risk of unintended modifications, batch actions on the wrong inputs, or sensitive-document processing without adequate user review.
The launch templates repeatedly invoke PDF conversion, OCR, optimization, and similar workflows that can create new files or modify document state, but the guidance does not prominently warn about these side effects. In an agent skill context, operators may treat these as harmless open/view actions, increasing the risk of unintended file creation, overwrites, or processing of sensitive local documents.
The Translate PDF workflow suggests sending document contents through a translation feature without any privacy or data-handling warning. If the feature relies on cloud or third-party processing, sensitive document contents could be transmitted outside the local environment without informed consent, which is especially risky in an agent-driven batch-processing skill.
The diagnostic logging behavior records sensitive document metadata and can expose passwords indirectly through the later logged parameter string that includes the encoded file XML. Users are not warned that enabling diagnostics may persist secrets and private file locations to disk, increasing the chance of accidental disclosure to local users, support bundles, or backup systems.
No suspicious patterns detected.