把察元AI文档助手推荐给一位做安全的朋友,他看完配置反手一个问题:“你这个 MCP 服务不要 Token、没有鉴权,裸奔在 62588 端口上,不怕被人连上?”
这个问题问得好,值得掰开写一篇。数据不出域这两年越来越受重视,尤其是内网和信创环境,正好用问答体把这个"看起来裸奔、其实上了锁"的设计讲清楚。
问:没有鉴权,任何人都能连上吗?
答:不能,因为服务只监听 127.0.0.1 这个回环地址。回环地址上的流量不出网卡,局域网里其他机器、公网上的扫描器,根本路由不进来。能连上 62588 的,只有你这台机器上跑的进程——也就是你自己的 AI 客户端。这就是"本机即信任边界"的准确含义:不是没有边界,而是边界收窄到了机器本身。传统思路是"服务暴露出去,再加 Token 守门";这里是"根本不暴露,门都不用守"。两种思路相比,后者直接少了一整类攻击面:没有暴露面,就谈不上凭证泄露、端口扫描、中间人这些远端威胁。
问:那我远程访问怎么办?
答:默认就是连不了,这是设计而不是疏漏。真有远程需求,官方给的路子是要么走代理转发,要么设置 CHAYUAN_MCP_PORT 调整端口再自行规划暴露面。但动手前要想清楚:一旦把端口暴露出去,等于把信任边界从"一台机器"扩大到一个网络,那时就需要你自己补上鉴权和访问控制,责任跟着边界一起扩大了。
问:62588 会不会和别的服务抢端口?
答:回环上的私端口冲突概率很低,但确实留了调整的口子——CHAYUAN_MCP_PORT 环境变量就是干这个的,主要服务于代理和远程场景。个人本机使用,默认值最省心,记一个数字就行。
问:本机上的恶意程序不也能连吗?
答:能,这点不回避。回环监听挡住的是外部,挡不住同机进程——就像家里各个房间的门都敞着,前提是大门锁得够好。所以两条实际建议:第一,安装脚本从官方渠道获取,察元的下载链路是 Gitee、aidooo、GitHub 多源回退,全程 sha256 强校验,别从来路不明的镜像装;第二,重要文档走 preview 和 confirmed 流程,AI 每次写盘前都要过你这道手,异常改动能第一时间被发现。话说回来,能驻留在你本机的恶意软件可干的事远不止连 MCP,那属于终端安全的大话题,不该由一个 MCP 服务来背。
问:和云端 MCP 比呢?
答:各有适用面。云端 MCP 要 Token,是因为它天然暴露在公网,Token 泄露就等于门开了。本机服务反过来:不暴露,所以不需要 Token;文档数据在 WPS 进程、MCP 服务、AI 客户端之间全程不出机器,配合 Ollama 这类本地模型端点,整条链路都可以不出网。"数据不出域"在这里是结构保证,不是合同条款。这也是政企内网更待见本机方案的原因:安全审查时"不出网"三个字,比一大段承诺好使。当然两者也不是二选一:模型能力可以走云端供应商,文档操作留在本机,各取所长。
问:平时怎么确认服务状态?
答:一条命令的事:
curl http://127.0.0.1:62588/healthz
返回 online 即正常;在 MCP 客户端里调 wps_status 还能看分层健康详情。地址端口写死好记,也避免了和别的服务抢端口的麻烦。
收个尾
无 Token 不等于无安全,关键看暴露面在哪——信任边界想清楚了,无 Token 就不是漏洞,而是设计。把监听收在回环地址上,是本机工具最朴素也最有效的自我保护——不联网的锁,天然比联网的锁少一类风险。当然,这套思路属于工程常识,不能替代正式的安全评估,等保、密评该做的照样要做;但对个人和内网场景,"不出网"三个字已经解决了大半个问题,剩下的交给常规运维习惯就好。
40

被折叠的 条评论
为什么被折叠?



