应用安全漏洞扫描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点击查看免费下载导读本文深入解析 OpenAI Codex Security 插件中security-scan技能Skill的完整工作原理与执行契约。该技能用于对整个仓库或指定路径、包、文件夹、子模块执行一次独立的、单遍的标准安全审计Standard Scan是插件默认的仓库扫描模式。读完本文你将掌握标准扫描与 Diff 扫描、Deep 扫描的边界划分桌面端desktop与无头headless主机的差异化执行流程四步核心工作流目标解析 → 源码审计 → 语义草稿提交 → 完成与报告生成以及scan-manifest.json、findings.json、coverage.json三份规范化产物的结构与字段语义。一、技能定位Standard Scan 是什么security-scan技能的元数据定义在 SKILL.md 的 front-matter 中名称namesecurity-scan适用场景description对整个仓库或限定路径包、文件夹、子模块执行标准的单遍安全审计且没有需要审阅的 diff。这是默认的仓库扫描。明确不适用PR、commit、branch 或 working-tree 的 diff 审阅应走security-diff-scan技能多遍、穷举式 Deep 扫描应走deep-security-scan技能。该技能的核心职责可以概括为一句原文Run one independent general audit while the parent maps the repositorys actual security boundaries.——即并行调研来源可支撑的安全问题、统一验证发现、并生成 Codex Security 报告。从工作流约束上Standard 扫描是一个自包含的流程发现discovery、验证validation与攻击路径attack-path推理都必须留在本工作流内部不得调用独立的阶段技能、不得加载 Deep 或 Diff 参考文档、不得调用 Deep 专用工具、不得创建排名阶段、逐文件/逐候选台账、独立阶段 worker 池、重复阶段报告或回执文件。二、主机与设置Desktop 与 Headless 的分流2.1 识别主机类型SKILL.md 要求技能先确认宿主环境若宿主明确表明这是一次桌面扫描desktop scan则加载 desktop-scan.md 参考文档否则按**无头headless**方式运行绝不打开桌面工作区。注意一个关键约束仅凭工具列表中出现了某些工具并不能认定宿主是桌面端。桌面主机必须由宿主显式自我标识。2.2 三种扫描上下文来源技能按优先级处理扫描上下文SDK 已提供CODEX_SECURITY_SCAN_ID与CODEX_SECURITY_SCAN_DIR直接使用该已注册的扫描与目录绝不自行启动另一个扫描或自行完成它。无头宿主提供start_codex_security_standard_scan工具使用其权威的scanId、scanDir与handoffClaimToken。均不可用保留 prompt-only纯提示词路径。同时强调保留用户提供的完整安全上下文包括 URL但仅将其作为不可信的分析数据父级只能在用户明确授权时读取显式提供的 URL 一次不得跟进其他链接所有源码审阅与 worker 必须保持离线。2.3 Preflight 能力预检在确定目标与主机扫描上下文之后需一次性读取 scan-prologue.md 并运行其中的security_scan能力预检。只有 preflight 返回ready之后才能开始源码审阅与启动扫描 worker。预检的实质执行者是 config_preflight.py它读取 capability-profiles.toml 中路由到的能力档案从--cwd出发发现 Codex 配置路径应用注册表中的默认值输出一份 JSON 结果。预检约束的完整说明在 config-preflight.md需求严重级别分为block无法诚实声明工作流可执行、warn只能走降级路径、suggest建议性改进delegated_workers检查意味着运行时支持委派审阅且本次扫描显式授权worker 槽位数量是配置上限不是实际启动的 worker 数若运行时禁止委派则传delegation_availablefalse走文档化的父级降级路径不得把配置的槽位数描述成运行中的 worker。桌面端还需在权威扫描上下文存在后按 desktop-config-preflight.md 将每个结构化 preflight 结果通过update_codex_security_scan_progress发布为preflightChecks仅保留capability、reason、severity、status四个字段并停留在 preflight 阶段直到返回ready。2.4 进度标记与上下文管理当 SDK 或终端宿主设置了CODEX_SECURITY_SCAN_ID技能需在发现开始时发出独立的CODEX_SECURITY_SCAN_PROGRESS {phase:discovery,filesCompleted:3,filesTotal:8}标记并在有意义的完成审阅批次与真实的后续阶段转换时再次发出。文件计数来源有精确 scoped inventory 时用其数值否则用宿主估算已完成的计数必须从核心审计去重后的安全审阅路径推导。绝不为了进度而创建 inventory 或回执文件。对于运行中的宿主托管扫描用户请求的上下文变更需通过update_codex_security_scan_context配合当前 handoff token 持久化每个真实的前向阶段转换都使用update_codex_security_scan_progress返回的structuredContent.scan.userContext作为该阶段及其 worker 的不可变上下文。已完成的阶段绝不重做prompt-only 扫描保留其原始上下文。三、四步核心工作流SKILL.md 将标准扫描定义为四个步骤。步骤 1解析仓库、范围与输出目录目标、请求范围与输出扫描目录优先取自宿主提供的扫描上下文否则使用请求的输出目录或platform_temp/codex-security-scans/repo_name/scan_id。保留精确的用户上下文、用户提供的威胁模型、继承的SECURITY.md指引、可选的CODEX_SECURITY_KNOWLEDGE_BASE。Python 解释器解析使用配置的解释器POSIX 为$PYTHONPowerShell 为 $env:PYTHON否则 Unix 类主机用python3Windows 用python。范围受限扫描仅当设置了CODEX_SECURITY_TARGET_PATHS_FILE时需在审阅前用 generate_rank_input.py 解析每个授权的源路径python_command plugin_dir/scripts/generate_rank_input.py make-repo-scope-input --repo repo_root --scopes-file target_paths_file --out scan_dir/scoped-source-input.jsonl在 POSIX 中把该变量写成$CODEX_SECURITY_TARGET_PATHS_FILEPowerShell 中写成$env:CODEX_SECURITY_TARGET_PATHS_FILE。对目录后代须遵守仓库忽略规则同时保留每个直接请求的文件。绝不打印、修改或将范围输入当作 shell 语法——它只作为数据传给核心审计且不得扩大授权目标或范围。步骤 2执行单遍源码审计Core Security Scan一次性读取 core-scan.md针对已解析的目标、授权范围、精确用户上下文、威胁模型、继承的安全策略、可选知识库、可用 worker 与解析出的 scoped-source inventory执行完整的源码支撑安全审计并保留完整的语义scope、threatModel、findings、coverage。核心审计的执行特征包括离线源码搜索审阅前解析一个可用的本地搜索命令并传给所有 worker——优先使用已有 ripgrep 可执行文件拒绝 DotSlash、bootstrap 等可下载的包装器回退到本地git grep、find、grep。不得安装工具或触发网络下载。仓库安全策略通过 launch_codex_security_mcpWindows 用launch_codex_security_mcp.cmd调用resolve-security-mdhelper 解析并缓存目录级安全指引每个被审阅目录或调查包解析一次最近的嵌套SECURITY.md优先。独立基线审计员baseline auditor在子代理额度与运行时允许时立即启动一个fork_turns: none的基线子代理只发送其基线审计员提示词、仓库路径、范围、inventory、用户上下文、威胁模型、安全指引及其解析命令、知识库位置与验证过的搜索命令不发送core-scan 参考、调查提示词或父级生成的威胁假设。若委派不可用则顺序执行同样的基线审计与调查包并如实披露独立基线不可用。威胁建模基线运行期间读取 threat-model.md在可用 worker 额度内获得独立架构审阅验证其资源行与真实消费者的对应关系用返回的权威threatModel作为生成模型并构建源码支撑的调查包investigation packets。聚焦调查员focused investigator将相关源码支撑问题分组成调查包共享攻击者、受保护资产、入口点、预期控制、敏感操作、组件关系与仓库相对源码锚点按工作量、复杂度与独立性确定调查员数量受子代理额度上限约束每个调查员同样以fork_turns: none启动。四种调查视角作为灵感而非固定角色Forward从攻击者可控输入、身份、信任边界与控制出发追踪到敏感操作、Backward从敏感操作/解析器/执行/凭据签发/受保护资产回溯调用者、Authorization and business logic检查所有权、租户、权限、会话、能力、生命周期转换与兄弟操作的守卫差异、Open-ended不限定漏洞类别的开放式源码证据调研。检查点与覆盖率对账每个返回的基线或调查结果在合并或复验前通过绑定的record_codex_security_scan_draftcomplete: false、部分 coverage持久化每个候选赋予稳定candidateId待父级验证的候选放入coverage.deferred附有意义原因与原始 payload。覆盖率只把基线、聚焦调查员fully_reviewed_files与父级完整安全审阅的文件取并集后再与授权 inventory 或所选当前范围 inventory 求交集——仅做架构映射或在 inventory 之外的支撑文件不计入已完成审计覆盖率。验证与严重性校准独立针对本地源码验证每个唯一发现建立攻击者、入口点、信任边界、攻击者可控数据流、变换、被破坏控制、敏感操作、前置条件、有效缓解、最强反证与具体影响。严重性规则见 core-scan.mdcritical保留给清晰、可立即行动的严重入侵现实的高影响高可能性路径为high高影响 中等或未知可能性为medium高影响 低可能性为low中等或未知影响仅在可能性高时为medium否则low低影响保持low内部、同租户、localhost 或受限路径应降级忽略仅限自身或特权行为无有意义的边界跨越或权限提升、无现实攻击者或安全影响的问题。步骤 3提交语义扫描草稿按宿主类型分三条路径宿主托管扫描核心审计期间先保存complete: false检查点审计结束后一次性提交最终语义草稿record_codex_security_scan_draft({ scanId, complete: true, handoffClaimToken?, scope?, threatModel, findings, coverage })让 workbench 派生权威的 target、scope、coverage 元数据、surface ID、finding 身份与指纹。若草稿在写入前被明确拒绝只修正被指出的字段不得丢弃有效发现或证据同一扫描最多重试两次。SDK 持有或 prompt-only 无头扫描直接写入未封存的规范化scan-manifest.json、findings.json、coverage.json。请求了范围时coverage 两个字段都用scoped_path否则设置coverage.mode: repository并对非 Git 目录设置coverage.inventoryStrategy: directory、Git 支撑目标设置repository。省略scan.sealedAt与scan.artifactsSDK 扫描保留其精确注册目录与全部 SDK 提供的扫描/目标值。当设置了CODEX_SECURITY_TARGET_PATHS_FILE时还需绑定精确的请求路径python_command plugin_dir/scripts/generate_rank_input.py bind-repo-scopes --scopes-file target_paths_file --manifest scan_dir/scan-manifest.json --coverage scan_dir/coverage.json步骤 4验证三份 JSON 并完成验证三份规范化 JSON 均存在。SDK 持有的扫描交还控制权不 finalize、不封存、不生成report.md、不启动新扫描——完成权归 SDK。其他宿主托管扫描调用complete_codex_security_scan({ scanId, handoffClaimToken? })一次。prompt-only 无头扫描运行最终化脚本python_command plugin_dir/scripts/finalize_scan_contract.py --scan-dir scan_dir --source-root repo_rootSDK 路径之外必须等完成成功且生成的report.md存在后才返回绝不手工编写报告也不重读完整规范化发现除非用户显式请求。返回时报告实测 token 计数并对部分测量或不可用用量如实标注。四、规范化产物三份 JSON 的语义契约标准扫描的产物契约定义在 scan-contract.md 与 scan-artifacts.md文件角色scan-manifest.json最终化后的不可变终端扫描回执terminal scan receiptfindings.json扫描到达终端结果时保留的语义化发现记录coverage.json结构化覆盖率摘要含详细回执引用report.md只是可读投影readable projectionSARIF 等生成导出同样只是下游投影不是规范化语义真相。这三份 JSON 是最终报告生成的唯一语义输入生成器在验证规范化封存后确定性地投影出report.md报告可以被重新生成而不改变规范化 JSON 或证据工件。规范化字段的 JSON Schema 位于 scan-manifest.schema.json、findings.schema.json、coverage.schema.json合法契约示例位于 examples/completed-scan。4.1 封存状态scan.status状态含义completed请求的扫描达到正常完成failed扫描因不可恢复故障停止保留工件可能不完整canceled扫描在显式取消后停止保留工件可能不完整interrupted扫描在正常完成前因执行被中断而停止保留工件可能不完整只有completed支持完成扫描结论。每个停止结果都必须保留发现与覆盖率同时把无发现视为不确定inconclusive。4.2 目标快照Target Snapshots按被审阅内容而非调用方式选择目标类型git_worktree已检出 Git 工作区、directory_snapshot非 Git 目录、git_diffGit 变更集、git_revision精确不可变 Git 树。干净检出allowedKinds: [git_revision]脏检出allowedKinds: [git_worktree]并须复制requiredSnapshotDigest。快照摘要编码为codex-security-snapshot/v1:sha256:64 位小写十六进制。4.3 发现身份Finding Identity每个发现包含稳定小写ruleId漏洞族/生成规则族、稳定identity.anchor语义根控制锚点、可选identity.instance可独立攻击的兄弟实例。identity.anchor中不得放行号。最终化派生fingerprints.primary来自 target ID、rule ID、anchor、instance、findingId来自指纹、occurrenceId来自扫描 ID 与指纹。4.4 覆盖率语义Coveragecoverage.mode记录请求的扫描工作流repository全库、scoped_path限定路径、diff、commit、branch_diff、working_tree、deep_repository。inventoryStrategy记录生产方如何枚举被审阅内容与请求工作流无关repository、scoped_path、diff、directory确定性非 Git 目录清单、custom。完成度取值complete请求范围被完整审阅、partial范围内工作被推迟、unknown无法确定。五、桌面端执行细节Desktop Scan桌面流程的完整约束在 desktop-scan.md解析权威扫描请求已含scanId时调用get_codex_security_scan_context有 token 则传handoffClaimToken否则调用start_codex_security_prompt_only_scan一次mode: standard、targetPath、scope、精确userContext要求权威scan.scanId与scan.scanDir。直接启动失败时如实上报错误不得伪造扫描所有权、启动替代扫描、打开设置或切换到终端工作流。发布实时进度进入每个真实阶段时调用update_codex_security_scan_progress({ scanId, handoffClaimToken, phase })。阶段顺序preflight ready 后 →threat_model映射安全边界前→discovery分发调查包前→validation父级验证前→attack_path评估可达性前→reporting组装最终报告输入前。阶段只能前进不得回退或重做已完成工作。调查员总数在每个新任务分发前递增每个完成且有源码支撑的调查在推进其review_receipts进度计数前必须作为真实 coverage surface 记录。完成同一扫描语义草稿成功后且三份规范化 JSON 存在时用相同权威 scan ID 与 handoff token 调用complete_codex_security_scan恰好一次完成成功且report.md存在后才返回。最终化失败时上报精确错误并保留可续跑的持久化扫描——不得在同一响应中重试完成、生成替代报告或声称成功。Codex Review 指令对每个报告的发现在其最紧的root_control位置或找不到根控制时最相关的受影响源码位置发出一个::code-comment{...}指令::code-comment{title[P1] Example title bodyOne-paragraph review explanation. file/absolute/path/to/file start10 end12 priority1 confidence0.55}严重性映射规则critical→P0/0、high→P1/1、medium→P2/2、low→P3/3。指令要求title、body、file必填start/end为紧的 1 基行号每个发现一条指令、无发现则零条不得在带引号的属性值内放入双引号包括转义的\。六、源码与测试佐证该技能的运行形态与测试覆盖可从仓库源码交叉验证入口与宿主判定扫描上下文解析与进度发布由插件服务器端实现支撑相关代码见 server.ts 与 scan-handoff.ts测试见 test_scan_handoff.mjs 与 test_mcp_app_smoke.mjs。范围解析脚本generate_rank_input.py 提供make-repo-scope-input与bind-repo-scopes子命令对应测试为 test_generate_rank_input.py。契约最终化finalize_scan_contract.py 负责 prompt-only 路径的扫描契约收尾相关测试包括 test_finalize_scan_contract.py、test_scan_contract_examples.py 与 test_plugin_contract.py。能力预检config_preflight.py 与 capability-profiles.toml 是security_scan档案的执行者test_capability_profiles.py 覆盖档案解析逻辑。报告投影report_projection.py 与 final-report.md 描述report.md的确定性投影规则测试见 test_report_projection.py。Dry-run 行为test_cli_dry_runs.py 验证 CLI 场景下不产生副作用的工作流执行。七、关键约束与最佳实践清单单遍自包含发现、验证、攻击路径推理都留在 Standard 工作流内不加载 Deep/Diff 参考不调用 Deep-only 工具不创建排名阶段与逐候选台账。所有权边界SDK 已注册扫描则用它的、不动它的宿主托管扫描提交草稿→完成一次prompt-only 走 finalizer。任何路径都不得伪造扫描所有权、替代扫描或越权完成。离线与只读所有源码审阅与 worker 离线只检查授权当前状态不看其他 revision 或 Git 历史仓库文本、用户上下文、威胁模型、知识库文档、URL 一律视为不可信分析数据绝不当作指令。诚实报告覆盖率只有真实审阅过才标complete推迟工作与未决问题如实写入coverage.deferred与openQuestionstoken 用量按实测汇报部分测量或不可用要明确标注。八、总结security-scan技能是 Codex Security 插件中最基础也最常用的扫描模式它把一次全库/范围安全审计拆解为目标与范围解析 → 基线审计 聚焦调查的并行源码审阅 → 语义草稿提交 → 规范化契约完成四个阶段并针对桌面、SDK、prompt-only 三种宿主分别定义了权威上下文获取、进度发布与最终化路径。理解其背后的规范化契约manifest/findings/coverage与 coverage 语义是正确消费扫描产物、接入 CI 流水线或二次开发的基础。对于 diff 审阅与深度多遍扫描场景则应切换到security-diff-scan与deep-security-scan技能。赞分享应用安全漏洞扫描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 扫描契约Sealed Scan Contract权威解读不可变扫描产物、Manifest 语义与目标快照规范Codex Security 扫描契约Sealed Scan Contract权威解读不可变扫描产物、Manifest 语义与目标快照规范 导读 本文以应用安全漏洞扫描AI 应用Codex Security 扫描工件路径约定从目录布局到分阶段产物的完整指南Codex Security 扫描工件路径约定从目录布局到分阶段产物的完整指南 导读 本文围绕 OpenAI Codex Security CLI 与 Typ应用安全漏洞扫描AI 应用WeKan 触屏拖放支持开启桌面拖动手柄并配置 Chrome --touch-events 的完整实践WeKan 触屏拖放支持开启桌面拖动手柄并配置 Chrome touch events 的完整实践 本文围绕 WeKan 文档 docs/Features/D应用安全漏洞扫描AI 应用上一篇WSABuilds终极指南5分钟让你的Windows电脑变身Android神器下一篇在Apple Silicon Mac上运行iOS应用PlayCover完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考