尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Codex Security 桌面端能力预检(Desktop Config Preflight)实战指南:从扫描启动到配置修复的完整协议

Codex Security 桌面端能力预检(Desktop Config Preflight)实战指南:从扫描启动到配置修复的完整协议 应用安全漏洞扫描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 Security 插件中面向Codex 桌面应用Desktop App的能力预检参考文档展开讲解在 Standard 与 diff 扫描获得权威scanId之后如何运行只读预检 helper、通过update_codex_security_scan_progress发布结构化预检结果、在交互式会话中处理配置修复Apply and retry / Leave paused / Cancel scan并守住绝不自动推断用户选择的边界。读完本文你将掌握桌面宿主下能力预检的完整状态机、进度发布协议与源码级实现依据可直接用于排查预检阶段卡顿、进度计数异常或修复流程失效等问题。适用边界何时才应读取本参考文档桌面端预检逻辑并非对所有宿主都适用。参考文档开篇即给出两个严格前置条件宿主必须显式自报身份为 Codex 桌面应用。仅凭列出了某些工具不能推断出桌面宿主Listed tools alone do not establish a desktop host。必须先有权威的 target 与 scan context即Run preflight only after the scan has authoritative target and scan context。也就是说本文档是对 config-preflight.md 的桌面专属补充共享的 helper 调用方式、运行时检查、修复限制与非交互回退逻辑都在后者中定义本文档只规定桌面宿主特有的结果发布协议与交互式修复流程。在 Codex CLI 等非桌面宿主中应直接采用通用预检流程而非本文档描述的工具链。预检运行时机拿到权威 scanId 之后在桌面宿主中Standard 扫描应先通过 desktop-scan.md 描述的流程解析权威扫描若请求已带scanId调用get_codex_security_scan_context必要时携带handoffClaimToken继续既有扫描否则调用一次start_codex_security_prompt_only_scanmode: standard、targetPath、scope与精确的userContext并强制要求返回权威的scan.scanId与scan.scanDir。只有在上述权威上下文存在之后才应读取本预检文档并运行能力预检。这一顺序在config-preflight.md中同样被强调预检应在目标设定、威胁建模、扫描/发现 worker 创建等实质性分析工作之前完成The dedicated preflight worker described above should finish before goal setup, threat modeling, scan/discovery worker creation, or other substantive analysis。另外要注意Deep Security Scan 不参与此协议。深度扫描使用 MCP 拥有的 SDK 会话而非父线程 worker 池其预检与发现进度由start_codex_security_deep_scan独占管理不要求特定的父级委派运行时、所有权、容量或深度。预检结果发布协议preflightChecks 四字段投影桌面宿主拿到权威scanId后每个结构化预检结果都要通过update_codex_security_scan_progress发布规则非常精确不改变 phase发布预检结果时保持当前 phase 不变只投影四个字段preflightChecks数组中每个条目只保留capability、reason、severity、status不发送独立的 phase totals不要传phaseItemsTotal、phaseItemsCompleted或phaseProgressUnit。服务端会自行派生计数。这一行为在 mcp-app/server.ts 中有直接实现if ( preflightChecks ! undefined (phaseItemsTotal ! undefined || phaseItemsCompleted ! undefined || phaseProgressUnit ! undefined) ) { throw new Error( preflightChecks derives phaseItemsTotal, phaseItemsCompleted, and phaseProgressUnit; omit those fields., ); } const preflightIssues preflightChecks?.filter( (check) (check.severity block || check.severity warn) (check.status fail || check.status unknown), ); const derivedPhaseItemsTotal preflightChecks?.length ?? phaseItemsTotal; const derivedPhaseItemsCompleted preflightChecks ? preflightChecks.filter((check) check.status ! unknown).length : phaseItemsCompleted; const derivedPhaseProgressUnit preflightChecks ? checks : phaseProgressUnit;从源码可以确认三点派生规则total 数组长度preflightChecks.lengthcompletedstatus ! unknown的条目数即pass与fail计入完成unknown不计入progress unitchecks且block/warn且fail/unknown的条目会被序列化为可见的关注项preflight-issues。其余要点整组刷新干净地重跑后要发送完整的新结果数组让旧问题消失Send the full fresh results array after a clean rerun so stale issues disappear计数完成 ≠ 就绪即使所有检查都已评估只要结果是blocked、incomplete或error仍须停留在 preflight 阶段等待修复或重试不得推进 phase推进时机只有ready结果发布其最新preflightChecks之后才能用另一次progress 调用推进到threat_model归属这些计数与关注项属于当前扫描而不是遗留的 setup 期工作区预检且在扫描推进后仍然可见。交互式修复流程三选一绝不自动推断当交互式桌面扫描需要配置修复时文档规定了一个强约束的交互协议展示 helper 提供的精确配置变更Present the exact helper-provided config changes并给出三个选项Apply and retry (Recommended)—— 应用修复并重试Leave paused—— 保持暂停Cancel scan—— 取消扫描。输入工具优先级优先使用原生request_user_input若不可用或报错改用request_codex_security_user_input携带相同 choices只有该工具也不可用或报错时才回退到 chat 询问。绝不自动解析选择不得为 declined 或 cancelled 的输入请求自动推断一个选择也不得设置autoResolutionMs自动解析。等待语义等待期间不得创建或采纳扫描 goal只应用明确批准的变更要么保持 durable 扫描运行要么仅在用户明确选择取消时调用cancel_codex_security_scan。对应到三种结果的动作用户选择动作Apply and retry仅应用已批准的 remediation 后重试预检Leave paused保留正在运行的 durable 扫描并停止等待Cancel scan调用cancel_codex_security_scan等待期间不得调用fail_codex_security_scan。若 chat 回退被拒绝且未选择取消或保留必须先追问再行动If an interactive chat fallback declines required remediation without choosing whether to cancel or leave the scan running, ask that follow-up before taking either action。Headless 边界桌面输入工具绝不用于非交互会话参考文档最后一条以强措辞收尾Never use desktop input tools from a headless or non-interactive session.这与 config-preflight.md 的非交互路径一致非交互会话中永不请求用户输入只自动应用 helper 的value/remove补丁到其可写的user_config_path保留无关设置绝不自动应用kind host_setting补丁随后用相同运行时事实重跑一次只有结果ready才继续。若修复不可用、需要新会话、仍被阻塞或报错则报告阻塞原因不循环、不取消、不标记失败保留 durable 扫描供后续续跑。共享预检机制速览helper 命令与运行时事实桌面预检实际执行的是与通用流程相同的只读 Python helper。完整调用形态单行书写以便在 PowerShell、Cmd 与 POSIX shell 通用见 config-preflight.mdpython_command plugin_dir/scripts/config_preflight.py --profile capability-profile --cwd scan-working-directory --runtime-check delegation_availabletrue|false verified-multi-agent-runtime-arguments其中python_command解析为$PYTHONPOSIX或 $env:PYTHONPowerShell否则 Windows 用python、Unix 系用python3--profile指向能力档案如security_scan、security_diff_scan、deep_security_scan--runtime-check承载从当前工具面获得的运行时事实例如delegation_availabletrue|falsesecurity_diff_scan档案额外保留--runtime-check goal_tools_availabletrue|false多智能体运行时事实通过--multi-agent-runtime-owner、--multi-agent-runtime-version、--multi-agent-session-cap、--multi-agent-runtime-provenance传递owner 仅允许native/codex-bridgeversion 仅v1/v2provenance 为app-server/thread-context/tool-surface/verified-bridge这些合法取值在 config_preflight.py 中有常量定义设置CODEX_SECURITY_CONFIG_PATH时附加--config传参这是 CLI 提供的、经净化可读的活跃 worker 配置副本因为含凭证的CODEX_HOME对仓库影响命令不可见。helper 会自行从--cwd发现 Codex 配置路径Unix 读/etc/codex/config.toml、Windows 读%ProgramData%\OpenAI\Codex\config.toml再读$CODEX_HOME/config.toml解析project_root_markers检查匹配的[projects.absolute-project-root].trust_level仅在项目根被标记为trusted时才加载项目级.codex/config.toml分层。能力档案来自 capability-profiles.toml其中security_scan档案将delegated_workers设为warn、将usable_worker_slots_6设为warn并附带解释文案helper 最终输出一条 JSON 结果作为预检的唯一事实来源。严重度语义与修复边界block需求未满足时被请求的工作流无法如实声称可执行warn只能沿文档化的降级路径继续suggest可以继续但当改进会实质影响长扫描质量或可续性时应在回复中提及。注意不要仅仅因为用户配置值不同于档案的建议补丁就告警/阻塞只有被评估的能力需求确实未满足时才告警或阻塞。修复时交互会话中编辑持久化用户配置前必须先询问批准后只编辑 helper 报告的user_config_path绝不推断~/.codex/config.toml或其他 Codex home高优先级 project/profile 层的冲突值必须在 helper 报告的源处解决不能用低优先级编辑掩盖kind host_setting的补丁作为主机级设置指引展示不作为 Codex 持久化配置编辑绝不重写超出 helper 具体补丁之外的配置。与 Durable Scan Handoff 的衔接桌面端预检常发生在 native handoff 或直接对话启动提供scanId之后。config-preflight.md强调拿到scanId后应使用其权威扫描上下文对已验证的 target 与所选扫描模式运行预检预检 worker 应在 goal 设置、威胁建模、扫描/发现 worker 创建等实质性分析前完成。在 CLI 与桌面宿主中任何非 ready 结果都不自动失败若修复不可用、helper 无法运行、helper 返回错误信封或重跑仍阻塞/不完整则保留 durable 运行中的扫描并重试或移交只有文档化恢复路径用尽且阻塞确认不可恢复后才以精确原因调用fail_codex_security_scan用户明确取消时才调用cancel_codex_security_scan。源码验证路径想深入验证本文所述协议可以在仓库中按以下路径继续追踪进度工具实现update_codex_security_scan_progress的 schema 与派生计数逻辑在 mcp-app/server.tspreflightChecks字段 schema 定义在同一文件的 progress schema 中预检 helper 实现参数解析、配置分层发现、项目信任与档案求值在 config_preflight.py可关注discover_config_paths配置路径发现与lookup_config_value分层取值 effective-config 优先等函数能力档案security_scan、security_diff_scan、deep_security_scan三个 profile 及 route 映射见 capability-profiles.toml相关测试进度发布与 handoff 行为的用例见 mcp-app/tests/test_mcp_app_smoke.mjs 与 mcp-app/tests/test_scan_handoff.mjs 等。桌面宿主的标准扫描完整流程权威扫描解析、各 phase 推进、::code-comment审查指令、完成条件可继续阅读 desktop-scan.md 与 config-preflight.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点击查看免费下载相关推荐WeKan 触屏拖放支持开启桌面拖动手柄并配置 Chrome --touch-events 的完整实践WeKan 触屏拖放支持开启桌面拖动手柄并配置 Chrome touch events 的完整实践 本文围绕 WeKan 文档 docs/Features/D应用安全漏洞扫描AI 应用Codex Security 标准安全扫描Security Scan Skill完整指南从仓库级单遍审计到规范化扫描契约Codex Security 标准安全扫描Security Scan Skill完整指南从仓库级单遍审计到规范化扫描契约 导读 本文深入解析 OpenAI应用安全漏洞扫描AI 应用OpenVAS Scanner漏洞扫描实战从发现到修复的完整指南OpenVAS Scanner漏洞扫描实战从发现到修复的完整指南 OpenVAS Scanner是Greenbone漏洞管理社区版中的核心扫描组件专门用于执漏洞扫描网络安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表