OpenClaw浏览器插件开发:SecGPT-14B网页安全实时检测助手

张开发
2026/4/8 3:56:04 15 分钟阅读

分享文章

OpenClaw浏览器插件开发:SecGPT-14B网页安全实时检测助手
OpenClaw浏览器插件开发SecGPT-14B网页安全实时检测助手1. 为什么需要浏览器安全助手去年处理一个客户数据泄露事件时我发现80%的安全漏洞源于员工在浏览器中的无意识操作——点击钓鱼链接、在伪造页面输入凭证、下载恶意附件。传统安全软件往往在损害发生后才报警而大模型给了我们实时干预的机会。这就是我开发SecGPT-14B浏览器插件的初衷将OpenClaw的本地化执行能力与SecGPT-14B的安全分析能力结合在风险行为发生前给出智能拦截。与云端方案不同所有敏感数据如访问的URL、页面内容、表单输入都在本地处理符合金融、法律等行业的合规要求。2. 技术架构设计2.1 核心组件交互整个系统由三个关键部分组成浏览器扩展基于Chrome Manifest V3开发负责页面元素抓取、事件监听和结果展示OpenClaw本地服务通过18789端口提供REST API处理扩展发送的检测请求SecGPT-14B模型部署在本地的安全大模型对页面内容进行实时风险评估graph LR A[浏览器扩展] --|HTTP请求| B(OpenClaw网关) B --|gRPC调用| C[SecGPT-14B模型] C --|JSON响应| B B --|检测结果| A2.2 安全通信机制为确保插件与本地服务的通信安全我设计了双重验证方案在openclaw.json中配置静态API密钥每次请求携带当前页面的SHA-256哈希作为动态令牌// 前端请求示例 const apiKey YOUR_OPENCLAW_KEY; const pageHash await crypto.subtle.digest(SHA-256, new TextEncoder().encode(document.documentElement.innerHTML)); fetch(http://localhost:18789/api/v1/scan, { method: POST, headers: { X-API-Key: apiKey, X-Page-Token: Buffer.from(pageHash).toString(hex) }, body: JSON.stringify({ html: document.documentElement.outerHTML }) })3. 插件开发实战3.1 初始化Chrome扩展创建基础目录结构secgpt-extension/ ├── manifest.json ├── background.js ├── content.js ├── popup/ │ ├── popup.html │ ├── popup.js │ └── styles.css └── icons/ ├── icon-48.png └── icon-128.png关键配置manifest.json{ manifest_version: 3, name: SecGPT-14B Security Assistant, version: 1.0, permissions: [ activeTab, storage, webRequest ], host_permissions: [ http://localhost:18789/* ], background: { service_worker: background.js }, content_scripts: [{ matches: [all_urls], js: [content.js], run_at: document_idle }] }3.2 实现风险检测逻辑在content.js中植入页面监听器当检测到以下事件时触发安全扫描页面加载完成DOMContentLoaded表单获得焦点focusin鼠标悬停在链接上mouseoverdocument.addEventListener(DOMContentLoaded, async () { const riskAnalysis await scanCurrentPage(); if (riskAnalysis.threatLevel 3) { injectWarningBanner(riskAnalysis); } }); document.addEventListener(focusin, (event) { if (event.target.tagName INPUT) { analyzeFormField(event.target); } });3.3 对接OpenClaw API创建openclaw.js处理与本地服务的通信export async function scanContent(content, typehtml) { const response await fetch(http://localhost:18789/api/v1/analyze, { method: POST, headers: { Content-Type: application/json }, body: JSON.stringify({ content: content, type: type, model: secgpt-14b }) }); if (!response.ok) { throw new Error(OpenClaw error: ${response.statusText}); } return response.json(); }4. SecGPT-14B模型集成4.1 模型部署配置在OpenClaw配置文件中添加SecGPT-14B支持{ models: { providers: { local-secgpt: { baseUrl: http://localhost:8000/v1, apiKey: local, api: openai-completions, models: [{ id: secgpt-14b, name: Security GPT 14B, contextWindow: 4096, maxTokens: 512 }] } } } }4.2 安全检测提示词设计通过system prompt约束模型行为你是一个专业网络安全分析师需要评估以下网页内容的风险 1. 识别可能的XSS/CSRF攻击向量 2. 检测伪装的登录表单 3. 标记可疑的外链域名 4. 评估整体页面可信度1-5分 输出JSON格式 { threatLevel: number, issues: [{ type: string, element: string, confidence: number, advice: string }] }5. 插件打包与分发5.1 开发模式测试在Chrome中加载解压的扩展访问chrome://extensions开启开发者模式点击加载已解压的扩展程序选择项目目录5.2 生产环境打包使用crx工具生成发布包npm install -g crx crx pack secgpt-extension -o secgpt-extension.crx -p privateKey.pem关键安全提示私钥文件(privateKey.pem)必须妥善保管建议通过Chrome Web Store分发以获得自动更新支持6. 实际应用效果在我的日常使用中这个插件成功拦截了多种威胁识别出伪装成银行登录页面的钓鱼网站相似度达92%检测到包含恶意脚本的广告iframe对HTTP表单提交给出明确警告一个典型的检测结果展示{ threatLevel: 4, issues: [ { type: unsecured_form, element: #loginForm, confidence: 0.91, advice: 表单通过HTTP提交凭证可能被窃取 }, { type: suspicious_script, element: script[src^http://ad.cpm.com], confidence: 0.87, advice: 第三方脚本可能包含挖矿代码 } ] }7. 进阶优化方向对于需要更高安全性的场景我后续增加了这些特性本地缓存白名单对已验证安全的域名跳过重复检测敏感字段脱敏在向OpenClaw发送数据前自动模糊化信用卡号等字段多模型投票机制同时调用SecGPT-14B和本地Qwen模型取风险评分较高值// 敏感字段处理示例 function sanitizeInput(input) { return input.replace(/\b\d{4}[ -]?\d{4}[ -]?\d{4}[ -]?\d{4}\b/g, ****-****-****-****); }这个项目的独特价值在于它将企业级安全能力以零成本的方式带到了个人浏览器中。不同于传统插件需要连接云端服务所有分析都在本地完成既保护了隐私又避免了网络延迟。对于经常处理敏感数据的开发者和商务人士这种轻量但可靠的防护显得尤为珍贵。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章