SuperAPI AI 工具集

race-conditions

安全与审计

查看项目

更新于 10-15 21:42

技能介绍

用途:分析源代码中的竞态条件漏洞,包括 time-of-check to time-of-use(TOCTOU)、双花(double-spend)、无锁 check-then-act、文件系统竞态、跨异步边界的共享状态,以及非原子计数器操作。由于竞态依赖时序、难以通过测试发现,静态分析尤为重要。\n\n主要能力:覆盖 CWE-362、CWE-367、CWE-820、CWE-821、CWE-829。重点检测模式包括:文件操作中的 TOCTOU、check-then-debit 双花、无锁 check-then-act、await 前后共享可变状态、非原子读-改-写、数据库事务隔离缺失、并发遍历修改共享集合。\n\n使用方式:通过 --scope 选择分析文件(默认 changed),--depth standard 检查常见竞态模式,--depth deep 跨调用图与异步边界追踪共享状态,--severity 过滤输出。若存在扫描器则调用:semgrep scan --config auto --json --quiet <target>、go vet -race ./...、bandit -r <target> -f json -q;无扫描器时用 Grep 依据检测模式查找,置信度记为 medium。\n\n输出:按 findings schema,ID 前缀 RACE(如 RACE-001),metadata.tool 为 race-conditions,framework 为 specialized,category 为 RACE,引用 CWE-362、CWE-367,STRIDE 为 T 或 E;每条发现包含严重级别与置信度、文件位置与代码片段、竞态窗口、利用场景、修复建议(尽量给 diff)及 CWE 引用。\n\n适用场景:数据库事务处理、支付与金融逻辑、文件系统操作、异步/并发代码、计数器与状态管理。\n\n限制:严重度分级为 critical(金融双花、鉴权绕过)、high(敏感文件 TOCTOU、授权 check-then-act)、medium(影响业务逻辑的非原子计数器、await 共享状态)、low(无明确利用路径的理论竞态、外观性计数误差)。深度分析需扫描器或完整调用图;无扫描器时置信度有限。