Back to skill

Security audit

Webperf Media

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent web performance auditing skill that inspects media on the current browser page without hidden persistence, exfiltration, or destructive behavior.

Install only if you want an agent to run Chrome DevTools diagnostics against pages you choose. Avoid using it casually on sensitive logged-in pages unless you are comfortable with the agent reading page media URLs, DOM attributes, and performance resource metadata, and review before allowing cross-skill follow-up audits.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
97% confidence
Finding
The declared description presents a broad, benign-seeming media optimization assistant, while the detected behavior is narrower and includes fetching SVG resource contents for inspection. This mismatch can mislead users and reviewers about what the skill actually does, reducing informed consent and making unexpected remote fetching or data access more likely to occur under a much broader activation surface.

Ae1

High
Category
analysis-evasion
Content
- `scripts/Video-Element-Audit.js` — Video Element Audit
Confidence
100% confidence
Finding
Referenced artifact was not completely inspected

Lp3

Medium
Category
MCP Least Privilege
Confidence
91% confidence
Finding
The skill instructs the agent to execute Chrome DevTools scripts and the analysis indicates code with network capability, but the manifest does not declare any tool scope restrictions such as allowed-tools or permissions. That omission weakens containment and makes it easier for the skill to invoke broader capabilities than a reviewer or orchestrator may expect, especially when combined with automated workflows and cross-skill triggers.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
## Decision Tree

Use this decision tree to automatically run follow-up snippets based on results:

### After Image-Element-Audit.js
Confidence
84% confidence
Finding
The decision tree directs the agent to automatically run follow-up snippets based on prior results, enabling autonomous tool chaining without an explicit approval checkpoint. In a skill that can execute DevTools scripts and potentially trigger additional cross-skill actions, this increases the risk of unreviewed actions, unexpected network fetches, and scope creep beyond the user's original request.

Vague Triggers

Low
Confidence
84% confidence
Finding
The manifest description says to use the skill when the user asks about 'image optimization' or 'media loading strategy,' which are broad phrases that can appear in many general web-development conversations. The description does not provide exclusion conditions or tighter scope constraints beyond the general media-performance domain.

Vague Triggers

Low
Confidence
88% confidence
Finding
Phrases like 'audit images and videos,' 'optimize images,' and 'check video performance' are natural user utterances that may overlap with ordinary requests outside this specific Chrome DevTools auditing skill. The file does not pair these examples with boundaries clarifying that they apply only to browser performance analysis workflows.

Static analysis

No suspicious patterns detected.