SuperAPI AI 工具集

ubs

编程与开发

查看项目

更新于 10-15 20:27

技能介绍

用途:UBS 用于代码审查,扫描能通过编译但运行时可能崩溃的问题,包括空指针解引用、缺失 await、资源泄漏和安全漏洞,也适合校验 AI 生成的代码。

主要能力:支持按暂存文件、工作区差异或指定文件扫描;可按语言过滤(如 --only=go,rust、--only=ts,tsx,注意 js 不等于 ts);可跳过指定类别(--skip=11,12)或使用 --profile=loose 减少噪音;支持多种输出格式,json 为摘要、jsonl 为逐条详情、sarif 可接入 IDE 或 GitHub;支持与基线对比只显示新问题(--comparison=baseline.json),以及 --fail-on-warning 严格门禁、--category=security 安全扫描、--html-report 生成报告。

使用方式:提交前运行 ubs --staged(仅扫描暂存文件,通常小于 1 秒);用 ubs --diff 查看未暂存改动;用 ubs . 全项目扫描。退出码 0 表示可继续,1 表示需分诊发现项,2 表示需运行 ubs doctor --fix。对每条发现判断是否为真实缺陷:真实缺陷修复根因;误报则用 // ubs:ignore — 原因 抑制,且必须说明为何安全(Python/Ruby/Shell 用 #,SQL 用 --)。重复扫描直至退出码为 0 再提交。

适用场景:提交前快速检查、PR 审查(仅看新问题)、安全审计、AI 生成代码验证、CI/CD 与钩子集成。

限制:误报较多,分诊是必需步骤而非可选;忽略注释必须给出理由;JS/TS 需要 AST 引擎,若降级可用 ubs doctor --fix 修复;测试夹具等误报可加入 .ubsignore。类别编号对应 --skip=N 与 --category=N。更多细节见 TRIAGE.md、FALSE-POSITIVES.md、WORKFLOWS.md。