Back to skill

Security audit

Postmark

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent Postmark connector, but its setup and command examples create review-worthy local execution risks.

Review this skill before installing. It appears intended for legitimate Postmark work, but avoid running the documented one-line remote installers unless you independently trust and verify the oo CLI source. For actual Postmark actions, prefer passing JSON via a file and require explicit confirmation before sending emails, batch sends, or template changes.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (2)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:66
Finding

Unverified Remote Installer Download and Immediate Execution

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:29
Finding

Shell Command Injection Risk Through Inline JSON Payload Construction

Content
View full analysis
" --data '' --json ``` ### Technical Analysis The documented invocation places a generated JSON payload directly inside a single-quoted shell argument. JSON strings may legitimately contain apostrophes, particularly in email bodies, recipient names, template data, and other user-controlled Postmark fields. In a POSIX shell, an apostrophe terminates the single-quoted argument; subsequent shell metacharacters may then be interpreted as command syntax. If an agent constructs this command as shell text by replacing `` with untrusted content, a malicious value can escape the intended argument and append an unintended command. Quoting the payload with single quotes is therefore not a safe serialization boundary. The action placeholder must also be selected from the connector's documented action allowlist rather than accepted as arbitrary shell text. Although it appears inside double quotes, unsafe textual command construction can still permit shell expansion or malformed invocation. ### Attack Path 1. An attacker supplies content intended for a Postmark field, such as an email body or template value. 2. The content includes an apostrophe followed by shell syntax, for example a sequence designed to close the quoted JSON argument and introduce another command. 3. The agent serializes the content as JSON but interpolates the resulting JSON directly into the documented shell command. 4. The shell treats the apostrophe as the end of the `--data` argument. 5. The remaining attacker-controlled text is parsed as shell syntax. 6. The injected command executes locally with the privileges of the agent or user running the Skill. ### Impact Assessment Successful exploitation can result in arbitrary loc ...[truncated 458 chars]
Remediation
View remediation
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (2)

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

The skill instructs users to install software by piping a remote script directly into a shell (curl ... | bash). This creates a supply-chain execution risk: if the remote host, CDN, TLS termination, or install script is compromised, arbitrary code will execute immediately on the user's system without integrity verification or an opportunity for review.

Content

Scanner excerpt · SKILL.md (reported line 66)May include surrounding context.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description says to use this skill for "ANY Postmark request" and "Whenever a task involves Postmark," which is very broad and could match many ordinary mentions of Postmark without clarifying boundaries or exclusions. The file does not provide negative examples or tighter trigger constraints to distinguish when the skill should or should not activate.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.