SuperAPI AI 工具集

sast-fileupload

安全与审计

查看项目

更新于 10-16 01:49

技能介绍

用途:在代码库中检测不安全的文件上传漏洞。该技能采用三阶段子代理流程:发现(找出所有接收并存储上传文件的位置)、分批验证(并行批量检查绕过向量,每批最多 3 个上传点)、合并(将批次报告整合为一个结果文件)。前提条件是 sast/architecture.md 必须已存在,否则需先运行分析技能。

主要能力:识别接收 HTTP 请求中的文件并写入或存储的代码位置,覆盖 Python/Django、Flask、Node.js、PHP、Java/Spring、Go、Ruby on Rails、C#/ASP.NET 等框架。重点检测:无扩展名或内容检查、仅校验 Content-Type、扩展名黑名单存在缺口、大小写绕过、双扩展名绕过、文件名路径遍历、只剥离 ../ 而漏掉编码变体、从可执行目录提供上传文件等。

不该标记的情况:SVG 存储型 XSS、经由文件内容的 SSRF/XXE、缺少大小限制的 DoS、下载接口的 IDOR,以及文件存于 web 根目录之外、通过受控下载端点返回或存于无执行能力对象存储的安全上传。

缓解模式:安全扩展名允许列表(最重要)、魔数/文件内容校验、使用可信库清理文件名、存储于 web 根目录之外、通过带 Content-Disposition 的受控端点提供文件、重命名为服务端生成的 UUID。

执行方式:将 sast/architecture.md 内容传给所有子代理作为上下文。阶段一将结果写入 sast/fileupload-recon.md;若发现 0 个上传点,跳过后续阶段并向 sast/fileupload-results.md 写入“No file upload sites found.”;否则进入阶段二,将上传点分成每批最多 3 个并行分析;阶段三合并批次报告。

限制:文档明确要求先具备架构摘要文件;三个阶段的完整命令细节在资料中于阶段二说明处中断,暂未提供后续步骤。具体绕过检测的判定规则与合并格式以原文为准。