SuperAPI AI 工具集

finding-discovery

安全与审计

查看项目

更新于 10-16 03:05

技能介绍

用途:该技能用于 Codex 安全扫描的 finding-discovery 阶段,在给定威胁模型背景下,调查拟议代码或代码变更中技术上可能存在的安全漏洞;也适用于用户明确要求对仓库进行候选安全发现。

主要能力与流程:先读取 ../../references/artifact-storage.md 并遵循其存储策略;读取 ../../references/security-guidance.md 解析适用策略后再检查源文件。若运行中的 diff 扫描已通过 list_codex_security_review_items 提供文件清单,则直接审查该清单并用 record_codex_security_discovery_candidates 一次性记录所有候选,不生成排名工作清单、逐发现台账、发现回执或发现报告。

针对无现成紧凑清单的定向代码 diff:读取 ../security-scan/references/scan-artifacts-and-ledger.md;用 generate_rank_input.py make-diff-rank-input 生成 rank_input.jsonl(PR/commit/分支用 --mode revisions,本地补丁用 --mode local-patch);用 launch_codex_security_mcp --helper copy-deep-review-input 将每行 diff 复制到 deep_review_input.jsonl;对其中每个文件做深度审查,必要时在授权下使用文件审查子代理。

发现清单要点:用工具检查变更文件及其最小依赖文件;不轻信提交信息;追踪变更代码链对授权、信任边界、危险 sink 或安全控制的影响;按不同根因区分发现族,独立可达实例单独记录;共享 helper/守卫/路由/模板/sink 包装变更时扩展到直接受影响的兄弟调用点;对 advisory 种子行保留其行 id、文件、行号、source、sink 或失效控制提示;不要将多个有独立行级证据的漏洞文件合并为一个候选;危险 sink 多调用点时逐一枚举;跨包装器时同时记录包装器与共享 sink/控制位置;对“所有”实现类声明要枚举具体实现;宽泛操作族要拆分为具体导出函数、路由分支、sink 语句、API 模式、解析器变体或受保护动作;同一路由多个危险操作分别记录;共享/生成包装器仅作可达性证据,不合并子 sink 变体;种子包/类族未关闭前保持该行开放;CVE/advisory 上下文先派生种子短名单;打开或 grep 种子目标须建显式关闭行;共享反序列化/类解析/模板/认证控制中解析器/过滤器/允许列表/拒绝列表/守卫行可作为候选位置;反序列化与对象构造族要枚举具体 codec、反序列化器、转换器与容器处理器;文件格式对象模型要枚举原始/容器辅助方法;对象模型辅助方法扫描先建强制发现行,仅在恶意输入可达且缺失守卫可致崩溃、拒绝服务、解析混淆、授权绕过等具体影响时升级为可报告发现;结构化 patch/edit/apply API 要枚举具体请求选择操作;具体操作类要检查专用辅助方法而非仅顶层 override;类过滤/允许列表/拒绝列表/解析器逻辑在核心、服务端、客户端、远程、插件、导入包重复时纳入运行时/导出等价物;框架/库扫描中存储的客户端、租户、应用、身份提供者、异常或导入配置值在跨边界渲染、求值、解析或用于授权且存在合理运行时路径时视为跨边界输入;SQL/NoSQL/LDAP/XPath 查询 API 不因端点已接受用户数据、操作是插入/更新或后续业务检查而抑制候选;不同高影响证明元组不因共享路由或 helper 而合并;出站请求面要枚举每个攻击者可控目标源及其最近允许/拒绝/过滤/重定向控制;XML/解析器/反序列化面要独立枚举默认解析器工厂、转换器、验证器、转换器、unmarshal/parse 调用与处理器入口;命令/动作运行器要枚举每种攻击者可控参数类型与执行模式;XML 解析器与转换器候选要包含特性设置与解析器行。

限制:标准与深度发现 worker 遵循其自包含协调提示,不调用本技能;独立仓库发现请求直接应用相关清单,不运行仅 diff 工作流或启动新扫描;路径引用为默认位置,用户显式提供时以用户路径为准;必需输入缺失时停止并询问用户;不将发现清单变为验证或攻击路径分析;不漂移到无关仓库扫描;对象模型辅助方法扫描不自动成为可报告发现;抑制需精确遏制证据。