Back to skill

Security audit

Sequenzy Email Marketing

Security checks across malware telemetry and agentic risk

Overview

This is a legitimate Sequenzy email-marketing guide, but it tells agents to perform a permanent campaign cancellation without a confirmation step in some situations.

Review this skill before installing if the agent will have access to production Sequenzy credentials. Use least-privilege API keys where possible, require explicit confirmation for sends, scheduling, deletes, cancellations, webhook changes, API-key creation or revocation, and avoid letting the agent act on ambiguous campaign or sequence IDs.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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 (6)

Missing User Warnings

Medium
Confidence
96% confidence
Finding
The landing-page section documents delete capability but omits any warning, confirmation requirement, or safer alternative despite this being an irreversible destructive action. In an agent-facing skill, missing guardrails materially increase the chance that an LLM or automation will delete production assets from a casual user request or from ambiguous instructions.

Missing User Warnings

Medium
Confidence
97% confidence
Finding
Sequence deletion is more dangerous than ordinary content deletion because sequences can be live automations tied to enrollments, triggers, and business workflows. Documenting delete without a warning or confirmation note encourages unsafe agent behavior and raises the risk of permanent disruption to marketing or transactional automations.

Missing User Warnings

High
Confidence
96% confidence
Finding
The skill explicitly instructs the agent to execute an irreversible `campaigns cancel` action immediately and only ask questions afterward. In an email-marketing context, that enables destructive state changes without validating user intent, target identity, or whether a safer reversible action like `pause` is more appropriate, creating a real risk of accidental business disruption.

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
91% confidence
Finding
no confirmation

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
- `campaigns get` now includes saved reply-to details when the campaign has a reply profile
- only draft campaigns can be updated through this API path
- there is no CLI command for immediate send; schedule with a near-future `--at` timestamp instead
- `cancel` works from scheduled, sending, paused, waiting_approval, and rejected statuses; it shows no confirmation prompt so a bad send can be stopped fast
- `pause` only works on a campaign in sending status; `resume` only works on a paused campaign
- `resume --spread-over-hours` accepts integers from 1 to 72 to spread the remaining delivery
- `delete` is blocked while the campaign is sending, scheduled, or paused; cancel it first
Confidence
92% confidence
Finding
no confirmation

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
94% confidence
Finding
no confirmation

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.