关于 extension-analyze
用于审计现有 Chrome 扩展的安全与合规技能,面向扩展开发者。它按框架识别、配置和代码扫描、依赖审计及严重级别整理结果。
主要功能
- 01识别扩展框架与根目录
- 02检查清单权限和 CSP
- 03扫描常见不安全代码模式
- 04运行依赖漏洞审计
- 05按严重级别汇总发现
适用场景
- 01审查扩展权限和内容安全策略
- 02查找潜在 XSS 与硬编码密钥
- 03整理发布前的安全审计结果
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ quangpl/ browser-extension-skills --skill extension-analyze安装后在 Claude Code 中输入/extension-analyze确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/best-practices-checklist.mdcommon-vulnerabilities.mdcws-compliance-checklist.mdsecurity-checklist.md详细介绍
扩展分析(安全与合规审计员)
🚀 升级到高级版 访问 https://app.extensionbooster.net/dashboard/services/extension-ai-kit 获取高级版
审计现有的 Chrome 扩展。不要只做说明——请执行此工作流。
工作流(执行此流程)
步骤 1:定位扩展根目录并检测框架
如果未提供路径,请向用户询问。检测框架:
ls wxt.config.ts crxjs.config.ts vite.config.ts manifest.json 2>/dev/null
- CRXJS:清单会自动生成;请检查
package.json和crxjs.config.ts - WXT:检查
wxt.config.ts中的 manifest 部分 - Vanilla/CRXJS:直接检查
manifest.json
步骤 2:扫描 manifest.json(或等效配置)
# 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}'
步骤 3:快速 grep 扫描
# 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
步骤 4:检查 CSP 配置
- MV3 默认 CSP:
script-src 'self'; object-src 'self' - 标记任何
unsafe-inline、unsafe-eval或http:来源 - 确认没有远程脚本来源
步骤 5:依赖项审计
cd <ext> && npm audit --json | jq '.vulnerabilities | to_entries[] | {pkg: .key, severity: .value.severity}'
步骤 6:生成报告
按严重程度分组输出发现。请参阅下方的输出格式。
严重程度等级
| 等级 | 标准 |
|---|---|
| Critical | RCE、数据外泄、加载远程代码、使用不可信输入调用 eval |
| High | XSS、缺少发送方验证、源代码中包含 API 密钥、HTTP API 调用 |
| Medium | 权限范围过宽、CSP 使用 unsafe-inline、同步存储机密信息 |
| Low | 缺少错误处理、未使用 TypeScript、生产环境中存在 console.log |
大多数扩展中发现的十大问题
innerHTML使用来自页面的数据(XSS)—— HighonMessage未检查发送方来源—— High- 不需要时仍设置
<all_urls>主机权限—— Medium - CSP 中存在
unsafe-inline或unsafe-eval—— Medium/Critical - 源代码中硬编码 API 密钥—— Critical
- 使用
eval()或new Function()—— Critical chrome.storage.sync存储敏感数据—— Medium- 使用 HTTP 端点而非 HTTPS—— High
- 加载远程脚本(违反 MV3 规定)—— Critical
web_accessible_resources缺少限制—— Medium
输出格式
## 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/security-checklist.md— 完整的安全审计清单references/best-practices-checklist.md— 性能、用户体验、无障碍性、CWSreferences/common-vulnerabilities.md— 漏洞模式及 grep/修复方法references/cws-compliance-checklist.md— Chrome 网上应用店政策合规性- Chrome 权限列表
- Chrome 扩展文档
相关技能
extension-manifest— 生成/验证 manifest.jsonextension-create— 搭建新扩展的框架extension-publish— 商店提交清单
评论
支持 Markdown