Back to skill

Security audit

Email Compatibility

Security checks for vulnerabilities and agentic risk

Overview

This skill is a coherent HTML email compatibility checker with disclosed, purpose-aligned network refresh and local caching behavior.

Before installing, understand that normal use may contact caniemail.com and store a local dataset cache for faster or offline checks. Use --offline if you want to avoid network access, and only pass email template files you are comfortable having a local linting tool read.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (10)

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
`scripts/caniemail.mjs` queries the caniemail.com dataset. Node 22+ and nothing
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Intent-Code Divergence

Medium
Confidence
95% confidence
Finding
At L020-L022, the file says the script 'works offline against a bundled dataset snapshot' and emphasizes 'Node 22+ and nothing else, with no dependencies and no install step.' Later, L178-L181 describes network fetching, caching, and explicit live refresh behavior. That is not merely incomplete detail; it creates an actively misleading picture of the tool's runtime behavior and data sources.

Context-Inappropriate Capability

Medium
Confidence
89% confidence
Finding
The skill's stated purpose is checking email client compatibility using caniemail-backed data, but the implementation accepts an arbitrary dataUrl and fetches from it. Supporting custom mirrors may be operationally useful, yet it expands the skill into a general remote JSON retrieval capability not justified by the manifest text.

Description-Behavior Mismatch

Medium
Confidence
92% confidence
Finding
The manifest frames the skill as writing/verifying HTML email and reporting compatibility issues backed by caniemail data, but this core file also fetches data from caniemail.com or arbitrary mirrors and persists it in a shared disk cache. While using support data is expected, the manifest does not disclose ongoing network access and filesystem cache writes as part of the skill's behavior.

Intent-Code Divergence

Low
Confidence
76% confidence
Finding
The manifest describes a rendering-compatibility skill backed by caniemail.com data, which is compatible with network use, but the main usage section at L020-L022 strongly frames the script as offline-only. The later data-freshness section introduces live fetching and caching. This documentation split creates intent ambiguity about whether users should expect network access during normal use.

Static analysis

No suspicious patterns detected.