SuperAPI AI 工具集

review-security-structure

安全与审计

查看项目

更新于 10-15 16:46

技能介绍

用途:对自有或明确授权的代码、设计文档、扫描结果或已生成的结构图做防御性安全审查。核心思路是结构优先——先读架构与数据流,再读完整源码,用结构信号找出漏洞、逻辑缺陷、解析器/扫描器风险、CI/CD 风险以及 LLM/智能体工具边界风险。触发场景包括安全审查、漏洞审查、SAST 分类、AST、结构图、调用图、Source/Sink、污点流等;适用于加固解析器、扫描器、CI/CD 工具、文件遍历器以及智能体/工具调用边界,以应对畸形或对抗性输入。

安全边界:仅限防御性工作,包括审查、风险说明、安全验证思路和最小修复;不提供未授权测试、入侵、持久化、规避、凭据窃取、武器化 PoC 或破坏性外部操作。若可利用性不确定,应放入“假设”而非“发现”。若需改代码,应保持最小改动并用现有测试或聚焦的本地检查验证。

优先输入:先用已提供的结构产物,再按需检查最小范围的代码/配置。输入示例包括结构(AST 摘要、类/函数列表、Mermaid 图、JSON 报告)、数据流(Source、Propagator、Sanitizer、Sink、污点流)、调用图(调用者到被调用者边、跨边界调用、回退路径)、复杂度(大函数、分支集中、异常密度)、作用域/状态(变量作用域、全局状态、共享可变状态、鉴权边界)、静态结果(密钥扫描、依赖扫描、lint/类型/SAST 警告)、上下文(README、设计说明、CI 工作流、部署配置)。

结构图构建:若没有等价产物,在进入 findings review 前先建立最小的只读结构图。步骤(7 步)与最小契约(entry_points / files / symbols / imports / call_edges / complexity / sources / sinks / sanitizers / scan_limits)见 references/structure-map.md。无法生成时,在 Structure Map Summary 中记录阻塞项与限制。

审查流程:界定目标(默认当前工作区或用户提供的产物允许审查,仅在所有权或授权不明时询问);对目标分类(Web 应用、CLI、库、扫描器、CI/CD 工具、基础设施定义、数据处理器、扩展、智能体工具);读取已有结构图或先按契约建立最小图;建模信任边界;追踪 Source→Propagator→Sanitizer→Sink,关注缺失校验、顺序错误、分支缺口、隐式反序列化、类型转换意外;审查绕过鉴权/校验/初始化/特性开关/正常处理器的调用图路径;审查复杂度与逻辑风险(巨型函数、宽泛 try/catch、深层嵌套、回退行为、共享状态、TOCTOU、缓存竞态);对解析器/扫描器/文件遍历器优先关注崩溃、无界递归、符号链接循环、超大/超深 AST、编码边界情况、依赖解析失败、检测绕过;对 CI/CD 关注工作流输入、产物/缓存信任、令牌权限、PR 边界、发布门禁、密钥暴露;对 LLM/智能体代码关注提示注入路径、外部文档信任、工具调用授权、路径安全、命令策略、日志脱敏。

证据规则:发现需包含结构信号、可达性、影响以及防御性验证或修复方向;置信度分高/中/低,未验证时避免确定性措辞;缺乏支持的设想放入“假设”并注明缺失证据与下一步检查;引用本地文件时尽量给出精确路径与行号链接,不粘贴完整源文件。

输出格式:按 Findings → Structure Map Summary → Hypotheses → Code to Inspect → Recommended Fix Plan → Verification Summary 的顺序返回;全部表格结构与 Recommended Fix Plan 正文见 references/output-format.md;若 Findings 为零,需在开头明确说明。参考资料包括 ast-structure-map、相关日文技术文章链接,仅为参考而非必需依赖。