
FluidVoice 本地API安全边界与威胁模型127.0.0.1监听的风险评估【免费下载链接】FluidVoiceFastest and only macOS Dictation app with on-device STT and custom trained AI enhancement model. Windows pre-build available! A local Wispr Flow alternative. DM us on X exclusive model access! - https://x.com/fluidvoiceapp项目地址: https://gitcode.com/GitHub_Trending/fl/FluidVoiceFluidVoice 是目前速度最快的 macOS 端语音输入Dictation应用主打端上语音识别On-device STT与本地 AI 增强模型同时它内置了一个本地 APILocal API——一个默认关闭、仅监听 127.0.0.1 回环地址的 HTTP 服务。任何本机程序都可以调用它来转写音频、读取转录历史和增改自定义词典。这篇文章用通俗的方式评估这个 127.0.0.1 监听端口的安全边界与威胁模型帮你判断它安全到什么程度、还剩哪些风险。1. 它是什么本地 API 的定位与默认状态FluidVoice 的本地 API 让第三方脚本或工具直接复用它的本地语音识别与 AI 后处理能力而不需要再装一套模型。几个关键设定决定了它的安全基线默认关闭配置项LocalAPIEnabled未设置时按false处理不主动开启就根本不存在监听端口。逻辑见 LocalAPIModels.swift。默认端口 47733用户可改LocalAPIPort属于高位非常用端口避免与常见服务冲突。随应用生命周期启停应用在 AppDelegate.swift 启动时拉起服务退出时第88行关闭监听。2. 安全边界只放行 127.0.0.1拒绝一切外部来源这是整个威胁模型的核心。LocalAPIServer.swift 用NWListener创建 TCP 监听后在newConnectionHandler里对每一条新连接做来源校验第36-40行只有来源是localhost主机名、127.0.0.1IPv4、::1IPv6的回环连接才被接受isLoopback第97-110行其他任何地址的连接直接 cancel 丢弃不会走到业务逻辑。这意味着局域网内其他设备、远程攻击者都无法触达该端口——即使端口映射或端口转发意外发生来源地址校验也会在应用层兜底。在资源层面还有两道防线请求体上限 500 MBmaxRequestBytesLocalAPIModels.swift#L5超限直接返回 413防止恶意大报文耗尽内存每响应即关闭连接Connection: close第166-186行无常驻会话状态减少了被挂住的窗口。3. 暴露面盘点API 到底能做什么路由注册集中在 LocalAPIRouter.swift全部端点如下端点方法能力风险敏感度/v1/healthGET返回状态与应用版本低/v1/historyGET返回最近转录记录含原始文本、最终文本、应用名、窗口标题高/v1/dictionary/replacementsGET/POST读取/写入替换词规则中/v1/dictionary/custom-wordsGET/POST读取/写入自定义词表中/v1/transcribePOST转写音频文件支持传本机文件路径或 Base64 音频高/v1/postprocessPOST对任意文本做本地 AI 后处理中其中两个端点值得特别注意/v1/historyHistoryAPIController.swift返回的originalText、finalText是你说过和写过的内容还附带appName与windowTitle当时聚焦的应用和窗口。对同一台 Mac 上的其他进程来说这是一份相当详细的行为轨迹。/v1/transcribe的文件路径参数InferenceAPIController.swift#L75-L86请求体里可以直接传path指向本机任意可读文件让 FluidVoice 去转写。这本身是便捷功能但意味着同用户下任何进程都能借它读取/解析本机的音频文件且转写结果落进应用内存与历史。4. 威胁模型谁可能滥用这个端口本地 API 的信任模型是典型的本机同用户信任没有认证、没有令牌、没有签名——来源校验只回答你是不是本机的回环流量不回答你是不是可信程序。按威胁源拆解局域网/远程攻击者基本无效。回环白名单 高位非常用端口双保险除非宿主机已被完全控制。本机恶意应用同用户主要威胁。它只要curl http://127.0.0.1:47733就能拉走最近 N 条转录历史默认最多 1000 条、读取你的自定义词典与替换规则、把任意本机音频文件转写成文本、消耗你的本地 AI 算力。资源滥用/本地 DoS500 MB 请求上限 应用层校验提供了缓解但恶意进程仍可用大量并发转写请求挤占 CPU/内存。供应链视角你安装的第三方工具是否真的只需要本地 API还是顺带把/v1/history的文本外传——这一点 API 本身管不到属于使用方责任。5. 风险评估清单风险项等级说明外部网络访问 低仅放行 127.0.0.1 / ::1 / localhost其余直接断开未授权本地读取转录历史 中-高无认证同用户进程可取走文本与应用/窗口上下文本地文件转写被滥用 中path参数允许指定任意本机可读文件词典/规则被篡改 中POST 端点可写恶意程序可注入替换规则影响输入内存耗尽型 DoS 低500 MB 上限 413 拒绝缓解充分远程暴露面 低默认关闭随应用退出自动停止总体结论对单人使用的 MacFluidVoice 本地 API 的边界设计默认关闭 回环白名单 尺寸上限是合理且克制的残留风险集中在本机同用户进程互信这一前提上对多人共用设备或安装了不可信应用的机器风险会显著放大。6. 使用建议安全加固清单不用就关掉确认LocalAPIEnabled保持关闭是最彻底的防护需要时再开用完即关调用完自动化脚本后退出应用或关闭开关监听随之消失共用 Mac 用户避免开启本地 API或仅在临时任务窗口内启用审视为何而开只给明确声明仅需/v1/transcribe的工具开启警惕索取/v1/history的第三方程序排查本机监听开启后确认日志中为Local API listening on http://127.0.0.1:47733见 LocalAPIServer.swift#L85并用系统工具确认无其他程序代理转发该端口。7. 小结FluidVoice 的本地 API 是一个默认关闭、只信回环、限制尺寸的轻量设计它对远程攻击者基本关门把信任完全交给本机当前用户。理解这一点后安全决策就变得简单——它是本机自动化能力的开关而开关的最佳位置是关闭。核心实现均可在 Sources/Fluid/Services/LocalAPI/ 目录中核对服务与回环校验 LocalAPIServer.swift、端口与尺寸配置 LocalAPIModels.swift、路由表 LocalAPIRouter.swift、历史端点 HistoryAPIController.swift、转写端点 InferenceAPIController.swift。【免费下载链接】FluidVoiceFastest and only macOS Dictation app with on-device STT and custom trained AI enhancement model. Windows pre-build available! A local Wispr Flow alternative. DM us on X exclusive model access! - https://x.com/fluidvoiceapp项目地址: https://gitcode.com/GitHub_Trending/fl/FluidVoice创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考