ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Codex Security 安全披露与威胁模型指南:漏洞报告范围、本地信任边界与扫描安全实践

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),仅供参考
返回列表