Back to skill

Security audit

Paddle

Security checks for vulnerabilities and agentic risk

Overview

The Paddle workflow has clear safeguards, but its automatic setup can execute unchecked remote code and introduce broader agent changes without clear user control.

Review setup before installing. Install a reviewed, fixed CLI release yourself and inspect or disable its managed-skill synchronization rather than allowing the automatic installer fallback. Connect only the intended Paddle account with necessary permissions, understand that OOMOL handles its credentials and requests, and retain approval for business-data changes. The external installers and hosted connector were not verified; no malicious behavior was established in the submitted artifact.

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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Output HandlingUnvalidated Output Injection, Cross-Context Output, Unbounded Output
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (5)

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding

The provided code executes an Oomol-hosted installation script rather than performing the declared Paddle operations. Although dependency installation can be a supporting implementation detail, this chunk establishes no relationship between that installer and Paddle. The remote script's contents are unavailable, so its further effects cannot be determined.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

High
Category
MCP Tool Poisoning
Confidence
90% confidence
Finding

Authentication can support an integration, but the supplied chunk contains no Paddle-specific configuration, resource access, or operations connecting this login to the declared purpose. Its demonstrated behavior is an authentication action, not the advertised Paddle functionality.

Content

No source excerpt is available for this finding.

External Script Fetching

High
Category
Supply Chain
Confidence
98% confidence
Finding

Piping a mutable HTTPS installer directly into Bash executes remote content without a prior integrity or authenticity check beyond transport security. Compromise of the distribution endpoint could expose local files and credentials or alter the environment; its legitimate role as CLI setup does not remove that supply-chain risk.

Content

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

The fallback setup executes downloaded installation scripts without warning about running remote code or modifying the local system.

Medium
Category
Output Handling
Confidence
95% confidence
Finding

The fallback instructs the agent to execute downloaded shell or PowerShell code without requiring informed approval for local installation. A compromised installer source could execute arbitrary commands with the agent's privileges; the missing-CLI condition limits exposure but does not make installation safe.

Content

No source excerpt is available for this finding.

Autonomous Decision Making

Medium
Category
Excessive Agency
Confidence
80% confidence
Finding

Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Content

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

md
- **`OOMOL_INSUFFICIENT_CREDIT`** — OOMOL billing stop. Recharge at `https://console.oomol.com/billing/token-recharge` before retrying.

- **HTTP 402 without `OOMOL_INSUFFICIENT_CREDIT`** — the third-party account itself has no active plan or credit. Report the provider error message as is; do not ask the user to recharge OOMOL.

## Resources