安全审查报告:OxideTerm 审查范围:整个代码库(~85 个 crate,agent 独立二进制文件,GitHub Actions 工作流,构建脚本)。未发现后门、数据外传、远程控制机制或可疑的加密字段。 网络通信 所有的网络外发请求都是用户配置的、有文档记载的端点: AI 提供商 — 向用户提供的 Anthropic、OpenAI、Gemini、Ollama、DeepSeek 等 API 端点发起请求。API 密钥由用户提供,存储在 OS 凭据管理器中,绝不硬编码。 云同步 — WebDAV、S3、OneDrive、GitHub Gist、Git。由用户显式配置;没有对 OxideTerm 所有方服务器的隐藏调用。 更新检查 — 从 github.com/AnalyseDeCircuit/oxideterm/releases 获取清单。下载的包使用嵌入的 integrity.rs 中的 minisign 公钥进行签名验证。 插件/WASM 运行时 — 从 github.com/AnalyseDeCircuit/oxideterm-wasm-runtime/releases 获取。 没有遥测、分析、崩溃报告或第三方追踪系统。 i18n 字符串中明确说明了这一隐私承诺。 加密 所有加密都有合法的安全目的: 用途 算法 位置 静态连接配置 ChaCha20-Poly1305(通过 OS 密钥链派生的密钥) encrypted_config.rs 密码保护的导出文件(.oxide) Argon2id 密钥派生 + ChaCha20-Poly1305 crypto.rs 更新签名验证 Minisign(公钥:36E19D6992B57EBB) integrity.rs 敏感数据内存保护 机密材料使用 zeroize::Zeroizing 贯穿代码库始终 AI 上下文清理 将私钥、令牌、密码、授权头替换为 [REDACTED] context_sanitizer.rs 唯一被硬编码的密钥是更新公钥 —— 这是验证签名更新所必需的,属于标准做法。 代理 / 远程执行 agent/ 目录是 OxideTerm 远程代理:一个独立的二进制文件,通过 SSH 通道在远程主机上运行,接收 stdin/stdout 上的 JSON-RPC 命令。功能包括文件读写、grep、符号索引和目录列表。它不发起任何网络连接 —— 仅在 stdin/stdout 上响应。依赖项仅有 serde、regex、sha2、walkdir —— 不含 HTTP 或套接字。 传输层通过 SSH exec 通道传递:transport.rs。 自动启动 / 持久化 autostart.rs 使用标准的 OS 机制:Windows 注册表 Run 键、Linux XDG autostart .desktop、macOS SMAppService。用户可配置、透明、可逆。无隐藏持久化。 插件系统 插件以 WASM 沙箱运行(wasmtime)。它们由用户手动安装。无自动下载或执行。constants.rs 中对包大小(50 MB)、解压后大小(100 MB)和条目数(2048)有显式限制。 SSH 主机密钥 host_key.rs 实现了带有 Unknown/Changed/Verified 状态的 TOFU(首次使用即信任)主机密钥验证。主机密钥缓存在内存中,有效期为 1 小时。未发现服务器认证绕过。 供应链 Cargo.toml 包含 deny.toml(cargo-deny 配置),可防止已知的有漏洞依赖项。所有依赖项均来自标准 crates.io。未发现可疑或混淆的依赖项。 结论 未发现后门、数据外传或可疑的加密字段。 代码库干净,隐私意识强(AI 请求前清理机密,无遥测),加密使用得当且目的明确。网络通信仅在用户配置的情况下发生,且配置了签名验证,以防供应链攻击。
1K star了,给你点赞 简单体验了一下,主要还是性能问题,有点卡顿 功能有一点点多了,搞到无所适从,另外sftp文件传送没摸到在哪里,还以为侧边栏可以直接打开 其实这类终端最牛的还是mobaxterm,易操作,性能,功能都很牛,就是支持ai cli不行 如果这个项目性能能够提升上去,就可以成为win下面的王者了
@richno #36 让ai调查了一下: 目前最可疑的组合是: Windows 使用 DirectWrite + D3D11。 三缓冲翻转交换链 使用 Present(0, 0),不由 Present 等待垂直同步 另起 DWM 垂直同步线程,每一帧都触发窗口重绘检查 100 毫秒内达到 6 个有效输入事件后,会持续 Present 一秒 这套设计在高刷新率、VRR、多显示器或部分显卡驱动环境下,很可能产生帧队列堆积或不均匀的帧节奏。Metal 后端使用另一套显示同步机制,所以 macOS 丝滑并不矛盾。 所以卡顿倒也不是性能不行(原生软件,不太可能性能比webview差),是windows渲染链路的问题,我看看怎么修改一下项目的渲染引擎的源码吧
支持,请问后面考虑支持 SPICE 远程桌面协议么?
连接虚拟机 SPICE 比 VNC 流畅很多,就是有剪贴板共享、USB 共享之类的功能稍微有点复杂
@nocwat #31
会考虑。SPICE 很适合虚拟机场景,但它不只是增加一个连接协议,还涉及画面、键鼠、动态分辨率、剪贴板、音频和 USB 重定向等能力,目前还没有确定排期。
安全审查报告:OxideTerm
审查范围:整个代码库(~85 个 crate,agent 独立二进制文件,GitHub Actions 工作流,构建脚本)。未发现后门、数据外传、远程控制机制或可疑的加密字段。
网络通信
所有的网络外发请求都是用户配置的、有文档记载的端点:
github.com/AnalyseDeCircuit/oxideterm/releases获取清单。下载的包使用嵌入的 integrity.rs 中的 minisign 公钥进行签名验证。github.com/AnalyseDeCircuit/oxideterm-wasm-runtime/releases获取。没有遥测、分析、崩溃报告或第三方追踪系统。 i18n 字符串中明确说明了这一隐私承诺。
加密
所有加密都有合法的安全目的:
36E19D6992B57EBB)zeroize::Zeroizing[REDACTED]唯一被硬编码的密钥是更新公钥 —— 这是验证签名更新所必需的,属于标准做法。
代理 / 远程执行
agent/ 目录是 OxideTerm 远程代理:一个独立的二进制文件,通过 SSH 通道在远程主机上运行,接收 stdin/stdout 上的 JSON-RPC 命令。功能包括文件读写、grep、符号索引和目录列表。它不发起任何网络连接 —— 仅在 stdin/stdout 上响应。依赖项仅有
serde、regex、sha2、walkdir—— 不含 HTTP 或套接字。传输层通过 SSH
exec通道传递:transport.rs。自动启动 / 持久化
autostart.rs 使用标准的 OS 机制:Windows 注册表
Run键、Linux XDG autostart.desktop、macOSSMAppService。用户可配置、透明、可逆。无隐藏持久化。插件系统
插件以 WASM 沙箱运行(
wasmtime)。它们由用户手动安装。无自动下载或执行。constants.rs 中对包大小(50 MB)、解压后大小(100 MB)和条目数(2048)有显式限制。SSH 主机密钥
host_key.rs 实现了带有 Unknown/Changed/Verified 状态的 TOFU(首次使用即信任)主机密钥验证。主机密钥缓存在内存中,有效期为 1 小时。未发现服务器认证绕过。
供应链
Cargo.toml 包含 deny.toml(cargo-deny 配置),可防止已知的有漏洞依赖项。所有依赖项均来自标准 crates.io。未发现可疑或混淆的依赖项。
结论
未发现后门、数据外传或可疑的加密字段。 代码库干净,隐私意识强(AI 请求前清理机密,无遥测),加密使用得当且目的明确。网络通信仅在用户配置的情况下发生,且配置了签名验证,以防供应链攻击。
支持一下
@cangshui #33
哇,还有审计报告
1K star了,给你点赞
简单体验了一下,主要还是性能问题,有点卡顿
功能有一点点多了,搞到无所适从,另外sftp文件传送没摸到在哪里,还以为侧边栏可以直接打开
其实这类终端最牛的还是mobaxterm,易操作,性能,功能都很牛,就是支持ai cli不行
如果这个项目性能能够提升上去,就可以成为win下面的王者了
@richno #36
让ai调查了一下:
所以卡顿倒也不是性能不行(原生软件,不太可能性能比webview差),是windows渲染链路的问题,我看看怎么修改一下项目的渲染引擎的源码吧
有机会支持mosh和et吗?
👍
@cangshui #33 什么做的 漂亮