Back to skill

Security audit

Sequenzy

Security checks for vulnerabilities and agentic risk

Overview

This skill is mostly a disclosed Sequenzy operations guide, but it tells agents to perform a permanent campaign cancellation before asking clarifying questions.

Install only if you are comfortable with an agent operating an authenticated Sequenzy account. Require explicit human confirmation before campaign cancellation, deletion, API-key revocation, team changes, webhooks, integrations, or public publishing, and avoid including secrets or sensitive customer details in feedback reports.

Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
Findings (6)

Intent-Code Divergence

Medium
Confidence
94% confidence
Finding
The guidance instructs the agent to perform a permanent destructive action first and clarify intent afterward, which undermines consent and change-control safeguards. In an agentic setting, this increases the chance of accidental cancellation of legitimate campaigns based on ambiguous or incomplete user input.

Vague Triggers

Medium
Confidence
90% confidence
Finding
The skill explicitly says to use this generic skill whenever the user refers broadly to Sequenzy and no narrower skill is obviously better. That broad activation criterion can cause the agent to invoke a high-capability skill in ambiguous situations, increasing the chance of unintended access to mutating email-marketing, subscriber, campaign, and account-management operations. Because this skill exposes many destructive and external-effect actions, over-broad triggering materially raises misuse risk.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The default prompt tells the agent to use the Sequenzy skill for tasks generally and only says to choose the right workflow, but it does not constrain when the skill should or should not activate. In a generic compatibility guide, this broad invocation can cause the agent to route unrelated or sensitive tasks through the skill, increasing the chance of overreach, unintended actions, or misuse of Sequenzy-connected capabilities.

Missing User Warnings

High
Confidence
98% confidence
Finding
Recommending immediate permanent cancellation without upfront confirmation is dangerous because it authorizes an irreversible business action on potentially ambiguous instructions. A mistaken cancel can disrupt customer communications, revenue events, and operational timelines, with no easy rollback.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- segments `list`, `create`, `update`, `delete`, and `count`, including `--match any`, nested filter roots, custom event filters, and saved-segment composition filters
- templates `list`, `get`, `create`, `update`, and `delete`, with `list` supporting label filters and `create`/`update` accepting labels, raw HTML, or Sequenzy block JSON
- campaigns `list`, `get`, `create`, `update` including label and reply-to updates, `schedule`, and `test`, with `list` supporting label filters, `create` accepting labels plus raw HTML, Sequenzy block JSON, or prompt-generated content, `update` accepting labels plus raw HTML or Sequenzy block JSON, and `schedule` returning a review preview link; `create` and `schedule` both accept the audience via `--segment` or `--target-lists-json`/`--target-lists-file`
- campaign lifecycle control with `campaigns cancel` (stops scheduled, paused, waiting-approval, or sending campaigns immediately, no confirmation prompt), `campaigns unschedule` (returns a scheduled campaign or recurring series to draft), `campaigns pause` and `campaigns resume` for an active send (resume supports `--spread-over-hours`), `campaigns delete` (blocked while sending, scheduled, or paused - cancel first), and `campaigns duplicate` with `--mode campaign|ab_test|variant`
- campaign audience inspection with `campaigns audience`, true-to-send HTML previews with `campaigns render` / `templates render` / `sequences render` (subscriber or ad-hoc personalization, locale, tracking, `--out`), recurring sends with `campaigns schedule --repeat weekly|monthly`, and post-send re-engagement with `campaigns resend-to-non-openers`
- ab-tests `list`, `get`, `stats`, `restart`, `update-variant`, `create`, `add-variant`, `delete-variant`, and `delete`; create/add-variant/delete-variant/delete work on campaign A/B tests in draft status, variant A is the protected control, and `restart` reruns a finished sequence A/B test
- MCP template and campaign tools support labels on list/create/updat
...[truncated 25 chars]
Confidence
95% confidence
Finding
The skill documents autonomous execution of powerful lifecycle actions, including `campaigns cancel`, which 'stops ... sending campaigns immediately' and does so with 'no confirmation prompt.' In the context of an agent skill, this encourages direct execution of destructive business operations without a human approval gate, creating a real risk of accidental service disruption, canceled campaigns, data loss, or revenue impact from ambiguous or mistaken user requests.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- use `cancel` when the send should not continue at all; it is permanent and works from scheduled, sending, paused, waiting-approval, and rejected statuses
- use `pause` when the user wants to stop a send temporarily and may continue it; it only works while the campaign is in sending status
- use `resume` to continue a paused campaign, optionally spreading the remaining delivery with `--spread-over-hours` (1-72)
- `cancel` needs no `--yes` and shows no confirmation prompt, so it is the fastest way to stop a bad send; run it first and ask questions after when the user reports a mistake
- check `campaigns get` first when you are unsure of the current status; the API rejects transitions from the wrong status

MCP equivalents are `cancel_campaign`, `pause_campaign`, and `resume_campaign` (optional `spreadOverHours`).
Confidence
93% confidence
Finding
This line enables autonomous decision-making for a destructive operation by telling the agent to act without confirmation. In the context of campaign lifecycle controls, that autonomy is especially risky because the operation is permanent and can materially affect customers and business processes.

Static analysis

No suspicious patterns detected.