Skip to content
Report library
Purpose / Other

Web Perf Skill Security Audit

What the author says it does (original text)

Audit, diagnose, or optimize website loading and interaction performance, Core Web Vitals, and Lighthouse performance scores.

Independent security check

Security risks found

Files checked
1
Risks found
2
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Optional setup example executes an unpinned remote npm package

Source references: 3
What we found

The example uses `npx -y chrome-devtools-mcp@latest`. `-y` accepts installation automatically and `@latest` changes over time, so the code eventually executed is not pinned to a reviewed version. The Skill limits this to user-requested, authorized setup, but that does not remove supply-chain risk from package updates or dependency compromise.

Why this matters

If the user adopts this configuration, starting the MCP server may download and execute the current package and its dependencies with the user's permissions. A malicious or compromised release could access files, tokens, or browser data available to that account.

This is an optional, conditional setup example: it applies only when the user requests setup and the configuration change is authorized. If used, `npx -y` can fetch and run `chrome-devtools-mcp@latest` without another confirmation; `latest` is not pinned to a reviewed version, so the executed code may change with future releases. The user can ask for a specific pinned version and evidence of package/version review.

SKILL.md:22In the instructionsOpen original file
If the user wants Chrome DevTools MCP setup, consult its [installation guide](https://github.com/ChromeDevTools/chrome-devtools-mcp#quick-start) and use the latest package version. Only change MCP configuration when setup is within the user's authorized scope; otherwise ask first. For clients using `command` and `args`, an example server entry is:
Show 2 other places
SKILL.md:24In the instructionsOpen original file
```json"chrome-devtools": {  "command": "npx",  "args": ["-y", "chrome-devtools-mcp@latest"]}```
SKILL.md:26In the instructionsOpen original file
"chrome-devtools": {  "command": "npx",  "args": ["-y", "chrome-devtools-mcp@latest"]}
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.No risks found
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.No risks found
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.Risks found: 1
Medium risk

Zero requests in one trace is treated as definitive evidence for removal

Source references: 3
What we found

The Skill calls an origin “definitively unused” after observing zero requests and recommends removal, while also directing the auditor to state findings definitively. A single page load may not cover other routes, login states, consent choices, device conditions, error handling, or delayed interactions, so the conclusion can exceed the tested scope.

Why this matters

If the user follows the recommendation and removes the preconnect configuration, loading performance may regress in untested scenarios. The Skill only asks for a recommendation; configuration changes occur only if the user later adopts it.

The skill says to verify before recommending removal, but it also treats zero observed requests as proof that an origin is definitively unused. That establishes only that no request appeared during the observed load, not that other pages, login states, consent choices, device conditions, or later-triggered features never use it. Removing the preconnect on that basis could hurt untested scenarios; the user can require conclusions to be scoped to tested cases and removal advice to follow checks across key paths.

SKILL.md:33In the instructionsOpen original file
- **Be assertive**: Verify claims by checking network requests, DOM, or codebase—then state findings definitively.- **Verify before recommending**: Confirm something is unused before suggesting removal.- **Quantify impact**: Use estimated savings from insights. Don't prioritize changes with 0ms impact.
Show 2 other places
SKILL.md:126In the instructionsOpen original file
5. **Large payloads**: Uncompressed or oversized JS/CSS bundles6. **Unused preconnects**: If flagged, verify by checking if ANY requests went to that origin. If zero requests, it's definitively unused—recommend removal. If requests exist but loaded late, the preconnect may still be valuable.
SKILL.md:114In the instructionsOpen original file
List all network requests to identify optimization opportunities:```list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"])```
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

7 instruction sections

The Skill first discovers available browser and performance tools. If tracing is unavailable, it continues with limited analysis and identifies measurements it could not collect.

View source
SKILL.md:20In the instructionsOpen original file
Discover available browser and performance tools before starting. Use the capabilities available for the requested audit. If trace tools are unavailable, continue any useful source or network analysis and state which measurements could not be collected.

Its main workflow opens the user-specified URL, reloads it while recording a performance trace, and inspects requests for scripts, stylesheets, documents, fonts, and images. The target URL and resulting requests are therefore exposed to the browser tooling and remote site as a normal part of the audit.

View source
SKILL.md:66In the instructionsOpen original file
1. Navigate to the target URL:   ```   navigate_page(url: "<target-url>")   ```2. Start a performance trace with reload to capture cold-load metrics:   ```   performance_start_trace(autoStop: true, reload: true)   ```
SKILL.md:114In the instructionsOpen original file
List all network requests to identify optimization opportunities:```list_network_requests(resourceTypes: ["Script", "Stylesheet", "Document", "Font", "Image"])```

When codebase access is available, the Skill also reads configuration files, package.json, build scripts, and source patterns to identify frameworks and optimization opportunities; it says to skip this phase for third-party sites without code access.

View source
SKILL.md:146In the instructionsOpen original file
## Phase 5: Codebase Analysis**Skip if auditing a third-party site without codebase access.**Analyze the codebase to understand where improvements can be made.
SKILL.md:168In the instructionsOpen original file
Also check `package.json` for framework dependencies and build scripts.

The intended output is a performance-metric summary, prioritized issues, specific remediation advice, and optional codebase findings; the provided text does not instruct the Skill to implement those fixes automatically.

View source
SKILL.md:194In the instructionsOpen original file
## Output FormatPresent findings as:1. **Core Web Vitals Summary** - Table with metric, value, and rating (good/needs-improvement/poor)2. **Top Issues** - Prioritized list of problems with estimated impact (high/medium/low)3. **Recommendations** - Specific, actionable fixes with code snippets or config changes4. **Codebase Findings** - Framework/bundler detected, optimization opportunities (omit if no codebase access)
Start here · InstructionsSKILL.md
web-perf
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Connect to websites
SKILL.md:14In the instructionsOpen original file
|--------|----------------|---------|| web.dev | `https://web.dev/articles/vitals` | Core Web Vitals thresholds, definitions || Chrome DevTools docs | `https://developer.chrome.com/docs/devtools/performance` | Tooling APIs, trace analysis |
SKILL.md:15In the instructionsOpen original file
| web.dev | `https://web.dev/articles/vitals` | Core Web Vitals thresholds, definitions || Chrome DevTools docs | `https://developer.chrome.com/docs/devtools/performance` | Tooling APIs, trace analysis || Lighthouse scoring | `https://developer.chrome.com/docs/lighthouse/performance/performance-scoring` | Score weights, metric thresholds |
SKILL.md:16In the instructionsOpen original file
| Chrome DevTools docs | `https://developer.chrome.com/docs/devtools/performance` | Tooling APIs, trace analysis || Lighthouse scoring | `https://developer.chrome.com/docs/lighthouse/performance/performance-scoring` | Score weights, metric thresholds |
Lines read
202
File checksum (to compare versions)
9730f7964571e79d60a25c3424445d20a6af282ed8e275037d9f8d43fdc0ed5f