wigolo 漏洞报告与 AGPL 授权合规:企业内使用的完整指南
【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo
wigolo 是一款面向 AI 编码代理的本地优先 Web 智能 MCP 服务器,提供搜索、抓取、爬取与调研等能力,无需 API 密钥、不依赖云端。在把它引入企业之前,两件事必须搞清楚:出了安全问题向谁报告,以及AGPL-3.0 授权对内部部署意味着什么。本文把这两个问题一次讲透。
一、先认识 wigolo:为什么合规评估很简单
wigolo 的设计哲学是"隐私来自架构,而非政策承诺":整个安装状态都存放在本地数据目录(默认~/.wigolo),没有厂商后端可以上传数据。出站连接只有三种目标:你查询的搜索引擎和网站、你自己配置的 LLM 服务商、以及你自己设置的遥测端点(默认关闭)。
这套架构直接决定了安全评估的边界非常清晰,相关细节可查阅 docs/privacy-security.md。
二、漏洞报告流程:三步走,别开公开 Issue
wigolo 在 SECURITY.md 中明确了负责任的披露流程:
- 不要公开报告:安全漏洞禁止直接开公开 Issue,需通过仓库 Security 页签下的"Report a vulnerability"私密通道提交,生成只有你和维护者可见的私密公告;
- 报告要包含三要素:漏洞描述与影响、复现步骤(尽可能附最小 PoC)、受影响的版本与环境;
- 响应预期:维护者会在几天内给出初步回应,并与你协作修复,在补丁就绪后协调披露。
官方最关注的三类攻击面
项目自述是本地优先、运行在用户自己机器上,因此报告范围特别聚焦(见 SECURITY.md Scope notes):
| 攻击面 | 说明 | 对应源码 |
|---|---|---|
| ⏱️ watch/webhook 子系统 | SSRF 防护与 URL 校验 | src/watch/ssrf.ts |
| 🔐 凭据处理 | 云 LLM 密钥的操作系统钥匙串 / 加密文件存储 | src/security/key-crypto.ts |
| 🕸️ 远程内容注入 | 抓取/爬取内容可能影响宿主机的路径 | src/fetch/ |
💡 对企业的意义:如果你发现 watch 的 webhook 能指向内网地址、或抓取内容存在执行路径,这类报告会被优先处理。
支持版本策略
公共 Beta 阶段,安全修复只针对最新发布的版本。报告漏洞前请先升级到最新版,避免为已修复问题重复开单。
三、AGPL-3.0 授权:用大白话讲清楚义务
wigolo 采用GNU AGPL-3.0-only授权(见 LICENSE)。它的核心义务只有一条:
如果你运行的是"修改过"的版本,并且把它作为网络服务提供给外部用户,就必须以相同授权发布你修改后的源码。
换句话说,AGPL 比 GPL 多了一个"网络服务条款":即使你只是把改过的 wigolo 挂在服务器上跑、并不分发软件,修改后的源码也必须公开。这一设计让 wigolo 保持开放,同时阻止别人做闭源的托管分支。
四、企业内使用合规清单 ✅
按使用场景对照自查即可:
| 使用方式 | 是否合规 | 说明 |
|---|---|---|
| 🖥️ 原样部署在公司内网,员工/代理使用 | ✅ 合规 | 未修改版本,自由使用与自托管 |
| 🔧 修改源码后仅内部使用(未对外提供网络服务) | ✅ 合规 | 内部使用不触发源码公开义务 |
| ☁️ 修改源码并对外提供 SaaS / 网络服务 | ⚠️ 必须开源 | 修改后的源码需以 AGPL-3.0 发布,或联系官方获取商业授权 |
| 🏷️ 用 "wigolo" 命名自己的产品 | ❌ 不允许 | 名称与商标不受 AGPL 授权覆盖 |
关于商标,TRADEMARK.md 划出的红线很明确:
- 可以自由做:用名称指代项目("基于 wigolo 构建")、分发未修改版本、fork 源码;
- 必须改名:公开分发修改版时,请改用其他名称,可注明"基于 wigolo";
- 商标例外:不要用自己的产品、服务或公司名使用 "wigolo"(或易混淆名称)暗示官方背书,也不要修改其 logo。
企业部署的安全加固点
如果以守护进程方式对内提供服务,官方文档 docs/self-hosting.md 提供了完整的加固语义,建议纳入安全评审:
- fail-closed 绑定门:非回环绑定未配置 token 时拒绝启动;
- Bearer 认证:REST + MCP 接口全量鉴权;
- SSRF 防护默认开启:拒绝解析到私有/回环地址的抓取目标;
- DNS 重绑定与浏览器源防护:恶意网页无法探测你守护进程的 token。
五、常见问题
Q:内部部署 wigolo 需要给 FSF 或维护者付费吗?不需要。AGPL-3.0 是自由软件授权,公司内部使用免费,也没有按查询计费的商业模式——每次查询成本为 $0。
Q:我们 fork 后加了内部功能,给内网所有团队用,需要开源吗?仅内部网络使用、不对外提供服务的修改版,不触发公开源码义务;但若对外暴露,则修改部分需以 AGPL-3.0 开源,或走商业授权谈判。
Q:商业授权怎么谈?README 许可证章节 直接写明:商业授权问题直接联系维护者即可。
六、总结
wigolo 的合规门槛在企业场景里相当友好:原样内部部署零义务,修改后对外服务才需开源;安全报告通道清晰、攻击面范围明确。只要守住"不擅自使用 wigolo 商标"这条线,并遵循私有漏洞披露流程,把它纳入 AI 代理的 Web 基础设施几乎没有合规风险。
【免费下载链接】wigoloThe go-to web for your AI coding agent — local-first search, fetch, crawl & research over MCP. No API keys, no cloud, $0/query. Public beta.项目地址: https://gitcode.com/GitHub_Trending/wi/wigolo
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考