飞书安全助手搭建:OpenClaw接入SecGPT-14B实现群聊触发扫描

张开发
2026/4/18 12:21:47 15 分钟阅读

分享文章

飞书安全助手搭建:OpenClaw接入SecGPT-14B实现群聊触发扫描
飞书安全助手搭建OpenClaw接入SecGPT-14B实现群聊触发扫描1. 为什么需要飞书安全助手去年团队遭遇了一次钓鱼邮件攻击虽然最终没有造成损失但事后排查时发现如果能在第一时间对可疑链接进行自动化检测至少能节省2小时的人工分析时间。这件事让我开始思考——能否在IM工具里直接集成安全检测能力传统方案需要开发完整的SaaS服务但作为小团队我们更希望用轻量级方案实现以下目标即时响应在飞书群聊中机器人即可触发检测隐私保护检测过程不经过第三方服务器低成本接入利用现有的大模型能力避免开发复杂规则引擎OpenClawSecGPT-14B的组合完美匹配这些需求。经过两周的实践验证这套方案已经稳定运行在我们20人规模的产研团队中。2. 基础环境准备2.1 部署SecGPT-14B模型选择星图平台的SecGPT-14B镜像主要考虑两点基于vllm部署的推理服务性能稳定chainlit前端便于调试prompt部署完成后需要记录两个关键信息模型服务地址如http://192.168.1.100:8000/v1API Key镜像部署时自动生成# 验证模型服务是否正常 curl http://192.168.1.100:8000/v1/completions \ -H Authorization: Bearer your_api_key \ -d {model:SecGPT-14B,prompt:检测这个URL是否安全: https://example.com}2.2 安装OpenClaw核心组件推荐使用npm汉化版安装国内访问更稳定sudo npm install -g qingchencloud/openclaw-zhlatest openclaw --version # 确认版本≥0.8.3初始化时选择Advanced模式先跳过模型配置openclaw onboard # 选择 Advanced → Skip for now3. 飞书通道深度配置3.1 创建企业自建应用在飞书开放平台创建应用时特别注意权限配置需要获取用户发给机器人的单聊消息和获取用户在群聊中机器人的消息权限安全设置将服务器出口IP加入IP白名单通过curl ifconfig.me获取安装飞书插件时遇到一个坑必须使用国内npm镜像源npm config set registry https://registry.npmmirror.com openclaw plugins install m1heng-clawd/feishu3.2 配置文件关键修改编辑~/.openclaw/openclaw.json重点调整三处{ channels: { feishu: { enabled: true, appId: cli_xxxxxx, appSecret: xxxxxx, encryptKey: , // 非必填 verificationToken: // 非必填 } }, models: { providers: { secgpt: { baseUrl: http://192.168.1.100:8000/v1, apiKey: your_api_key, api: openai-completions, models: [{ id: SecGPT-14B, name: 安全检测专用模型, contextWindow: 4096 }] } } } }配置完成后必须重启网关服务openclaw gateway restart4. 安全检测技能开发4.1 创建自定义技能在~/.openclaw/skills目录下新建url_checker文件夹核心文件结构如下url_checker/ ├── config.json # 技能元数据 ├── index.js # 主逻辑 └── prompts/ └── detection.md # 检测提示词模板其中config.json需要声明技能触发方式{ name: url-checker, description: URL安全检测器, triggers: [ { type: message_keyword, keyword: 检测链接 } ] }4.2 编写检测逻辑index.js的核心处理流程module.exports async (claw, params) { // 提取消息中的URL const urls extractUrls(params.message.text); // 调用SecGPT-14B进行检测 const results await Promise.all(urls.map(async url { const prompt 作为网络安全专家请分析该URL的风险 URL: ${url} 请按以下格式回复 - 风险类型[钓鱼/恶意软件/...] - 置信度[高/中/低] - 依据...; const resp await claw.models.complete({ provider: secgpt, model: SecGPT-14B, prompt }); return { url, result: resp.text }; })); // 格式化飞书消息卡片 return buildFeishuCard(results); };4.3 提示词优化技巧在prompts/detection.md中定义多轮对话模板你是一名专注URL安全分析的AI助手用户会发送需要检测的链接。 分析步骤 1. 检查域名注册时间新注册域名风险1级 2. 检查URL路径中包含的可疑关键词如login、account等 3. 比对已知恶意域名库 输出要求 - 使用中文回复 - 风险等级必须用【】标注 - 提供可验证的依据经过测试这种结构化提示词能使检测准确率提升约40%。5. 实际应用效果5.1 典型使用场景在飞书群聊中机器人并发送安全助手 检测链接 https://可疑域名.com/login3秒内会收到如下格式的回复【高风险】检测结果 URL: https://可疑域名.com/login 风险类型钓鱼网站 依据 1. 域名注册于3天前2024-03-01 2. 包含敏感路径/login 3. 仿冒知名银行登录页 建议立即终止访问5.2 性能数据统计在20人团队的真实使用中平均响应时间2.8秒从触发到返回日均检测量15-20次误报率约5%通过后续人工复核统计最意外的收获是产品同事养成了发链接前先检测的习惯这比任何安全培训都有效。6. 踩坑与解决方案问题1飞书消息事件重复触发现象每次机器人会收到两条相同回复解决在代码中添加去重逻辑基于message_id做5秒缓存问题2长URL截断现象超过200字符的URL分析结果不准确解决在提示词中明确要求先对URL进行分段处理问题3模型返回格式不稳定现象有时返回JSON有时返回纯文本解决在代码层添加多种格式的解析尝试这套方案最大的优势在于扩展性。我们现在正在尝试接入代码仓库MR自动安全扫描服务器日志异常检测办公文档敏感信息识别每个新功能只需开发对应的技能模块无需改动主干系统。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章