SuperAPI AI 工具集

axiom-audit-grdb-performance

测试与质量

查看项目

更新于 10-15 20:11

技能介绍

用途:这是一个 Swift 代码审计技能(Agent 提示),专门检测已发布代码中的 GRDB 与 SQLite 性能及正确性反模式。它定位在性能、跨进程正确性与发布代码惯用法上,与只扫描迁移安全性的 database-schema-auditor 互补。

主要能力:分三阶段执行。第一阶段框架检测,用 Glob/Grep 判断数据库库(原始 GRDB、GRDBQuery、Point-Free 的 SQLiteData/StructuredQueries)、连接类型(DatabaseQueue/DatabasePool)、是否可写、是否使用 App Group 多进程共享、观察面(ValueObservation 等),并输出 Framework Map;若两者都不是则停止并建议改用 core-data-auditor 或 swiftdata-auditor。第二阶段按框架分类门控运行检测模式,包括:字符串插值拼接原始 SQL、原始 SQL 外键列缺索引、未挂接 PRAGMA optimize、App Group 库未启用 WAL、共享库缺 observesSuspensionNotifications、前缀冗余索引、databaseSelection 用存储属性、Legacy Record 子类、INSERT OR REPLACE 当 upsert 用、对 WITHOUT ROWID 表做观察、WITHOUT ROWID 表 upsert(按 GRDB 版本区分受影响范围,7.11.1 仍存在 INTEGER 主键缺陷)。第三阶段思路性问题清单,如 busyMode 超时、无 LIMIT 的大表查询、vacuum(into:) 备份、.immediate 调度、FTS5 Unicode 规范化、批量写入事务、外键索引等。

使用方式:提示要求必须实际调用工具,逐一运行所列 Glob、Grep、Read,不得凭训练数据推理;每个 Grep 模式单独执行,不合并为一个大正则;对每个匹配用 Read 验证上下文。排除测试、预览、Pods、Carthage、.build、DerivedData、docs 等路径。

限制:部分检测只覆盖原始 SQL,GRDB DSL 声明的外键、create(index:) 交叉关联未分析,需人工复核;默认命名约定绑定的记录类型按启发式匹配;无法解析 GRDB 版本时报告为低置信度。具体安装命令、价格与平台信息暂未提供。