Back to skill

Security audit

Emailelevate

Security checks for vulnerabilities and agentic risk

Overview

Review recommended because the skill is mostly an email-marketing guide, but it asks for broad marketing-service credentials and describes high-impact external actions without tight scoping or confirmation rules.

Install only if you are comfortable giving an agent access to email-marketing accounts and customer/subscriber data. Configure only the one provider key needed for the task, use least-privilege tokens, and require explicit approval before sending campaigns, changing lists or tags, syncing CRM/ecommerce data, exporting reports, or posting to Slack.

Vulnerability Patterns
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
  • 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
Findings (1)

T05 · Unauthorized Access and Privilege Escalation

Warning
Location
SKILL.md:9
Finding

Excessive API Credential Requirements Violate Least Privilege

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 9-11 and 191-197
Vulnerability Type: Excessive credential exposure and privilege scope
Risk Level: Medium

Vulnerable Code

json
"requires": {
  "env": ["MAILCHIMP_API_KEY", "CONVERTKIT_API_KEY", "ACTIVECAMPAIGN_API_KEY", "SENDGRID_API_KEY"],
  "bins": ["curl", "jq"]
}
bash
# Email Service Provider APIs (choose at least one)
export MAILCHIMP_API_KEY="your_mailchimp_api_key_here"
export CONVERTKIT_API_KEY="your_convertkit_api_key_here"
export ACTIVECAMPAIGN_API_KEY="your_activecampaign_api_key_here"
export ACTIVECAMPAIGN_URL="https://youraccount.api-us1.com"
export SENDGRID_API_KEY="your_sendgrid_api_key_here"

Technical Analysis

The skill metadata declares API keys for four independent email providers as required environment variables, while the configuration instructions state that the user only needs to choose at least one provider. This inconsistency encourages or requires the runtime to receive credentials unrelated to the selected operation.

API credentials for email marketing platforms can authorize sensitive operations such as reading subscriber information, modifying audience lists, creating campaigns, and sending email. Supplying every provider credential to one skill runtime violates the principle of least privilege and unnecessarily expands the credential exposure surface.

The repository contains no executable implementation, so direct credential theft or misuse by this skill was not demonstrated. Exploitation would require another compromised or untrusted component to gain access to the same process environment.

Attack Path

  1. A user follows the metadata requirements and configures credentials for all four supported providers.
  2. The skill runtime exposes those credentials as environment variables, even though a requested task uses only one provider.
  3. A compromised co-located skill, runtime compon ...[truncated 1059 chars]
Remediation
View remediation

Remediation Suggestions

  1. Remove the aggregate requirement for all provider API keys from the skill metadata.
  2. Require only the credential for the provider explicitly selected by the user.
  3. Implement provider-specific configuration profiles so credentials are injected on demand rather than globally.
  4. Use narrowly scoped API tokens that authorize only the operations necessary for the requested workflow.
  5. Keep credentials in an approved secret manager and inject them only into the process performing the relevant API request.
  6. Prevent secrets from appearing in generated output, command histories, logs, diagnostics, or error messages.
  7. Document token rotation and immediate revocation procedures.
  8. Validate the selected provider before requesting credentials and reject ambiguous workflows rather than loading every available key.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Description-Behavior Mismatch

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The manifest promises 'lead scoring with Slack alerts & Google Sheets updates,' but the body documents a different 'EmailElevate' email-marketing automation skill. This mismatch can cause the agent or user to invoke the skill under false assumptions, leading to unintended actions against external services and data flows that were not clearly consented to.

Content

No source excerpt is available for this finding.

Ae1

High
Category
analysis-evasion
Confidence
100% confidence
Finding

Referenced artifact was not completely inspected

Content

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

md
"files": ["SKILL.md"],

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The manifest and body describe materially different intents: one suggests lead-scoring with Slack/Sheets, while the other is a generic email automation platform. This ambiguity is dangerous because it undermines trust boundaries and can mislead users or orchestration logic about what external actions the skill may perform.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The invocation description is so broad that it could match many ordinary email-marketing tasks, encouraging the agent to select this skill even when the user did not intend to authorize its external integrations. In an automated system, overbroad routing can trigger actions involving mailing lists, analytics, or messaging platforms without sufficiently specific user intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill quickly moves into sending campaigns, syncing subscriber data, posting analytics to Slack, and exporting reports without a prominent warning about external side effects, privacy exposure, or irreversible actions. Because this skill handles marketing data and outbound communications, omission of up-front consent and safety boundaries raises the risk of unauthorized messaging, data leakage, and compliance violations.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The documented capabilities expand well beyond the stated purpose into CRM sync, e-commerce triggers, content publishing, dashboards, and broad third-party integrations. Overstated scope increases the chance of overbroad invocation and excessive access to user systems or data, especially in agent environments that may select skills based on natural-language descriptions.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.