跳到正文

可核验

把证据摆出来。

核对下载文件、查看用到的算法,也查看当前不能用的能力。这一页不要求你相信我们,它给你自己动手检查的方法。

下载完整性

每一个正式版本都有一份与之对应的 SHA256SUMS 清单,里面是裸文件名,可以直接用系统自带命令校验。安装包另有各平台的发布者签名。

哈希一致能证明什么,不能证明什么

SHA-256 一致,说明你拿到的文件和我们提供的那份清单一致。它不能单独证明发布者身份,也不能防止安装包与同源清单被一起替换 —— 该清单目前没有独立签名。所以请同时核对发布者签名。签名与公证也不等于第三方安全审计。

macOS · Apple Silicon

文件名
FortSwift-v4.1.25-macos-arm64.dmg
版本
4.1.25
签名
Developer ID,已公证并钉签(Team ID RC982T9KL6)

打开该版本的校验清单

Windows · x64

文件名
FortSwift-v4.1.25-windows-x64.zip
版本
4.1.25
签名
EV Authenticode,Certum 时间戳(指纹 AD85 0522 C798 0F69 8136 4C85 9A0A 5CE3 20A8 EF03)

打开该版本的校验清单

Android · arm64

文件名
FortSwift-v4.1.25-android-arm64.apk
版本
4.1.25
签名
发布密钥库;证书指纹与本站 assetlinks.json 一致

打开该版本的校验清单

iOS / iPadOS
— 仅 TestFlight,没有公开发布包,因此也没有可核对的哈希。
Linux
— 没有任何客户端。版本清单里是故意留空的,以免给出一个不存在的版本号。

自己动手核验

先把安装包和同版本的 SHA256SUMS 文件下载到同一个目录。哈希对不上就停下,不要安装,也不要绕过系统的安全检查。

macOS

第一条核对文件哈希,其余三条核对签名与公证。codesign 与 spctl 检查的是安装之后的 App,路径不同请自行替换。

shasum -a 256 -c SHA256SUMS-v4.1.25.txt
xcrun stapler validate FortSwift-v4.1.25-macos-arm64.dmg
codesign --verify --strict --verbose=2 /Applications/FortSwift.app
spctl --assess --type execute --verbose=4 /Applications/FortSwift.app

预期:哈希一行显示 OK;stapler 报告 validate 成功;codesign 通过;spctl 显示 accepted 且来源为 Notarized Developer ID。缺少 Xcode 命令行工具不等于验证通过。

Windows(PowerShell)

ZIP 本身没有 Authenticode 签名,所以要验的是解包出来的可执行文件。下面的脚本解压到一个新的临时目录并列出签名,不会运行它们。

Get-FileHash -LiteralPath .\FortSwift-v4.1.25-windows-x64.zip -Algorithm SHA256
Get-Content -LiteralPath .\SHA256SUMS-v4.1.25.txt
$dir = Join-Path ([IO.Path]::GetTempPath()) ([guid]::NewGuid())
Expand-Archive -LiteralPath .\FortSwift-v4.1.25-windows-x64.zip -DestinationPath $dir
Get-ChildItem -LiteralPath $dir -Recurse -Include *.exe,*.dll |
  ForEach-Object { Get-AuthenticodeSignature -LiteralPath $_.FullName } |
  Format-List Path, Status, SignerCertificate

预期:哈希与清单逐字符一致;每个 exe 与 dll 的 Status 为 Valid,签名主体为 Fookstar Tech Pte. Ltd.。Status 无效、主体不符,或者没有找到可执行文件,都不算通过。

Android

需要一台装了 Android SDK Build Tools 的机器。注意 APK 的文件哈希和签名证书指纹是两种不同的数据。

shasum -a 256 -c SHA256SUMS-v4.1.25.txt
apksigner verify --verbose --print-certs FortSwift-v4.1.25-android-arm64.apk
curl -s https://fortswift.com/.well-known/assetlinks.json

预期:哈希显示 OK;apksigner 打印出的证书 SHA-256 指纹,与 assetlinks.json 中同一包名下的 sha256_cert_fingerprints 完全一致。指纹不一致会导致安卓通行密钥失效,所以这一条你自己就能查。

密码学设计

下面列出实际用到的算法。同一张表里也写清每一项不代表什么 —— 算法名字本身不是安全结论。

所用算法及其边界
算法用途不代表什么
X25519 + ML-KEM-768混合密钥协商;两个共享密钥异或成会话密钥,破其中之一不足以还原这是设计说明,不是审计结论。抗量子这一层自 4.1.17 起才真正生效,此前被控端把 KEM 共享密钥明文上线;两端都需升级到含该修复的版本。ML-KEM 的独立审计仍未完成。
ChaCha20-Poly1305会话数据加密与完整性认证,256 位密钥算法名称不证明每一条实现路径都没有缺陷,也不能据此推断会话内容的留存策略或服务端可见性。
Ed25519身份与快照签名;控制端据此校验被控端身份不要把安装包签名、硬件密钥托管、信任快照签名合并理解成一个「全面认证」标记 —— 它们是三件不同的事。
Argon2id可选的固定密码模式下的口令处理属于可选模式,不改变默认模式是免密的 account_trust 这一事实。

关于认证

目前没有 SOC 2、没有 ISO 27001、没有 GDPR 认证,也没有第三方安全审计。中继看不到明文(端到端由控制端校验被控端的 Ed25519 身份),但这同样是设计描述,不是认证。

当前不支持

下面是产品现在做不到的事,按原样列出。这一节和其他章节同级,不折叠,也不写成「暂时」或「即将支持」。

客户端与分发

  • 没有 Linux 控制端 —— 不是即将推出,是没有任何客户端。
  • macOS 控制端只有 Apple Silicon 包,没有 Intel 包。
  • iOS / iPadOS 只有 TestFlight,没有公开正式发布包。
  • Windows 控制端是一个 zip,不是安装程序。Android 正式包只有 arm64。
  • Android 与 iOS / iPadOS 不能作为被控端。
  • 没有 Web / 浏览器客户端。
  • 桌面端与移动端没有原生通行密钥登录 —— 桌面登录走浏览器中继。

启动与无人值守

  • 四个平台都不支持开机自启。macOS 装的是 LaunchAgent,Linux 是用户级 systemd 单元,Windows 是登录触发的计划任务。
  • 因此机器重启后停在登录界面,就是不在线的。Windows 上开机自启的那个服务只负责锁屏采集助手,它不会启动被控端本身。
  • 锁屏远控指的是控制一台「已有人登录、当前锁屏」的机器,不是连上一台刚重启的机器。
  • 不支持 Ctrl+Alt+Del。
  • 不支持远程批准 UAC 提权 —— 这是刻意拒绝的:远程输入可以解锁机器,但不能代替机主批准一次提权请求。

会话与记录

  • 会话历史、连接记录、用量与带宽报表都没有接线。两端代码都在,但客户端从不上报会话,所以现在没有可查的数据。
  • 不能选择多显示器 —— 协议里有这个字段,但客户端写死了第一块屏,没有选择器。
  • 没有麦克风,也没有双向音频。音频是被控端单向发送,而且默认关闭。
  • 没有会话录制、网络唤醒、远程打印、触控笔注入,也没有虚拟显示器。
  • 不支持 120 / 144 Hz:协议字段的可表达上限是 65.535 fps,这是结构性的。

部署与服务

  • 没有私有化部署产品。
  • 没有公开的自助注册,也没有自助结账。
  • 没有服务可用性承诺,也没有状态页。
  • 硬件密钥托管只覆盖控制端;被控端的 host.key 是明文文件,Linux 侧没有硬件后端。

三个被控端能力差别很大

macOS 是唯一功能完整的被控端。如果你要接的是 Windows 或 Linux 机器,请先看这张表。

被控端按平台的能力对照
能力macOS 被控端Windows 被控端Linux 被控端
硬件编码H.264 / H.265不支持,只有软件 VP9不支持,只有软件 VP9
音频支持,默认关闭未实现未实现
剪贴板支持,纯文本上限 256 KiB不可用(写入是静默空操作)不支持
文件传输默认关闭,只有下载没有上传不可用(传输根目录从不打开)不支持
分辨率切换真实显示模式切换仅编码端缩放仅编码端缩放
显示环境仅 X11,Wayland 不能整屏采集

以上依据 2026-09-22 的产品状态整理。产品能力变化时,这一页先改,其他页面再改。

需要确认它是否适用于你的场景,联系销售