Modly 本地服务安全指南:8765 端口只监听 localhost 的风险与缓解

发布时间:2026/8/31 9:37:37
Modly 本地服务安全指南:8765 端口只监听 localhost 的风险与缓解 Modly 本地服务安全指南8765 端口只监听 localhost 的风险与缓解【免费下载链接】modlyDesktop app to generate 3D models from images or prompt using local AI — runs entirely on your GPU项目地址: https://gitcode.com/GitHub_Trending/mo/modlyModly是一款完全运行在你本地 GPU 上的 3D 模型生成桌面应用可以上传图片或输入提示词生成 3D 模型。它的核心是一个由 Electron 自动拉起的 FastAPI 本地服务默认绑定127.0.0.1:8765仅接受来自本机的请求。绑定 localhost 是安全的基础但只监听本机并不等于绝对安全——本文帮你理解 8765 端口开放了哪些能力、本地访问存在哪些隐患以及如何快速自查和缓解。一、Modly 的本地服务是怎么工作的Modly 的架构很简单Electron 前端 Python 后端。启动应用时python-bridge.ts 会以固定参数拉起 uvicornpython -m uvicorn main:app --host 127.0.0.1 --port 8765也就是说端口号 8765 和监听地址 127.0.0.1 都写死在代码里普通用户不需要配置。前端页面通过 src/index.html 中的 Content-Security-Policy 也只允许连接http://127.0.0.1:8765。这套本机回环 白名单的设计是本地 AI 应用防止服务被外部访问的第一道闸门。应用运行期间8765 端口还提供给两类合法邻居使用MCP 服务器api/mcp_server.py 依赖http://localhost:8765让外部 AI 代理驱动 Modly命令行助手tools/modly-cli/agent.py 默认同样指向127.0.0.1:8765可通过MODLY_API_URL环境变量覆盖。二、8765 端口上开放了哪些能力风险大小取决于端口背后能做什么。查阅 api/main.py 注册的路由后8765 端口的主要能力如下能力路径说明健康检查GET /healthElectron 用来探测服务就绪图像生成 3DPOST /generate/from-image上传一张图即可启动生成任务独占 GPU 显存模型管理/model/*下载可暂停/取消、切换、卸载模型网格优化/optimize/*减面、平滑等处理文件导出GET /export/{glb,stl,obj,ply}把工作区里的模型文件转格式返回工作区文件GET /workspace/{path}直接按路径返回工作区内的文件配置写入POST /settings/paths、/settings/hf-token可修改模型/工作区目录、写入 HuggingFace TokenAgent 对话POST /agent/chat驱动 Ollama 执行减面、跑工作流等工具调用注意两点整个服务没有任何鉴权无 Token、无账号且 api/main.py 中的 CORS 配置是allow_origins[*]——这是为了跨源读取Content-Length等需求做的宽松设置意味着同一台机器上的任意网页都可以向 8765 发请求。三、风险在哪两种场景分开看场景 1端口保持只监听 localhost默认推荐风险来自本机上的其他程序而不是外网⚠️本机任意进程可调用没有鉴权恶意软件或失控脚本都能生成任务、消耗你的 GPU⚠️浏览器是最大攻击面由于 CORS 全开如果 Modly 运行期间你浏览了带恶意脚本的网页脚本可以直接调用/generate/from-image或读取/workspace/下的文件内容⚠️文件读取范围偏宽api/routers/export.py 有路径穿越校验但GET /workspace/{full_path:path}路由未做同样的限制建议结合只开在 localhost来评估⚠️启动即清场python-bridge.ts 启动时会强制杀掉占用 8765 端口的其他进程。如果你的其他工具恰好用这个端口Modly 启动就会把它干掉。场景 2端口被改到 0.0.0.0 或映射到局域网高危如果通过手动启动 uvicorn、端口转发等方式让 8765 对局域网可见上面所有风险都会升级局域网内任何人都能免费占用你的 GPU 显存批量跑生成任务可读取你工作区里的全部 3D 资产文件/workspace/、/export/可调用POST /settings/hf-token写入恶意 Token影响后续所有模型下载。四、快速自查我的 8765 端口安全吗打开终端一条命令确认监听地址Linux/macOS 用lsofWindows 用netstatlsof -i :8765 # Linux / macOS netstat -ano | findstr :8765 # Windows判断标准本地地址Local Address应该是127.0.0.1:8765。只要看到0.0.0.0:8765或你的局域网 IP如192.168.x.x:8765就说明端口对网卡开放了需要立刻排查是谁改的。五、缓解措施清单按优先级从高到低保持默认绑定使用官方桌面应用即可Electron 已把--host 127.0.0.1写死手动运行后端时参考 api/README.md务必保留--host 127.0.0.1不做端口转发不要为 8765 配置 NAT/路由器转发确需跨设备访问优先用 Tailscale 之类的组网工具并叠加一层带鉴权的反向代理运行时管住浏览器Modly 运行期间尽量不浏览不可信网页减少恶意脚本直接调本机 API的暴露面用完即关退出应用后 Python 进程组会被整体回收见 python-bridge.ts端口随之释放这是最彻底的缓解关注版本更新/workspace/文件读取等边界逻辑后续可能加入更严格的路径校验保持应用更新即是安全更新共享 GPU 的机器要留意多人共用一台机器时任何登录用户都可访问 8765建议为每位使用者单独开系统账号并限制访问模型目录。总结Modly 用127.0.0.1回环绑定 前端 CSP 白名单给 8765 端口筑起了第一道安全墙对单机个人使用来说是稳妥的默认设计。真正的风险来自三件事服务无鉴权、CORS 全开、部分文件接口路径校验宽松——只要端口不离开 localhost这些风险基本被限制在本机范围内一旦端口暴露到局域网GPU 被蹭、文件被读、配置被改都会成为现实威胁。记住一句话让 8765 只属于 127.0.0.1其余交给系统防火墙和版本更新。【免费下载链接】modlyDesktop app to generate 3D models from images or prompt using local AI — runs entirely on your GPU项目地址: https://gitcode.com/GitHub_Trending/mo/modly创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻