用途
Concurrency Auditor(并发审计器)是一个 L3 工作器(Worker)类型的技能,专门用于审计代码中的并发、异步模式以及跨进程资源访问问题。它属于审计类别中的第 11 类(高优先级),目标是对并发安全性进行系统性检查并给出合规评分。
主要能力
该技能执行 7 项检查:
- 异步/事件循环竞态(CWE-362):检测单线程异步代码中跨 await/yield 边界的共享状态损坏。
- 线程/Goroutine 安全(CWE-366):检测多线程/goroutine 中未同步访问共享可变状态。
- TOCTOU(检查时间与使用时间不一致,CWE-367):检测资源状态在检查与使用之间可能被改变的情况。
- 死锁可能性(CWE-833):检测锁获取顺序不一致或在阻塞操作期间持有锁。
- 异步上下文中的阻塞 I/O(CWE-400):检测异步函数或事件循环处理器中的同步阻塞调用。
- 资源争用(CWE-362):检测多个并发访问者竞争同一资源而无协调。
- 跨进程与不可见副作用(CWE-362、CWE-421):检测多个进程或进程与操作系统访问同一独占资源,包括对共享 OS 资源有非显而易见副作用的操作。
检测采用两层方法:第一层用 Grep/Glob 扫描查找候选,第二层读取候选周围 20-50 行代码,应用检查特定的关键问题,将结果分类为确认、误报或需要上下文。
使用方式
该技能作为工作器运行,接收包含 tech_stack、best_practices、codebase_root、output_dir 的 contextStore。工作流程包括:解析上下文、逐项执行 7 项检查(每项均两层检测)、收集确认的发现(含严重性、位置、工作量、建议)、按评分规则计算分数、将报告写入 {output_dir}/ln-628--global.md(原子单次写入),并向协调器返回摘要。
优先使用 hex-graph 进行数据流或调用路径分析,使用 hex-line 进行本地代码读取;若 MCP 不可用或不支持,则回退到内置的 Read/Grep/Glob/Bash 并在报告中说明。
适用场景
适用于对代码库进行并发安全审计,尤其是涉及支付、认证、金融代码时,任何发现都会升级为 CRITICAL。排除测试文件、单线程 CLI 工具和生成代码。
限制
该技能仅报告问题,不自动修复,因为并发修复需要仔细的人工审查。严重性分级:CRITICAL(支付/认证)、HIGH(面向用户)、MEDIUM(后台)。工作量估算:S = <1 小时,M = 1-4 小时,L = >4 小时。