新闻详情

新闻详情

首页 / 资讯中心 / 详情

codex-desktop-linux信任链详解:从GPG签名验证到ASAR字节级一致的完整保障机制

发布时间:2026/9/27 7:33:55来源:尧图网络
codex-desktop-linux信任链详解:从GPG签名验证到ASAR字节级一致的完整保障机制
codex-desktop-linux信任链详解从GPG签名验证到ASAR字节级一致的完整保障机制【免费下载链接】codex-desktop-linuxUnofficial ChatGPT desktop app for Linux (formerly the Codex app), built locally from OpenAI’s official macOS app. Includes Chat, Work, and Codex. Packages for Debian/Ubuntu (.deb), Fedora/openSUSE (.rpm), Arch (pacman), Nix/NixOS, and AppImage, with Wayland and X11 support.项目地址: https://gitcode.com/gh_mirrors/co/codex-desktop-linuxcodex-desktop-linux是非官方的 Linux 版 ChatGPT 桌面应用社区版菜单中显示为ChatGPT Community。它以 OpenAI 官方签名的 Linux 包为唯一上游来源通过「GPG 签名验证 逐级 SHA-256 校验 ASAR 字节级一致」三道关卡保证你安装的每个字节都可追溯到官方签名。本文带你完整走一遍这条信任链 信任链全景四个环节层层把关整条链可以概括为一句话先证明索引是真的再证明包是真的最后证明应用没被改过。官方架构图在 docs/architecture.md 中社区应用图标带蓝色 C 标记用于在桌面菜单中与官方ChatGPT区分。第一步固定 GPG 公钥锁定指纹信任的起点是一把固定在仓库里的 OpenAI 公钥而不是系统里恰好存在的密钥环。相关文件公钥Base64 编码assets/openai-codex-linux-repository-key.gpg.base64验证逻辑scripts/lib/upstream-linux-package.js在 scripts/lib/upstream-linux-package.js 中官方密钥指纹被硬编码3BFA0E4AE8B8CC16A2D9BA684A3B4A566C4660E4构建时脚本会先把 Base64 公钥解码为临时密钥环文件权限 0600再调用gpg --show-keys --with-colons检查该公钥的指纹是否完全匹配上面这个值——指纹对不上就直接报错退出杜绝同名字段不同密钥的伪造场景。第二步InRelease → Packages → .deb 的三级哈希链签名公钥确认后校验沿着「索引签名 → 索引摘要 → 包摘要」逐级向下传递核心代码见 verifyInRelease() 与 verifyIndexedFile()关卡校验对象手段①dists/stable/InReleasegpgv --keyring验证 OpenAI 明签签名②main/binary-arch/Packages比对 InRelease 载荷中 SHA256 段记录的哈希文件大小③chatgpt_版本_架构.deb比对 Packages 索引中该条目的 SHA-256Size除了哈希脚本还会做结构性检查从 Packages 的 deb822 条目中必须恰好找到 1 个chatgpt/架构条目selectChatgptPackage()版本号、Filename路径形态、SHA256 格式、Size 任一不合规则整体失败下载文件以0o600权限落盘防止中途被其他用户篡改。整个流程刻意不信任latest这类移动别名下载链接——docs/architecture.md 明确写道信任只来源于InRelease签名、Packages摘要、包 SHA-256 这条链。第三步ASAR 字节级一致——没打补丁就不许动app.asar是 Electron 应用的核心代码包。本项目对它的态度非常硬只要没有任何启用的功能需要修改 ASARresources/app.asar原样复制其 SHA-256 必须与官方包完全相等——连 ASAR 解包工具都不会运行。实现位于 scripts/lib/asar-patch.sh无描述符时linux-features/features.example.json 默认不启用任何功能直接写一份空补丁报告记录preservedByteForByte: truewrite_empty_feature_patch_report有描述符时在临时目录解包 → 应用声明式补丁 → 用固定文件排序--ordering确定性重打包→ 生成补丁报告分别记录上游 ASAR 与产物 ASAR 的 SHA-256record_patch_report_asar_hashes如果补丁描述符一个字节都没改到东西上游版本漂移但无实际变更则放弃重打包继续保留官方 ASAR 的字节一致性反之若某个启用功能出现漂移补丁找不到目标代码该候选版本会被直接拒绝不会进入安装。这正是 README.md 所说的核心不变量With no ASAR-changing feature enabled,resources/app.asarremains byte-for-byte identical to the official package.第四步失败即关闭Fail-Closed——错误永远不会被绕过信任链的最后一道哲学是任何一环失败都不降级、不提示跳过签名错、哈希错、包名/版本/架构错、载荷不完整 → 构建中止候选版本不被接纳docs/architecture.md 的 Architecture invariants构建是事务性的先在并行的codex-app-next/生成候选全部校验通过后才原子替换现役应用树README.md 的排障建议也很直接Signature or package verification fails — Do not bypass it——检查系统时间、网络、gpgv是否安装、架构与磁盘空间而不是想办法跳过校验。上游包维护脚本scripts/lib/upstream-linux-package.sh解包官方载荷时不执行任何 maintainer 脚本且官方包的 APT 源配置与安装脚本永远不会混入社区包——防止官方包管理器接管/opt/codex-desktop。自更新环节codex-update-manager 如何延续同一信任链原生包默认附带 Rust 写的更新管理器源码 updater/src/行为文档 docs/updater.md它复用了完全相同的验证逻辑发布发现重新验证签名的InRelease→Packages摘要 → 包 SHA-256版本/架构/哈希三元组没变则视为无操作内容寻址缓存下载物按version-architecture-sha256.deb命名缓存哈希即身份重建打包内的 update-builder 只提取官方载荷、应用你本地已启用的功能、生成对应格式的新包提升与回滚应用未退出绝不替换原子交换失败有持久日志恢复上一版本始终保留为回滚目标codex-update-manager rollback一键退回。一句话更新过程中任何一步验证失败现役应用永远不会被替换。信任链速查表问题该看哪里官方公钥与指纹assets/openai-codex-linux-repository-key.gpg.base64、docs/architecture.mdInRelease/Packages/.deb 三级校验scripts/lib/upstream-linux-package.jsASAR 字节级一致与补丁报告scripts/lib/asar-patch.sh、docs/build-and-packaging.md更新器验证与回滚docs/updater.md、updater/src/upstream.rs构建/打包总览docs/build-and-packaging.md签名失败排查docs/troubleshooting.md小结codex-desktop-linux 的信任链设计可以浓缩成三句话公钥固定——只认指纹3BFA0E4AE8B8CC16A2D9BA684A3B4A566C4660E4对应的 OpenAI 仓库密钥逐级摘要——InRelease签名 →Packages哈希 →.debSHA-256环环相扣、失败即中止字节一致——不开功能时app.asar与官方包逐字节相同开了功能也有确定性重打包 漂移拒绝兜底。对新手来说你不需要记住任何细节只要验证环节报错按提示修时间/网络/依赖即可永远不要试图绕过——这条链存在的意义就是让你装的东西确实是官方那一份这件事有据可查 ✅【免费下载链接】codex-desktop-linuxUnofficial ChatGPT desktop app for Linux (formerly the Codex app), built locally from OpenAI’s official macOS app. Includes Chat, Work, and Codex. Packages for Debian/Ubuntu (.deb), Fedora/openSUSE (.rpm), Arch (pacman), Nix/NixOS, and AppImage, with Wayland and X11 support.项目地址: https://gitcode.com/gh_mirrors/co/codex-desktop-linux创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

MySQL内连接Join 2026/9/27 7:33:51

MySQL内连接Join

在关系型数据库管理系统(RDBMS)中,表连接是处理多表查询的关键技能。它允许从不同的表中组合相关的数据,使数据查询更加高效和灵活。内连接(INNER JOIN)是最常用的表连接之一,它用于从多个表中提取匹配的记录。通过内连接,可以关联不同表中的数据,找到符合条件的组合结…

阅读更多 →
《三国志》游戏的MySQL数据设计与管理 2026/9/27 7:33:51

《三国志》游戏的MySQL数据设计与管理

在任何一款成功的游戏背后,数据系统的设计与管理起着至关重要的作用。它不仅决定了游戏的运行效率,更直接影响到玩家的沉浸感和体验。《三国志》作为一款经典的策略游戏,凭借其庞大的数据架构和精细的数据管理,为玩家带来了丰富而多样的游戏体验。 通过对武将、城池、战役…

阅读更多 →
《三国志》游戏的数据表设计与优化 2026/9/27 7:33:51

《三国志》游戏的数据表设计与优化

《三国志》系列游戏中的数据表设计与优化是开发过程中极其重要的环节,尤其是面对复杂的游戏系统时,合理的数据管理架构能显著提升游戏的流畅性和玩家的整体体验。在之前的内容中,已经初步介绍了数据库的基础概念以及《三国志》游戏中的数据管理需求。 本篇文章将深入探讨如…

阅读更多 →
Peach Pit自动生成两大方案对比:Shark2Pit vs DTV‑LLM 2026/9/27 7:33:45

Peach Pit自动生成两大方案对比:Shark2Pit vs DTV‑LLM

0 前言 Peach作为经典生成式协议模糊测试框架,测试效果高度依赖Pit配置文件。Pit文件需要手动编写DataModel数据模型与StateModel状态模型,编写门槛高、耗时长,需要深厚协议领域知识,极大限制协议模糊测试落地。 目前学术界出现两…

阅读更多 →
3个避坑指南:哪里做网络推广好?新手必看注意事项 2026/9/27 7:33:44

3个避坑指南:哪里做网络推广好?新手必看注意事项

3个避坑指南:哪里做网络推广好?新手必看注意事项 备案流程一头雾水,是不是让你头大?很多老板觉得网站做好了就能躺着收单,结果卡在备案这一步,或者上线后流量惨淡,才后悔没把“哪里做网络推广好”这个前置问题想清楚。其实,网络推广不是单点突破,而…

阅读更多 →
9.26 大语言模型研究简报:CLM-8B 用对比学习替代 Agent 中大量生成式决策 2026/9/27 7:33:44

9.26 大语言模型研究简报:CLM-8B 用对比学习替代 Agent 中大量生成式决策

CLM-8B:用对比学习替代 Agent 中大量生成式决策 发布时间(北京时间):2026 年 9 月 24 日 14:54 机构:Stanford 等 状态:开源模型 代码 技术博客,当前不是同行评审论文 时间说明:按…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉