用途:在用户要求检查拒绝服务、分析可用性风险或查找 DoS 漏洞时,对源码进行拒绝服务威胁分析,对应 STRIDE 中 D——可用性安全属性的违背。
主要能力:按范围分析外部输入处理相关文件,识别资源耗尽、算法复杂度攻击、应用崩溃、压缩炸弹等风险;支持 --scope、--depth、--severity、--format、--fix、--quiet、--explain 等交叉标志;--depth standard 检查各文件资源消耗模式,deep 则从入口点追踪输入以发现放大点、无界操作和级联失败路径。
分析清单:缺失限流(登录、搜索、注册、API 等公开端点)、无界输入大小、ReDoS 模式、算法复杂度、无约束资源分配、压缩/解压炸弹、缺失超时、单点故障、异步路径中的同步阻塞、无界扇出、GraphQL 复杂度、连接/资源耗尽。
使用方式:解析标志并确定目标文件列表,筛选处理外部输入的文件(API 端点、文件上传、搜索查询、WebSocket、消息队列消费者、定时任务、中间件、正则、媒体处理管线);逐文件按清单分析;按 findings 架构输出,使用 DOS ID 前缀,references.stride 设为 "D"。
适用场景:Web 服务、API 网关、文件与媒体处理、GraphQL、消息队列等对可用性敏感的代码审计。
限制与务实说明:VPN 或服务网格内服务的外部 DoS 风险较低;网关级限流可能覆盖应用级缺失;启动代码中的同步读取通常可接受;内网调用缺少超时的风险低于外部第三方调用;ReDoS 严重性取决于正则是否作用于用户输入。输出格式需符合 findings 架构,包含 id、severity、confidence、location、description、impact、fix、references 和 metadata。常见 CWE 包括 CWE-400、CWE-1333、CWE-770、CWE-834、CWE-674、CWE-409、CWE-755。