Codex Security 安全披露与威胁模型指南:漏洞报告范围、本地信任边界与扫描安全实践
应用安全漏洞扫描AI 应用【免费下载链接】codex-securityOpenAIs Codex Security CLI and TypeScript SDK for finding, validating, and fixing security vulnerabilities. npm: https://www.npmjs.com/package/openai/codex-security项目地址https://gitcode.com/gh_mirrors/co/codex-security点击查看免费下载Codex Securityopenai/codex-securityCLI 与 TypeScript SDK是一款在本地运行、用于审查你信任且有权评估的代码仓库的安全工具。本文基于仓库根目录的 SECURITY.md 整理其官方安全策略详细说明哪些安全问题在报告范围内、如何私下报告、产品的威胁模型与安全边界并结合仓库源码config.ts、api.ts、executor.ts解释扫描运行时权限配置的底层实现。读完本文你将掌握如何正确提交一个可被受理的漏洞报告、哪些报告会被视为不在范围内以及如何在本地安全地运行代码扫描。一、安全策略的适用范围该安全策略适用于以下全部组件任何一项出现安全缺陷都在报告考量范围内已发布的openai/codex-securitynpm 包与codex-securityCLITypeScript SDK包括目标选择target selection、认证authentication、配置configuration、执行execution与结果校验result validation官方发行版捆绑的 Codex Security 插件、解释器interpreter与 Codex 运行时扫描输出包括 manifest、findings、coverage、报告、SARIF 与扫描历史scan history官方包、构建与发布的完整性package/build/release integrity。提交报告前请先确认问题影响的是最新发布的包或当前默认分支报告中应包含包版本并在相关时注明 commit、插件版本和操作系统。如果问题存在于旧版本请说明受支持的发行版是否同样受影响。二、威胁模型一个本地信任模型2.1 运行前提Codex Security 在你的本地操作系统账号下运行因此只应扫描你信任、且自己拥有或获得明确授权评估的仓库。需要特别强调的是拥有评估某仓库的权限不代表你可以信任该仓库。你选择的仓库、Git 安装以及你选择的工具和配置都会以你现有的本地权限运行。常规 Git 操作会使用仓库配置、hooks、filters、attributes、凭据助手credential helpers、worktrees 以及PATH上的可执行文件——这些都不是独立的安全边界。2.2 本地信任与攻击者前提产品不隔离共享同一操作系统账号、凭据或本地状态的用户、任务、仓库或扫描作业因此不要将共享本地状态视为多用户或多租户系统。私有 Codex 状态、工作台数据库workbench databases、输出目录和恢复凭证resume receipts与你的操作系统账号之间没有独立安全边界。如果报告依赖更改这些内容必须证明攻击者可控的输入如何通过受支持的工作流到达它们并跨越某个安全边界。2.3 “信任”的边界信任一个仓库并不授权无关操作。仓库内容、文件名、符号链接、模型输出、补丁、服务响应和导入的工件都只是数据它们不授权另一个目标、更宽的作用域、不同的凭据、无关的读写、未经批准的补丁或网络目的地、被绕过的限制或为不完整覆盖率给出“通过”的结果。三、扫描如何运行运行时权限的源码级解析每次扫描使用产品内置的codex_security_scan文件系统 profile 和自动审批审查automatic approval review。基线 profile 允许读取本地文件系统、写入工作区根目录和选定的扫描状态目录。请求会被自动审查无需交互式提示被批准的请求可以为特定操作授予额外权限。提示设置approval_policynever可拒绝所有请求。这一策略在 SDK 源码中有明确实现。在 api.ts 中定义了权限 profile 常量const SCAN_PERMISSION_PROFILE codex_security_scan; const POLICY_PERMISSION_PROFILE codex_security_policy;scanRuntimeCodexConfig()api.ts是扫描会话运行时配置的核心它做了三件关键的事删除sandbox_mode、approvals_reviewer并遍历删除所有 profile 中的approval_policy、approvals_reviewer、default_permissions、permissions、sandbox_mode强制写入approval_policy来自scanApprovalPolicy的运算结果与approvals_reviewer: auto_review注入codex_security_scan权限 profile文件系统上:root只读、:workspace_roots可写以及受保护的凭据主目录只读并设置allow_login_shell: false。3.1 审批策略的判定逻辑scanApprovalPolicy()config.ts决定最终审批策略export function scanApprovalPolicy( config: ReadonlyJsonObject, ): never | on-request { return config[approval_policy] never || selectedScanProfile(config)?.[approval_policy] never ? never : on-request; }即只要当前配置或所选 profile 中存在approval_policynever最终生效的就是never拒绝一切否则默认回落到on-request。默认配置DEFAULT_CODEX_CONFIGconfig.ts也印证了这一点approval_policy: on-request、approvals_reviewer: auto_review。3.2 为什么--codex与codexOverrides无法替换安全基线SECURITY.md 明确指出通过--codex或 SDKcodexOverrides设置approval_policy、approvals_reviewer、sandbox_mode或 permissions不能替换自动审查器或基线文件系统 profile。源码证实了这一设计scanRuntimeCodexConfig()在注入基线 profile 之前会主动删除上述键确保扫描会话始终使用产品自身的codex_security_scan权限体系。但严格的approval_policynever覆盖包括所选 profile 中的会被保留保存的扫描保留其有效审批策略旧扫描在重跑时仍然保持“全部拒绝”deny-all。值得补充的是策略生成路径policyCodexConfig()api.ts甚至更严格它固定approval_policy: never、禁用插件/apps/shell 快照、关闭 web 搜索与网络访问用于生成安全策略时与模型的最小权限交互。另外 config.ts 中的validateOverrideKeys会拒绝__proto__、constructor、prototype等危险键防止原型污染validateOverridesconfig.ts则禁止通过 overrides 篡改插件加载配置。3.3 子进程环境继承扫描与工作台子进程可以继承你的环境变量。工作台会移除OPENAI_API_KEY和CODEX_API_KEY但不会移除所有凭据——GITHUB_TOKEN、AWS_SECRET_ACCESS_KEY等其他变量仍可能对本地子进程可用。相关行为在 deep scan worker 实现中可见executor.ts[plugins/codex-security/mcp-app/src/deep-scan/executor.ts#L78-L87)会读取OPENAI_API_KEY、CODEX_API_KEY并决定是否回退到 API key 认证其测试test_mcp_app_smoke.mjs也覆盖了这些环境变量的场景。实操建议只给扫描提供其所需的环境凭据Run a scan with only the environment credentials it needs。四、安全边界什么才算越界一个安全问题必须跨越产品实际提供的边界才有效。SECURITY.md 列出的边界包括只扫描选定的目标和请求的作用域只写入授权的输出路径遵守显式选择的凭据和文档化的成本控制未经操作者授权不得把凭据、私有源码和扫描结果送入模型请求、日志、报告或网络目的地应用扫描实际的文件系统与执行 profile并尊重独立于扫描强制执行的主机或网络限制例如 Docker 场景下docker/codex-security-seccomp.json 与 docker/codex-security.apparmor 即属于这类独立限制不通过符号链接或替换文件进入未授权的读/写仅当扫描结果与审查的作用域、文档化模式和声明的排除项一致时才标记扫描完成保护官方包、捆绑运行时、依赖、构建产物与发布凭据免受未授权更改。五、范围内的报告In-scope reports请报告官方发行版中可复现的问题例如凭据、私有源码或扫描结果在未经授权的情况下被发送到另一个安全主体、模型请求或网络目的地模型或远程输入绕过了扫描的有效权限或绕过了独立强制执行的主机、执行、文件系统或网络限制扫描、补丁、文件写入或网络请求超出了你授权的操作忽略了你明确选择的目标、路径作用域、凭据或文档化的成本限制路径穿越path traversal、符号链接、压缩包或文件替换竞态导致写入批准的输出目录之外或将无关本地文件发送给模型不完整、伪造或作用域错误的扫描被当作完整结果或通过 CI 的结果接受GitHub、包、更新、依赖或模型服务的输入导致未授权的本地操作或危害发行版已发布包、捆绑运行时、构建或发布流程中可达的漏洞资源耗尽resource exhaustion到达受支持的服务、CI 进程或其他实际可用性边界。六、通常不在范围内Usually out of scope以下情形本身不构成安全漏洞在你授予的权限内读取所选仓库文件、解析 worktrees、运行 Git、使用配置的 hooks、filters、凭据助手和可执行文件假设已预先控制你的操作系统账号、受信任的本地 Git 设置、私有 Codex 状态或私有扫描输出却没有证明受支持的输入如何获得该控制权依赖你主动授予插件、解释器或可执行文件你账号本已拥有的权限已共享你的账号和本地状态的进程访问、取消或修改私有扫描状态、工作台数据库、结果、恢复凭证或扫描历史提示注入prompt injection、意外模型输出、漏报、误报或未签名审查凭证——只要它们没有跨越边界、也没有导致受支持的安全门接受不完整或被歪曲的覆盖率在扫描及其结果中如实反映的文档化排除项、忽略规则、估算或 Git 行为已披露的估算不确定性或明确请求的限制仍按文档强制执行时不可避免的进行中成本超支没有在受支持的终端中证明安全影响的终端格式化或控制字符在没有“从不可信输入到受保护发布或绕过其完整性控制”路径的情况下假设受信任的发布运行器、registry 或依赖供应商被攻破没有对受支持发行版产生可复现影响的依赖公告、理论攻击或旧包版本你主动选择的文件、文档或仓库处理缓慢被扫描的第三方仓库中的漏洞已发布运行时或发布流程无法到达的文档、测试、fixtures 或开发代码。托管服务、多用户安装、PR CI 和导入的第三方工件可能具有不同的信任边界。对于这些情况请明确部署方式、攻击者可控输入、受影响组件和实际边界。另外要注意存储多个本地扫描并不会使 CLI 变成多租户系统。如果不确定发现是否在范围内请私下报告。七、报告应包含的内容提交报告时请包含受影响的组件、包版本、插件版本和 commit你的平台、认证方式、扫描模式和目标类型攻击者的起始权限以及跨越的安全边界在受支持发行版或默认分支上复现问题的最小步骤预期行为与实际行为、影响以及任何已知缓解措施复现问题所需的脱敏日志或扫描工件。报告内容清理要求除非私有报告确实需要且你被授权共享否则请移除 API keys、访问令牌、客户数据和私有源码绝不要在 PoC 中包含实时凭据。八、扫描仓库中发现漏洞如何报告如果扫描在他人仓库中发现了漏洞请遵循该项目的安全策略并且只与授权人员共享该发现。OpenAI 的 Bugcrowd 项目只覆盖 OpenAI 的产品与服务不覆盖其他项目中的漏洞。九、安全运行扫描的实操清单SECURITY.md 给出的安全扫描实践可归纳为以下清单只扫描你信任、且自己拥有或获得明确授权评估的仓库应用补丁或合并前先审查仓库说明并检查补丁内容只传入扫描所需的凭据本地子进程可能继承其他环境变量将凭据和 Codex homeCODEX_HOME默认~/.codex放在仓库目录之外将扫描状态、findings、报告、日志和 SARIF 存放在外围 Git worktree 之外限制结果的访问、设定保留期限并在共享或上传前审查保持包、运行时和依赖处于最新状态。结合源码补充一个细节SDK 写入 Codex 配置文件时使用writeCodexConfig()config.ts它以0o600权限创建临时文件、写盘、sync后原子重命名并且父目录权限为0o700——这体现了“凭据与私有配置不落入他人可读范围”的实现级保障。十、延伸阅读扫描契约与工件格式scan-contract.md、scan-artifacts.md扫描配置与预检config-preflight.md插件能力 profile 与运行时路由capability-profiles.toml运行时安全配置实现api.ts、config.ts容器隔离辅助配置docker/codex-security-seccomp.json、docker/codex-security.apparmor关于 Codex 沙箱、审批与网络控制的更详细信息以及 CVE 分配与披露时间线的官方说明可查阅 OpenAI 公开发布的对应政策页面本文所有配置与行为描述均以当前仓库源码和 SECURITY.md 为准。赞分享应用安全漏洞扫描AI 应用【免费下载链接】codex-securityOpenAIs Codex Security CLI and TypeScript SDK for finding, validating, and fixing security vulnerabilities. npm: https://www.npmjs.com/package/openai/codex-security项目地址https://gitcode.com/gh_mirrors/co/codex-security点击查看免费下载相关推荐Apache APISIX 安全策略与威胁模型漏洞披露流程、信任边界与加固实践Apache APISIX 安全策略与威胁模型漏洞披露流程、信任边界与加固实践 Apache APISIX 是构建在 OpenRestynginx LuAPI网关后端云原生微服务Kilo 安全威胁模型与漏洞报告指南权限系统边界、Server 模式认证与负责任披露实践Kilo 安全威胁模型与漏洞报告指南权限系统边界、Server 模式认证与负责任披露实践 Kilo 是一款在本机本地运行的 AI 编程助手CLI其 Ag人工智能大模型AI Agent代码智能体工具调用交互助手CLINVIDIA Warp 安全模型与漏洞响应信任边界、威胁分析与报告实践NVIDIA Warp 安全模型与漏洞响应信任边界、威胁分析与报告实践 导读 本指南以 NVIDIA Warp 官方安全策略 SECURITY.md htt高性能计算物理引擎图形学机器人创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Nginx UI 开发环境搭建:基于 Devcontainer 的一键容器化开发与多节点集群调试指南

Nginx UI 开发环境搭建:基于 Devcontainer 的一键容器化开发与多节点集群调试指南

后端前端运维MCP 服务 【免费下载链接】nginx-ui Yet another WebUI for Nginx 项目地址: https://gitcode.com/gh_mirrors/ngi/nginx-ui 点击查看 免费下载 导读 本文基于 Nginx UI 仓库的 docs/guide/devcontainer.md 与 .devcontainer 目录下的真实配置&#x…

2026/9/24 3:03:18 阅读更多 →
西南交大计算机网络2019期末卷:3学分考点拆解与复习指南

西南交大计算机网络2019期末卷:3学分考点拆解与复习指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:03:18 阅读更多 →
国产MCU替代STM32实战:选型、硬件设计与软件迁移全解析

国产MCU替代STM32实战:选型、硬件设计与软件迁移全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:03:17 阅读更多 →

最新新闻

AI陪伴机器人单文件H5宣传站-一个人怎么写出项目官网

AI陪伴机器人单文件H5宣传站-一个人怎么写出项目官网

11-单文件H5宣传站-一个人怎么写出项目官网系列:AI 伙伴(AI-Partner)——具身智能陪伴机器人 数据接口部署与二次开发篇(11/12)一、先抛问题:项目官网到底需要多重 AI 伙伴(AI-Partner&#xf…

2026/9/24 3:43:42 阅读更多 →
使用 Meshery 构建 NGINX Init Container 与 VHost 多域名托管的弹性设计模式

使用 Meshery 构建 NGINX Init Container 与 VHost 多域名托管的弹性设计模式

云原生微服务运维DevOps 【免费下载链接】meshery Meshery, the cloud native manager 项目地址: https://gitcode.com/GitHub_Trending/me/meshery 点击查看 免费下载 本指南围绕 Meshery Catalog 中一份标记为 resiliency(弹性)类型的 NGI…

2026/9/24 3:42:42 阅读更多 →
RQAlpha事件驱动回测:A股T+1与涨跌停规则实战解析

RQAlpha事件驱动回测:A股T+1与涨跌停规则实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:42:42 阅读更多 →
EMC四大测试的本质是能量路径物理建模

EMC四大测试的本质是能量路径物理建模

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:42:42 阅读更多 →
STM32简介:从芯片参数到硬件调度系统的工程启蒙

STM32简介:从芯片参数到硬件调度系统的工程启蒙

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:41:42 阅读更多 →
ESP32-P4 Rev 3.0电源优化实战:从供电架构到低功耗调优

ESP32-P4 Rev 3.0电源优化实战:从供电架构到低功耗调优

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/24 3:40:41 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →