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),仅供参考
企业数字化 ERP 产品动态
相关推荐
磊能防腐的技术实力强吗 顺应行业发展趋势,锚定防腐领域时代使命东北作为我国传统工业基地,承载着数十年的工业发展积淀,大量工业设施、金属构件长期服役在复杂户外环境中,既要承受工业介质的持续侵蚀,也要应对东北地域独特的严寒、冻融、大温… · 2026/9/26 0:28:26
笔记本摄像头在设备管理器中完全消失的深层原因与修复 1. 这不是驱动问题,而是硬件链路“失联”——为什么设备管理器里根本看不到摄像头图标 你合上笔记本盖子再打开,发现视频会议软件突然报错“找不到摄像头”,点开设备管理器,展开“照相机”或“图像设备”分类,空空如也… · 2026/9/26 0:28:20
Spirula Studio训练配置完全手册:TrainConfig的每个标志位都意味着什么 Spirula Studio训练配置完全手册:TrainConfig的每个标志位都意味着什么 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-stu… · 2026/9/26 0:57:23
导弹冲击时间控制制导律的Matlab复现与参数调试全解析 导弹同时到达目标这个问题,在制导圈里一直挺有意思。比如多枚弹齐射,希望它们在同一个时刻命中,这样才能提高突防概率。我最近在Matlab里复现了一套基于混合比例导引的两级冲击时间控制制导律,把比例导引和时间约束搅在一起&#… · 2026/9/26 0:55:57
线上车位销售系统源码解析:库表设计、并发锁位与支付回调实战 简介:这是一套针对线上车位销售场景的完整JavaWeb项目源码,面向计算机相关专业学生及需要完成课程设计、毕业设计的人群,代码经测试运行正常,可直接用于项目演示与二次开发。压缩包共1149个文件,主要包含Java核心源码、… · 2026/9/26 0:55:45
基于Web的个人财务管理系统毕业设计:从源码跑通到避坑指南 简介:这是一套面向计算机相关专业在校学生的毕业设计级Web项目源码,主题为个人财务管理系统,采用响应式页面设计,可同时适配手机与电脑端。系统按用户角色划分为前台与后台:前台供游客和普通用户使用,涵盖用… · 2026/9/26 0:54:49
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46