Back to skill

Security audit

Plausible Analytics

Security checks for vulnerabilities and agentic risk

Overview

This skill uses your Plausible API key to query website analytics and shows no hidden persistence, unrelated access, or destructive behavior.

Install this only if you want agents to use your PLAUSIBLE_API_KEY to query Plausible for site IDs you are authorized to access. Expect returned analytics such as visitors, pageviews, sources, pages, referrers, devices, browsers, operating systems, and countries to appear in agent output.

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
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (16)

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/stats.mjs example.com --period day
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/realtime.mjs <site-id>
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/realtime.mjs <site-id>
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/breakdown.mjs <site-id> <property> [--period day|7d|30d] [--limit N]
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/breakdown.mjs <site-id> <property> [--period day|7d|30d] [--limit N]
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/breakdown.mjs <site-id> <property> [--period day|7d|30d] [--limit N]
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/breakdown.mjs <site-id> <property> [--period day|7d|30d] [--limit N]
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Ae1

High
Category
analysis-evasion
Content
node scripts/breakdown.mjs <site-id> <property> [--period day|7d|30d] [--limit N]
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill requires environment access to an API key and performs network-backed analytics queries, but it does not declare an explicit tool scope such as permissions or allowed-tools. That creates an authorization ambiguity where an agent may invoke code with broader capabilities than the skill contract makes visible, reducing reviewability and increasing the chance of unintended secret use or outbound requests.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The documentation does not clearly warn that running the scripts sends site identifiers and authenticated requests to an external third-party service using the user's API key. In an agent context, this weakens informed consent and can cause users to expose sensitive business telemetry or query the wrong property without realizing data is being transmitted off-platform.

Vague Triggers

Low
Confidence
89% confidence
Finding
This markdown file includes a wide activation-style description covering many common intents such as checking visitors, analyzing sources, and generating reports. Without explicit trigger boundaries or exclusion examples, the skill could be invoked for a broad range of ordinary analytics requests beyond the author's intended scope.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/breakdown.mjs:20

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/realtime.mjs:10

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
scripts/stats.mjs:10