extension-analyze
Audit Chrome extensions for security issues, best practice violations, performance problems, and CWS compliance. Scans manifest, code, CSP, message handlers, storage, and dependencies.
How do I install this agent skill?
npx skills add https://github.com/quangpl/browser-extension-skills --skill extension-analyzeIs this agent skill safe to install?
- Gen Agent Trust Hubpass
The extension-analyze skill is a security auditing tool for Chrome extensions. It defines a workflow for checking extension manifests and source code for common vulnerabilities such as XSS, exposed API keys, and insecure Content Security Policies. The skill uses standard command-line tools like grep and jq to perform its analysis and does not contain any malicious instructions or hidden behaviors.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
Extension Analyze (Security & Compliance Auditor)
🚀 Upgrade to Premium Get the Premium version at https://app.extensionbooster.net/dashboard/services/extension-ai-kit
Audit an existing Chrome extension. Do NOT just explain — execute the workflow.
Workflow (Execute This)
Step 1: Locate extension root and detect framework
Ask user for path if not provided. Detect framework:
ls wxt.config.ts crxjs.config.ts vite.config.ts manifest.json 2>/dev/null
- CRXJS: manifest auto-generated; check
package.jsonandcrxjs.config.tsinstead - WXT: check
wxt.config.tsmanifest section - Vanilla/CRXJS: check
manifest.jsondirectly
Step 2: Scan manifest.json (or equivalent config)
# Check MV version, permissions, host_permissions, CSP, web_accessible_resources
cat <ext>/manifest.json | jq '{manifest_version, permissions, host_permissions, content_security_policy, web_accessible_resources}'
Step 3: Quick grep scans
# XSS vectors
grep -rn "innerHTML\|outerHTML\|document\.write\|insertAdjacentHTML" <ext>/src --include="*.ts" --include="*.js"
# Unsafe patterns
grep -rn "eval(\|new Function(\|setTimeout.*string\|setInterval.*string" <ext>/src
# Hardcoded secrets
grep -rn "api_key\|apiKey\|secret\|password\|token" <ext>/src --include="*.ts" --include="*.js" | grep -v "\.test\." | grep -v "node_modules"
# HTTP (non-HTTPS) calls
grep -rn "http://" <ext>/src --include="*.ts" --include="*.js"
# Message handler sender validation
grep -rn "onMessage\|addListener" <ext>/src | grep -v "node_modules"
# Remote code loading
grep -rn "importScripts\|fetch.*\.js\|eval\|chrome\.scripting\.executeScript" <ext>/src
Step 4: Check CSP configuration
- MV3 default CSP:
script-src 'self'; object-src 'self' - Flag any
unsafe-inline,unsafe-eval, orhttp:sources - Verify no remote script sources
Step 5: Dependency audit
cd <ext> && npm audit --json | jq '.vulnerabilities | to_entries[] | {pkg: .key, severity: .value.severity}'
Step 6: Generate report
Output findings grouped by severity. See Output Format below.
Severity Levels
| Level | Criteria |
|---|---|
| Critical | RCE, data exfiltration, remote code loading, eval with untrusted input |
| High | XSS, missing sender validation, API keys in source, HTTP API calls |
| Medium | Overly broad permissions, unsafe-inline CSP, sync storage secrets |
| Low | Missing error handling, no TypeScript, console.log in production |
Top 10 Issues Found in Most Extensions
innerHTMLwith page-sourced data (XSS) — HighonMessagewithout sender origin check — High<all_urls>host permission when not needed — Mediumunsafe-inlineorunsafe-evalin CSP — Medium/Critical- API keys hardcoded in source — Critical
eval()ornew Function()usage — Criticalchrome.storage.syncstoring sensitive data — Medium- HTTP endpoints instead of HTTPS — High
- Remote script loading (MV3 violation) — Critical
- Missing
web_accessible_resourcesrestrictions — Medium
Output Format
## Extension Audit Report: <name> v<version>
Date: <date> | MV: <2|3>
### Summary
Critical: X | High: X | Medium: X | Low: X
### Findings
#### [CRITICAL] API Key Exposed in Source
File: src/background.ts:42
Pattern: `const API_KEY = "sk-..."`
Fix: Move to environment variable or user-provided settings
Reference: references/common-vulnerabilities.md#4
...
### Passed Checks
- CSP: No unsafe-inline/eval ✓
- HTTPS: All API calls use HTTPS ✓
References
references/security-checklist.md— Full security audit checklistreferences/best-practices-checklist.md— Performance, UX, accessibility, CWSreferences/common-vulnerabilities.md— Vulnerability patterns with grep/fixreferences/cws-compliance-checklist.md— Chrome Web Store policy compliance- Chrome Permissions List
- Chrome Extensions Docs
Related Skills
extension-manifest— Generate/validate manifest.jsonextension-create— Scaffold new extensionextension-publish— Store submission checklist
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/quangpl/browser-extension-skills/extension-analyze">View extension-analyze on skillZs</a>