Skip to main content

browser-extension-developer

Enables development of Chrome extensions using Manifest v3 for enhanced security and functionality with webhook integration.

Install this skill

or
0/100

Security score

The browser-extension-developer skill was audited on Feb 9, 2026 and we found 41 security issues across 3 threat categories. Review the findings below before installing.

Categories Tested

Security Issues

medium line 157

Template literal with variable interpolation in command context

SourceSKILL.md
157screenResolution: `${screen.width}x${screen.height}`,
medium line 184

Template literal with variable interpolation in command context

SourceSKILL.md
184? `\n\nBranch Scores:\n• Heuristics: ${response.branch_a_score}\n• Semantic: ${response.branch_b_score}\n• LLM Guard: ${response.branch_c_score}`
medium line 187

Template literal with variable interpolation in command context

SourceSKILL.md
187alert(`⚠️ Vigil Guard: Potential prompt injection detected!\n\nThreat Score: ${response.threat_score}\nCategories: ${(response.detected_categories || []).join(', ')}${branchInfo}`);
medium line 219

Template literal with variable interpolation in command context

SourceSKILL.md
219sessionId: `ext_${Date.now()}`
medium line 324

Template literal with variable interpolation in command context

SourceSKILL.md
324showStatus(`✅ Connected (v2.0.0) - Arbiter: ${result.arbiter_decision}`, 'success');
medium line 329

Template literal with variable interpolation in command context

SourceSKILL.md
329showStatus(`❌ Error: ${response.status}`, 'error');
medium line 332

Template literal with variable interpolation in command context

SourceSKILL.md
332showStatus(`❌ Connection failed: ${error.message}`, 'error');
medium line 343

Template literal with variable interpolation in command context

SourceSKILL.md
343const response = await fetch(`${baseUrl}/api/health/branches`);
medium line 359

Template literal with variable interpolation in command context

SourceSKILL.md
359status.className = `status ${type}`;
medium line 364

Template literal with variable interpolation in command context

SourceSKILL.md
364container.innerHTML = `
medium line 398

Template literal with variable interpolation in command context

SourceSKILL.md
398screenResolution: `${screen.width}x${screen.height}`,
medium line 502

Template literal with variable interpolation in command context

SourceSKILL.md
502? `Scores: A=${response.branch_a_score}, B=${response.branch_b_score}, C=${response.branch_c_score || 'N/A'}`
medium line 519

Curl to non-GitHub URL

SourceSKILL.md
519curl http://localhost:5678/webhook/default \
medium line 3

Webhook reference - potential data exfiltration

SourceSKILL.md
3description: Chrome Manifest v3 extension development for Vigil Guard v2.0.0. Use for plugin development, content scripts, service workers, webhook integration with 3-branch detection, browser fingerp
medium line 12

Webhook reference - potential data exfiltration

SourceSKILL.md
12Chrome Manifest v3 browser extension for Vigil Guard providing client-side prompt injection protection through webhook proxy integration with 3-branch parallel detection architecture and browser finge
medium line 19

Webhook reference - potential data exfiltration

SourceSKILL.md
19- Managing webhook integration with 3-branch detection
low line 36

Webhook reference - potential data exfiltration

SourceSKILL.md
36├── background.js # Service Worker (webhook proxy)
medium line 50

Webhook reference - potential data exfiltration

SourceSKILL.md
50### Webhook Response Format (3-Branch Detection)
low line 208

Webhook reference - potential data exfiltration

SourceSKILL.md
208chrome.storage.sync.get(['webhookUrl'], async (items) => {
low line 209

Webhook reference - potential data exfiltration

SourceSKILL.md
209const webhookUrl = items.webhookUrl || 'http://localhost:5678/webhook/default';
low line 212

Webhook reference - potential data exfiltration

SourceSKILL.md
212const response = await fetch(webhookUrl, {
low line 283

Webhook reference - potential data exfiltration

SourceSKILL.md
283<label>Webhook URL:</label>
low line 284

Webhook reference - potential data exfiltration

SourceSKILL.md
284<input type="text" id="webhookUrl" placeholder="http://localhost:5678/webhook/xxx">
low line 301

Webhook reference - potential data exfiltration

SourceSKILL.md
301const webhookUrl = document.getElementById('webhookUrl').value;
low line 302

Webhook reference - potential data exfiltration

SourceSKILL.md
302chrome.storage.sync.set({ webhookUrl }, () => {
low line 308

Webhook reference - potential data exfiltration

SourceSKILL.md
308const webhookUrl = document.getElementById('webhookUrl').value;
low line 311

Webhook reference - potential data exfiltration

SourceSKILL.md
311const response = await fetch(webhookUrl, {
low line 338

Webhook reference - potential data exfiltration

SourceSKILL.md
338const webhookUrl = document.getElementById('webhookUrl').value;
low line 339

Webhook reference - potential data exfiltration

SourceSKILL.md
339const baseUrl = new URL(webhookUrl).origin;
low line 379

Webhook reference - potential data exfiltration

SourceSKILL.md
379chrome.storage.sync.get(['webhookUrl'], (items) => {
low line 380

Webhook reference - potential data exfiltration

SourceSKILL.md
380if (items.webhookUrl) {
low line 381

Webhook reference - potential data exfiltration

SourceSKILL.md
381document.getElementById('webhookUrl').value = items.webhookUrl;
low line 473

Webhook reference - potential data exfiltration

SourceSKILL.md
473# 4. Verify webhook (check for arbiter_decision)
low line 519

Webhook reference - potential data exfiltration

SourceSKILL.md
519curl http://localhost:5678/webhook/default \
low line 96

External URL reference

SourceSKILL.md
96"https://chat.openai.com/*",
low line 97

External URL reference

SourceSKILL.md
97"http://localhost:5678/*"
low line 106

External URL reference

SourceSKILL.md
106"matches": ["https://chat.openai.com/*"],
low line 209

External URL reference

SourceSKILL.md
209const webhookUrl = items.webhookUrl || 'http://localhost:5678/webhook/default';
low line 284

External URL reference

SourceSKILL.md
284<input type="text" id="webhookUrl" placeholder="http://localhost:5678/webhook/xxx">
low line 468

External URL reference

SourceSKILL.md
468open https://chat.openai.com/
low line 519

External URL reference

SourceSKILL.md
519curl http://localhost:5678/webhook/default \
Scanned on Feb 9, 2026
View Security Dashboard
Installation guide →