NexBrowser 指纹浏览器在禁用所有同步的前提下仍同步了用户敏感数据

2026-07-28 00:25 1


[!note]+ 快速了解


NexBrowser 指纹浏览器除了密码同步之外,其余的同步开关形同虚设。在用户明确关闭同步的情况下,依然会将书签、历史记录、Cookie、会话状态以及 IndexedDB 等敏感隐私数据使用固定的对称加密密钥打包上传到云端服务器。




在 另一个本来只是想讨论指纹浏览器越权安装插件的事的帖子,但评论区大家讨论到了数据安全,并且官方 @Rians 给出了这样的回应:


https://linux.do/t/topic/2653802/13



我们可以很自信的告诉大家,Nex科技的团队成员全都有很全面的网络安全经验,甚至于运营人员也处理过安全应急项目。我们在立项之初除了深度研究了多个指纹浏览器的安全事故。也在安全项上做了最小化处理。我们相信安全的短板原则,涉及数据同步等会把信息传给云端的,均为可选项。



没关系,咱事儿一件一件说,这里就说说数据同步的事,厂商所说“最小化处理”,“均为可选”是不是真的呢?基于岌岌可危的信任,完整探索确认一下。


全新环境下测试


用 Windows 沙盒提供一个干净的环境,从官网下载最新的 NexBrowser 和必要的调试抓包工具,并安装启动。注册一个全新的账号(用 iCloud 隐私邮件地址)



创建一个窗口,在偏好开管理关闭全部同步功能



打开浏览器窗口,添加一个书签,在密码管理窗口手动创建一个密码



关闭浏览器,等待启动窗口显示可再次打开窗口







前往APP日志目录查看日志:



看到了同步数据上传成功,但在Fiddler抓取记录中没有看到上传,大概拒绝了系统代理设置,没关系,尝试再把数据拉回来就可以了(沙盒里记事本都没有,之后大部分操作本地执行)


数据分析


在 AI 的帮助下构建了脚本,用于测试分析,文件会在文章尾部附上


测试链接,查看窗口


$ python download_profile_sync.py --token "$NEX_TOKEN" --list-screens
id opened name uuid
------------------------------------------------------------------------------
1395 OFF 环境-89578 6cd7b409195d420d9dabc973f7fb4987

total=1

尝试下载同步数据


python download_profile_sync.py --token "$NEX_TOKEN" --screen-id 1395 --extract --decrypt-cookies --object-key 'screen/<uuid>/329_<hex>.zip' --out-dir 1395download --ensure-open --include-cookie-values
[*] 环境: id=1395 name='环境-89578' uuid=6cd7b409195d420d9dabc973f7fb4987 opened=ON
[*] 同步开关: {"bookSyncSwitch": "OFF", "cookieSyncSwitch": "OFF", "dbSyncSwitch": "OFF", "historySyncSwitch": "OFF", "labelSyncSwitch": "OFF", "passwordSyncSwitch": "OFF", "pluginSyncSwitch": "OFF", "sessionSyncSwitch": "OFF", "storageSyncSwitch": "ON"}
[*] 窗口已是 opened=ON,跳过 screen_switch
[*] 元数据已写: /mnt/d/tools/1395download/screen-1395-meta.json
[*] oss_approve {"businessType": "SCREEN", "serviceId": 1395, "action": "READ"}
-> code=0 msg='成功'
[*] warrant method=GET objectKey=screen/6cd7b409195d420d9dabc973f7fb4987/1395_19fcbc044c5e4a99aa4ca3bfaf28f7d1.zip
[*] expiresAt=2026-07-27 23:32:47 expiresSeconds=300
[*] warrant 已保存: /mnt/d/tools/1395download/screen-1395-warrant.json
[*] 下载归档…
[*] HTTP 200 bytes=29792 content-type=application/x-7z-compressed
[*] sha256=3c3263b606e8d8361a0e41d63179c5f8abee5ac53e2b0e47614fa53182ba2c3c
[ok] 归档已保存: /mnt/d/tools/1395download/screen-1395-profile-sync.7z (29792 bytes)
[ok] 已用 py7zr 解压到 /mnt/d/tools/1395download/screen-1395-extracted
[*] 文件数: 42
[*] manifest contentHash=270d3b5e2e1441eba6d7f361eb323bb650822d9924cd23c63d976b0b16bac25c
[*] manifest secrets={"cookies": {"exported": 9, "skipped": 0, "encrypted": true}, "passwords": {"exported": 0, "skipped": 0, "encrypted": false}}
[*] manifest skippedFiles=[]
[*] 内容标志: {"hasCookiesSecret": true, "hasPasswordsSecret": true, "hasLocalStorage": true, "hasSessionStorage": true, "hasIndexedDB": true, "hasExtensionIndexedDB": true, "hasSessions": true, "hasHistory": true, "hasBookmarks": true, "hasWebData": true}
[*] 文件清单: /mnt/d/tools/1395download/screen-1395-listing.json
[ok] Cookie 元数据: /mnt/d/tools/1395download/screen-1395-cookies-meta.json (count=9)
hosts={'nexscan.net': 3, '.immersivetranslate.com': 4, '.nexscan.net': 2}
[done]

查看下载的screen-1395-meta.json数据:



和再次确认和配置一致,所有能手动关闭的同步项目已经关闭。


查看解压后的文件树


│  manifest.json

├─files
│ └─Default
│ │ Bookmarks
│ │ Favicons
│ │ Favicons-journal
│ │ History
│ │ History-journal
│ │ Preferences
│ │ Secure Preferences
│ │ Shortcuts
│ │ Shortcuts-journal
│ │ Top Sites
│ │ Top Sites-journal
│ │ Web Data
│ │ Web Data-journal
│ │
│ ├─IndexedDB
│ │ ├─chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb
│ │ │ 000003.log
│ │ │ CURRENT
│ │ │ LOCK
│ │ │ LOG
│ │ │ MANIFEST-000001
│ │ │
│ │ └─https_nexscan.net_0.indexeddb.leveldb
│ │ 000003.log
│ │ CURRENT
│ │ LOCK
│ │ LOG
│ │ MANIFEST-000001
│ │
│ ├─Local Storage
│ │ └─leveldb
│ │ 000003.log
│ │ CURRENT
│ │ LOCK
│ │ LOG
│ │ LOG.old
│ │ MANIFEST-000001
│ │
│ ├─Session Storage
│ │ 000003.log
│ │ CURRENT
│ │ LOCK
│ │ LOG
│ │ LOG.old
│ │ MANIFEST-000001
│ │
│ └─Sessions
│ Session_13429638379943659
│ Session_13429638386820755
│ Tabs_13429638382744185
│ Tabs_13429638387019498

└─secrets
cookies.json
passwords.json

mainfast.json文件:



{
"version": 1,
"profileId": "1395",
"createdAt": "2026-07-27T15:09:02.218Z",
"contentHash": "270d3b5e2e1441eba6d7f361eb323bb650822d9924cd23c63d976b0b16bac25c",
"deviceId": "4bffea70-7e23-4d7c-a361-59400f96587e",
"caveats": {
"sessionStorage": "best-effort",
"sessions": "best-effort",
"downloads": "history-records-only",
"passwordAutofill": "password-manager-record-only"
},
"unencrypted": false,
"partial": false,
"skippedFiles": [],
"files": [
{
"path": "Default/Bookmarks",
"bytes": 1457,
"sha256": "4b30ffd747c010a8ac4681f2067f19648098a8afb277efbb753d8ff92fe003ef"
},
{
"path": "Default/Favicons",
"bytes": 24576,
"sha256": "9794e9fa3d131550ee0b4dded605677709dc748449030a2384f7b5d30ebf39a9"
},
{
"path": "Default/Favicons-journal",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/History",
"bytes": 163840,
"sha256": "071189ab429cc11cd838fd16eac642e938434a4dbd790ea1b4ce338bf3e5b3da"
},
{
"path": "Default/History-journal",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/IndexedDB/chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb/000003.log",
"bytes": 1750,
"sha256": "9f8f407b5a9aeb44af4e8e21f6a85bd122f22a6ec1591bff0b4c51641330d443"
},
{
"path": "Default/IndexedDB/chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb/CURRENT",
"bytes": 16,
"sha256": "0f1bad70c7bd1e0a69562853ec529355462fcd0423263a3d39d6d0d70b780443"
},
{
"path": "Default/IndexedDB/chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb/LOCK",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/IndexedDB/chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb/LOG",
"bytes": 347,
"sha256": "ff895e0c6abc6779b0ae17829771e98ce29c0f74f93129244a0dfb9a4ae85d78"
},
{
"path": "Default/IndexedDB/chrome-extension_kidknfejpeaobobafngimbdlinlnhieh_0.indexeddb.leveldb/MANIFEST-000001",
"bytes": 23,
"sha256": "720a78803b84cbcc8eb204d5cf8ea6ee2f693be0ab2124ddf2b81455de02a3ed"
},
{
"path": "Default/IndexedDB/https_nexscan.net_0.indexeddb.leveldb/000003.log",
"bytes": 1025,
"sha256": "f5b181fbbf6788c3eb844a25f89289fd82d527d535336be26bb1891c894ef8fc"
},
{
"path": "Default/IndexedDB/https_nexscan.net_0.indexeddb.leveldb/CURRENT",
"bytes": 16,
"sha256": "0f1bad70c7bd1e0a69562853ec529355462fcd0423263a3d39d6d0d70b780443"
},
{
"path": "Default/IndexedDB/https_nexscan.net_0.indexeddb.leveldb/LOCK",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/IndexedDB/https_nexscan.net_0.indexeddb.leveldb/LOG",
"bytes": 283,
"sha256": "d317884ab887f1210879ceb9d6844e63d525dd9a56d82af0f472d1bd73301ad9"
},
{
"path": "Default/IndexedDB/https_nexscan.net_0.indexeddb.leveldb/MANIFEST-000001",
"bytes": 23,
"sha256": "720a78803b84cbcc8eb204d5cf8ea6ee2f693be0ab2124ddf2b81455de02a3ed"
},
{
"path": "Default/Local Storage/leveldb/000003.log",
"bytes": 729,
"sha256": "ae6bfa1834eeda6cd2ef5f96df7fb2be87dc5411d00dc498fd9339e30fd22e66"
},
{
"path": "Default/Local Storage/leveldb/CURRENT",
"bytes": 16,
"sha256": "0f1bad70c7bd1e0a69562853ec529355462fcd0423263a3d39d6d0d70b780443"
},
{
"path": "Default/Local Storage/leveldb/LOCK",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/Local Storage/leveldb/LOG",
"bytes": 272,
"sha256": "6cc7f25e93b73c726daa77726a68ecc9ea0a306587e64474b545650f40a66f1c"
},
{
"path": "Default/Local Storage/leveldb/LOG.old",
"bytes": 229,
"sha256": "4eca02da76f5a4bf56ca2effbaaac6c620e88f369f60bbcb9c906b3d12819e1f"
},
{
"path": "Default/Local Storage/leveldb/MANIFEST-000001",
"bytes": 41,
"sha256": "f9d31b278e215eb0d0e9cd709edfa037e828f36214ab7906f612160fead4b2b4"
},
{
"path": "Default/Preferences",
"bytes": 10188,
"sha256": "4faff75a4b9759fe280ce565e9ad8d863285421ff6b85e908cba93d42cde63c4"
},
{
"path": "Default/Secure Preferences",
"bytes": 13037,
"sha256": "7c0200ce6658b375f54291cee5bb37d6f17b2bf2d93513a54d263bd0002845db"
},
{
"path": "Default/Session Storage/000003.log",
"bytes": 1081,
"sha256": "50757968feec3c149d30bde1e4adf5b55eda8a6cb088660a8f25ba59c955d0b5"
},
{
"path": "Default/Session Storage/CURRENT",
"bytes": 16,
"sha256": "0f1bad70c7bd1e0a69562853ec529355462fcd0423263a3d39d6d0d70b780443"
},
{
"path": "Default/Session Storage/LOCK",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/Session Storage/LOG",
"bytes": 260,
"sha256": "9b3a16986ccaab1e720a16581dfa4de845df0be6dcd71b746ba52669edd32656"
},
{
"path": "Default/Session Storage/LOG.old",
"bytes": 217,
"sha256": "438fba045a9626dc593707011d6fa73590a3a9bbef9d342c241919a8cf5016ac"
},
{
"path": "Default/Session Storage/MANIFEST-000001",
"bytes": 41,
"sha256": "f9d31b278e215eb0d0e9cd709edfa037e828f36214ab7906f612160fead4b2b4"
},
{
"path": "Default/Sessions/Session_13429638379943659",
"bytes": 2567,
"sha256": "839e564a25ef1becd8d5812fa5b4c1c34a1e57b372819c4d6c2b59ae20dfce19"
},
{
"path": "Default/Sessions/Session_13429638386820755",
"bytes": 12117,
"sha256": "6962653564d92ab2bf947996de61f19f723b765ae9e2130078498d49623e075a"
},
{
"path": "Default/Sessions/Tabs_13429638382744185",
"bytes": 1651,
"sha256": "a5265b697a5cfe9201f3cccb33768c1d888cefc1176132405fe47b0b471357b4"
},
{
"path": "Default/Sessions/Tabs_13429638387019498",
"bytes": 6437,
"sha256": "ef98f7e8841a7aeaa0a9cff06b1b2dc0f562429e3f4b17beb890c414c643a597"
},
{
"path": "Default/Shortcuts",
"bytes": 20480,
"sha256": "7766a9b60e33ceb16bfc581390f10a79361348e2271d02235c23f77b744d6b4d"
},
{
"path": "Default/Shortcuts-journal",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/Top Sites",
"bytes": 20480,
"sha256": "9b4719f794153fabfc0f01f77037e2db9ae94fb4591cd117e591ea71d851a8e5"
},
{
"path": "Default/Top Sites-journal",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
},
{
"path": "Default/Web Data",
"bytes": 155648,
"sha256": "1a6e5582189d0004f3f96d5717b23a6e9e5c8f0b5f6a9f1b67e8adf238287075"
},
{
"path": "Default/Web Data-journal",
"bytes": 0,
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
],
"secrets": {
"cookies": {
"exported": 9,
"skipped": 0,
"encrypted": true
},
"passwords": {
"exported": 0,
"skipped": 0,
"encrypted": false
}
}
}


之后 Default/Bookmarks 中找到了添加的标签



{
"checksum": "7605e288b6f0417db1439b3bc4c8f2c6",
"roots": {
"bookmark_bar": {
"children": [ {
"date_added": "13429638438295094",
"date_last_used": "0",
"guid": "f6365a13-2439-491e-a245-268e6b44bae4",
"id": "5",
"meta_info": {
"power_bookmark_meta": ""
},
"name": "浏览器指纹环境真实性检测",
"type": "url",
"url": "https://nexscan.net/"
} ],
"date_added": "13429638384310995",
"date_last_used": "0",
"date_modified": "13429638444985600",
"guid": "0bc5d13f-2cba-5d74-951f-3f233fe6c908",
"id": "1",
"name": "书签栏",
"type": "folder"
},
"other": {
"children": [ ],
"date_added": "13429638384310995",
"date_last_used": "0",
"date_modified": "13429638438295094",
"guid": "82b081ec-3dd3-529c-8475-ab6c344590dd",
"id": "2",
"name": "其他书签",
"type": "folder"
},
"synced": {
"children": [ ],
"date_added": "13429638384310995",
"date_last_used": "0",
"date_modified": "0",
"guid": "4cf2e351-0e85-532b-bb37-df045d8f8d0f",
"id": "3",
"name": "移动设备书签",
"type": "folder"
}
},
"version": 1
}


作为 sqlite3 读取 Default/History 找到了历史记录



在 Default\Sessions 下有标签和 Sessions 数据


在 IndexedDB 也包含了可用的数据



secrets 文件夹下 cookies.json 中包含了 cookies



{
"version": 1,
"encrypted": true,
"algorithm": "platform-static-aes-256-gcm-v1",
"keyId": "platform-static-default",
"data": "eyJ2ZXJzaW9uIjoxLCJrZXlJZCI6InBsYXRmb3JtLXN0YXRpYy1kZWZhdWx0IiwiaXYiOiI0djVrUm9VOTNaQ05DVTJNIiwidGFnIjoiTHdsMkREdmlkaG9odTdheVJ2WVEzUT09IiwiZGF0YSI6InR3U0FOeGs4Z1lOVzcwVjd3NFF3aERQcjJjUFFUUmtoVTlENFIvZ3l6bU0xdXBHRG5vTnYrNmhDQTNoWEliUDkvNHNLZkRGNmM1VlFqQXJFNkFxcWYya2oxVHhHY3QyTzVVVnVDL0o0N2N6TCtmcXlkWnNtRkh2UDJ1VWt1Q3huTy9vcHBJL0pVZGkrVGtMcUtTb1NEWDFwVDZpc3JjVkZ5M3g2MnlLcnFWUDlJVGtxVElHZytlbkdteDB4UnEzaDgrd0IzOCs3a1h4NkVvcXNIYmxud0puVmxkY21pUGJBaHpPcXBYY3N4ZmZGYjhUVWlGNG43bWpYdmdsK1g5bTFzTWh6N2hXMHFSbXRXeTBWZzZLOGhEeFFHaGZIbFpILzV5R20yVjlFa0xmYjRqd2l3QkVwVmwvU3dmRjJxTWdOWENzRlRtUlVXclFOSENSeGxURlJBRXYrRkJ4M3p4R2hPOTFKMFlXd3QzQTZvUFFUMXhub2xXdCtTT3VpeEMyTFFmZ2o0R21URmdvRG5PTDVqN0ZDS1NtVENBYnQwcUVVa3Y4UzRrVG94VWVPN1ZHdjdyWnZTeWRlRkpvTE1rRzZLcjYxTXp5RXJUUWdESVBuc1ZDbWVpa0l6UGlGbC9hbUt3UjBLS1VlcGtOWGpuZ0ROQTRBbzI5NjZlQXlKTVhZZ3VmN0swaUlpSmNUMVFmc2NKZmd4V0drOFBvWlgvUFl1MC95WUFtclRYcWNibWNpY2NxSk56Rk1YSzhsSDVDVVFnSlRxUjhCb3g4SGYwSnRzQmw5M0c0OHF3bkxkWEFxM3MzdVNGdVdqeXZRMDNzTnEzUVdGaGV5a1VIeUVGMCt2T05lZlJtTEVMQkh1U1VLUVlCVVpGaUxVbVlEZlMwTVcvbkU4ZFhVcTlCdnovOTZZUXJBdHQxenYxZ1hjaGltckhOc3VYRVBIQmxDSlhPWEtwV2dKdkloTVovZTc5K1o2M1FuUUNGd2FNU3B0dnQzd0xLZW9MbEl0L21nSjU5dFZqdDE0V3ppZGs5Tys1U0NrU2kwdmp1NU1KVWlZd051d2RaZ0xCc1E5VXUveCtaWmQvRE11YXAya0F0MXNBRFRYVXgyRjAyK3l3dXIvOTZNaGNDY0tGUDZyN1o5Qm1WUGNaRVk1NjJmZWt6L0pMQzdFejErL3FJSlA5M0JTQkdlYjcvSnQ1U21jcUgySG03ZURscTJHN2FVaWRoSlk4MkZ4NXZ3WmJuK2dBOEx0Ui80ZTVqUGgxMGFLMW5EeUhxMGZWMmE4SnhZRkdEWmc5KzJ3NHhMemdXVkdjclI3RkRoQjYvU09nWk5McFhpQ3JyYmp6OWNOelhCcjFZNEpieExlNVA1VW00aTdtbFFTVjRoM2xtYWw4WWRhNjV4MUFjbmgyVzd4MUpJUXF0RW11elgvbE5nMnNZdzVZNFNUUnNSRU1udC9UZmpuU1J1ZUEyQkR5NnM2eVlnM29CTjdWOFJHK2l4UGhiY2J4V3FyNU1HeVErNDVxeTNFUERjNlY2bXBZK3EwUkxUUmlIZEJ3K2Z3di94eFVYbHIzT3AyZWFEL3ZXSFhkbllySDBQU1czK2RzUGtXdmsyVTkwM2RCRXN1b203bm9ERktGVDVTcjYzVFpWZXl3b1MvNEdxYmlvL21BVWdqcU1NeDB6TnpublhUalBsZldoTTVhV0pSTnA2a1RVVnp3dTZNcURvb2lMWVduaklpYzFBbk5zQ093OWNDMlExbk9VcjFiWXVGWTlxTUloWlFIY09zNFdRT1NidmNMTlZIK0VXWU9Qekt4ZUw1RFBUazFxY3JRek1VMmdRNGd0ZmJ6S1o2OVVCUkFXSFFVZ3puaktteExlNlRja3A2TGptRlc4eDhwZUE3R1h1dVVpeGxRUTI1VlRKWEJxYi9yUmdldnNhaWZmMUs3UHZ1WkRpa2s0ckhES2RVRktWNVJLRmRsQVpkTUFYcXhSQWl1RVdsZ3lGMjFSeTZJUUxka3AzWENlVUZZUFYyMXZNNGJtbDhwTUt1SjVjcFUrdEtpR3dlNE5hTnRwN25JeTlzRUYxYU5nbjd2YmhzYi85b3lsVHU1dkZ6VDRldW8yL0FUTCtjUG53U1VudzA4UTVDUE95eC84eGU2Tk1nUFBOQWNaUVVNWWtxVUxXRUdKaW1vendxdHVRdVlQakhsR3pRbFlkQ3JFeWJQUWQveHBzWjZTVzNWdFBjb2VQVHNuY29XSHNNNEhZa0IrWU03TjBjTVh1Q1AyWmN5ODRKTXMyakVjbkJtdzBkVjJ5OW1qZmRFQi9xR3pCMWxlZHJzSm42cHJ2RklmendzWVhOcnBYTVgyMTFqeFVKWURPbUp5L3BBeTViSm55b3duc0JMYlVqeU5DMFA4Q2VaM2FRcFVTUk9ySWdQcGh1d2tPRURQY2lTNXZIajlVay9qelUwMXhQQUZTbEtBdXhiZ3cxN0x2SksxNUpBV01NUHEvdWJ2dXFwTlVRTmhzQm1WT05oWmNENzBzUldEWmdGMjhLL1p2UVlRSk9MeDFEaGpzZ29CT2VhQ1Nad21Xdm9RWlpwU3JUU21RTGJHcmh4RVErT0NMVUs5OEYvWG5nUHdvekh1MExwL1c2MXFpcXhnQnlSdmp0MSthUjA1eEhzbnloUEUvNGMzTHN0RjRTenZLWXZqemRzeWRQa2xQNExGOGMzaHVmNnpjcnc1YWl6bUwyTlljeEsxUTJ6MkF3N1g5M2xkd1pWeWtZQ0dyMDMxOVRodmxId2p3YWYxN1dYd296djVlUjU2U0x1S01vNFFiMDhsaWh4aWhIVVhQRCtUaG9FS1ZYeng2TWtidkpnQlVLQW1zeHBmYjRXWitJNXdibkthT2g1dTMyeVB6d3czcGZrUkxGeGpJb0tXUG93U0RJeFNkakE4PSJ9"
}


根据AI的分析



对其解密可得cookies


[
{
"host": "nexscan.net",
"name": "server_name_session",
"path": "/",
"value": "8a6940c0ca1d216234e2d20a330c66c4"
},
{
"host": "nexscan.net",
"name": "nex_sync_restore_bootstrap",
"path": "/",
"value": "1"
},
{
"host": ".immersivetranslate.com",
"name": "_ga",
"path": "/",
"value": "GA1.1.1013440837.1785164787"
},
{
"host": ".immersivetranslate.com",
"name": "_ga_H9L9M7D41X",
"path": "/",
"value": "GS2.1.s1785164787$o1$g0$t1785164787$j60$l0$h0"
},
{
"host": ".nexscan.net",
"name": "_ga_N2PKJBSG3V",
"path": "/",
"value": "GS2.1.s1785164788$o1$g0$t1785164788$j60$l0$h0"
},
{
"host": ".nexscan.net",
"name": "_ga",
"path": "/",
"value": "GA1.1.493888125.1785164788"
},
{
"host": ".immersivetranslate.com",
"name": "_clck",
"path": "/",
"value": "qxu1h9%5E2%5Eg83%5E0%5E2399"
},
{
"host": ".immersivetranslate.com",
"name": "_clsk",
"path": "/",
"value": "9udiaa%5E1785164790499%5E1%5E1%5Eh.clarity.ms%2Fcollect"
},
{
"host": "nexscan.net",
"name": "nexscan_visitor",
"path": "/",
"value": "f8784e9a-ebef-4216-908e-5f4ab5c591ef"
}
]

特别的,其中 password.json 内容:


{
"version": 1,
"items": []
}

至此,可以看到:


数据同步的开关除了同步密码外形同虚设,并且在用户无感的情况下同步了 IndexedDB、Session、Storage、Preferences、Secure Preferences、Web Data 等内容


但并不代表厂商不想同步用户的密码,看 AI 的分析:



总结


依然有请 G 老师为大家总结:




测试期间 Fiddler 抓取到的数据(去除了部分沉浸式翻译,Windows 更新,js,css 的数据)

20260727_Fiddler_export.zip (328.3 KB)


%APPDATA%\NexBrowser\logs 路径下的日志文件

2026-07-27.log.zip (3.4 KB)


文中出现的,可用于复现的 Python 脚本和获取到的同步数据包(包括分析内容)

tools.zip (123.7 KB)


P.S. 测试的临时邮箱已经释放,账号已经修改了密码,删除了窗口,但不保证有什么幺蛾子出现。

最新回复 (17)
  • 朋友做吗 07-28 00:33
    1

    NexBrowser 所以这个浏览器风险这么大,还好我下载又卸载了

  • Tiande 07-28 00:36
    2

    表面看是指纹浏览器,实则是裸奔电诈app​^-^

  • Kirafishy 07-28 00:40
    3

    涉及数据同步等会把信息传给云端的,均为可选项。



    到也没说错,你就说是不是可选项吧

  • Rians 07-28 01:08
    4

    看到佬的检测了。如果问题属实那是很严重的bug了,明早上班后我们会逐一核实回复。

  • hugh 07-28 01:24
    5

    前几天论坛也有爆指纹浏览器问题,也是他家的吗

  • 楼主 07-28 08:41
    6

    如果是这两天看到的只说了强制安装插件没具体说同步的事,那大概是开头提到的“另一个帖子”


    由于官方避重就轻的回应实在难以信服,此外也很想知道,自己和朋友天天在用的东西到底安不安全,所以有了这帖子

  • 高行健 07-28 08:59
    7

    当时推广时注册下载安装了。虽说使用频度不算太高,但毕竟在自己电脑里安装了,也会用到的东西,到底安不安全,值得好好关注

  • wyjistest 07-28 10:19
    8

    产品做好不容易,但是产品失败很容易,不要把用户的信任不当回事,信任崩塌之后很难再建立了,毕竟还有很多竞品。

  • 岚冰 07-28 12:18
    9

    不是~怎么还有后续啊?我到底用不用好… 刚看完前述贴回复说



    我们可以很自信的告诉大家,Nex 科技的团队成员全都有很全面的网络安全经验,甚至于运营人员也处理过安全应急项目。



    你这抓取、打包、加密推送一条龙都都做完了就没测试个开关吗?不是说好的有很全面的网络安全经验么~那上线之前测试的时候应该有测试到开关能不能正常工作,数据是不能真的留本地吧

  • 114899811 07-28 12:22
    10

    楼主真的太坏了,居然给我推荐过这种软件,赶紧把楼主吊起来打! ^-^

  • candy0127 07-28 13:24
    11

    很多地方只能让产品“被看见”,L 站会让产品“被拷打”。

    而一个产品如果能经得住佬友们的拷打,基本就说明它确实有继续打磨的价值。



    嘿,确实是被拷打了,但能不能经得住好难说

  • 楼主 07-28 18:37
    12

    那是很严重的bug



    截止到目前,没有等到 @Rians 的回复,莫非今天团队摸鱼去了?或者是摆烂了,就这样了,爱用不用?


    顺便说,UI 没正确绑定业务逻辑可以说是 Bug;但就目前分析的结果,精准定位文件路径,使用特定算法打包、再使用全局硬编码密钥加密并成功推送到 OSS,这行云流水的操作,必然是精心设计并实现的功能,绝对不可能是用“Bug”这个接口就能糊弄过去的哦,一些用户不懂不代表所有用户都不懂。

  • Monika 07-28 21:27
    13

    vibe 时代了, 代码都是 ai 写的

    在我印象里, 加上这个, 至少有 3 个软件的"关闭分享、同步"功能形同虚设


    后续大概是"ai 写的代码, 这个 button 绑定失败了, 已修复, 后续会加强测试"

  • Rians 07-28 22:42
    14

    这两天 LinuxDo 的帖子,我们都看完了。


    包括主楼,也包括后面的评论。


    有骂我们的,有质疑我们的,也有认真帮我们分析问题的。


    也没有觉得这些讨论是在故意针对我们。


    相反,看完以后,我们内部开了几次会。


    有些地方,我们确实做得不够好。


    也有一些讨论,我们认为还需要回到技术本身,而不是继续靠猜测。


    所以想把我们的想法说一下。




    先说插件。


    这个不用解释。


    沉浸式翻译插件,确实是我们官方安装的。


    原因也很简单。


    我们的很多用户都是跨境行业,翻译几乎是刚需。


    所以当时产品设计的时候,我们觉得,与其让每个人自己去装,不如直接准备好。


    站在产品角度,当时觉得这是在帮用户。


    站在今天再回头看,我们觉得自己越界了。


    问题不是插件。


    而是我们替用户做了选择。


    今天是翻译插件。


    明天理论上就可以是别的插件。


    软件有这个能力,本身就足够让人警惕。


    这一点,大家说得没错。


    所以后续这个能力会调整。


    浏览器提供能力。


    是否安装,由用户决定。




    再说同步。


    第二篇帖子,我们也重新做了验证。


    先说结论。


    确实存在同步逻辑没有完全按照用户配置工作的情况。


    这是 Bug。


    没有什么好解释的。


    发现了,就修。


    帖子里面还有一些技术分析。


    有些我们已经确认。


    有些我们自己还在验证。


    我们不会为了平息舆论,把所有分析都认下来。


    同样,也不会因为被质疑,就回避已经存在的问题。




    其实这两天,我们想得最多的,不是插件,也不是同步。


    而是信任。


    之前我们的思路一直都是:


    “这是官方提供的能力。”


    后来发现,这句话其实站不住。


    安全产品最重要的,不是官方有没有恶意。


    而是即使官方没有恶意,也应该尽量减少自己拥有的能力。


    以前我们更多考虑的是产品体验。


    这次大家提醒了我们另外一件事。


    边界。


    这是我们应该补上的一课。




    最后。


    帖子里的批评,我们接受。


    帖子里的部分推断,我们保留不同意见。


    Bug,我们修。


    设计问题,我们改。


    没有确认的事情,我们不会因为讨论越来越多就直接承认。


    同样,也不会因为不好看就装作没发生。


    这篇回复发完,我们不会继续在论坛里一条一条解释。


    产品有没有改好,比我们写多少字都有说服力。


    欢迎大家继续测试。


    如果下个版本还有这些问题,继续骂。


    如果没有了,那说明这次帖子没有白发。

  • Monika 07-28 23:06
    15

    整体阅读很舒适, 是合格的品牌公关


    有的用户会回来, 有的用户永远就流失了

  • 楼主 07-28 23:59
    16

    不得不说,这一篇回应比起上一篇有了质的飞跃,没了傲慢、推诿和“比烂”的姿态,看到了真诚、友善的面孔。和一些逃避问题,不愿回复的厂商比是巨大的领先。


    并且经过确认,在这个帖子发出的时候,


    自动下发翻译插件安装的行为已经取消



    {
    "code": 0,
    "msg": "成功",
    "data": {
    "client": null,
    "forward": {
    "id": 15114,
    "type": "FORWARD",
    "os": "Windows",
    "version": "1.13.14",
    "url": "https://oss.nexbrowser.net/app/Windows/forward/forward-1.13.14.zip?1785230639640",
    "title": "sing-box",
    "desc": "sing-box",
    "musted": "ON",
    "createdAt": "2026-06-11 18:58:00",
    "updatedAt": "2026-07-04 00:41:33"
    },
    "resource": {
    "id": 15115,
    "type": "RESOURCE",
    "os": "Windows",
    "version": "2.0.3",
    "url": "https://oss.nexbrowser.net/app/Windows/renderer/renderer-full-2.0.3.tar.br?1785230639640",
    "title": "客户端资源包",
    "desc": "客户端资源包",
    "musted": "ON",
    "createdAt": "2026-06-19 16:43:44",
    "updatedAt": "2026-07-26 02:35:20"
    },
    "cores": [
    {
    "id": 15117,
    "type": "CORE",
    "os": "Windows",
    "version": "150",
    "url": "https://oss.nexbrowser.net/app/Windows/core/chrome/150.7z?1785230639640",
    "title": "内核",
    "desc": "更新150内核",
    "musted": "OFF",
    "createdAt": "2026-07-24 00:05:09",
    "updatedAt": "2026-07-26 02:35:15"
    },
    {
    "id": 15116,
    "type": "CORE",
    "os": "Windows",
    "version": "148",
    "url": "https://oss.nexbrowser.net/app/Windows/core/chrome/148.7z?1785230639640",
    "title": "内核",
    "desc": "新增支持148内核
    优化指纹字体",
    "musted": "OFF",
    "createdAt": "2026-07-13 21:34:16",
    "updatedAt": "2026-07-24 00:03:57"
    },
    {
    "id": 1,
    "type": "CORE",
    "os": "Windows",
    "version": "146",
    "url": "https://oss.nexbrowser.net/app/Windows/core/chrome/146.7z?1785230639640",
    "title": "内核",
    "desc": "内核版本146",
    "musted": "ON",
    "createdAt": "2026-01-28 11:52:59",
    "updatedAt": "2026-07-24 00:04:02"
    }
    ],
    "plugins": [
    {
    "id": 15127,
    "type": "PLUGIN",
    "os": "Windows",
    "version": "1.0.1",
    "url": "https://oss.nexbrowser.net/app/Windows/extension/mfpkfneejkegaphnaebeojnkkimbaodk.7z?1785230639640",
    "title": "自动输入插件",
    "desc": "表单自动输入插件",
    "musted": "ON",
    "createdAt": "2026-07-24 16:15:22",
    "updatedAt": "2026-07-26 02:35:03"
    }
    ]
    }
    }

    #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


    本来事情到这里,我和朋友们卸载浏览器,然后大家各自散场在场面上是最好看的,但就如所说



    不会因为不好看就装作没发生。



    那么,话说回来,还是存在避重就轻的情况,又或者“有很全面的网络安全经验”的团队经过了那么长时间的复现,还没得出结论?


    整个回复,针对这次讨论中最严重的安全灾难:所有用户共享一把 4f0b6f01... 加密密钥只字未提! 只用“有些推断我们保留不同意见”含糊其辞地掩盖了过去,不解释密钥问题,所谓的“安全边界”就是一句空话。


    要知如果出现 公司内鬼/运维失误/权限横向移动漏洞/黑客攻击 等任何可能的途径,用户备份的数据一旦泄露,那么所有用户的 浏览记录、IndexedDB、LocalStorage、Session等数据 将全部泄露。


    正如所说



    安全产品最重要的,不是官方有没有恶意。


    而是即使官方没有恶意,也应该尽量减少自己拥有的能力。



    这确实是整篇里最有含金量,也是我最希望看到的,作为用户,永远不应完全信任产品,作为产品,应该具备在零信任前提下依然能提供完整服务的能力。(也能理解为了符合监管和合规的需要,适当的信息留存和采集,但至少确保单方作恶无法拿到隐私数据是完全可行的)



    我们不会为了平息舆论,把所有分析都认下来。



    如果觉得有任何存疑或者需要否认的,可以直接指出,“不否认,也不承认”的态度,会把用户推的更远。



    如果下个版本还有这些问题,继续骂。



    说给想选用 Nex 指纹浏览器的其他小伙伴:听其言,更要观其行


    我想,作为用户,至少对于我希望看到的,至少是:



    • 承诺在安全、可靠的环境下对已经同步的本不应该同步的数据进行永久销毁;

    • 修好了 Bug,补全缺失的同步控制开关,让同步控制真可以实现;

    • 客户端内置静态密钥 一事 做出解释/拿出实质证据的否认/明确告知用户存在风险


    最好能:



    • 引入真正的 端到端加密(E2EE),彻底废弃预共享密钥


    如果都做到了,那 Nex 浏览器依然是那个非常棒的而且足够安全的被大家喜爱的指纹浏览器,如果最低的要求都做不到,那这事就到这了,大概不会再有下个版本的使用了。

  • akk 07-29 00:02
    17

    为什么我感觉回复突然间诡异起来了?

    这对吗?

* 帖子来源Linux.do
返回