sql-code-review 是做什么的?
通用 SQL 代码审查助手,对所有 SQL 数据库(MySQL、PostgreSQL、SQL Server、Oracle)进行全面的安全性、可维护性和代码质量分析。专注于 SQL 注入预防、访问控制、代码规范和反模式检测。与 SQL 优化提示相辅相成,提供完整的开发覆盖。
功能
- 安全性分析:检测 SQL 注入风险、未参数化的查询、不安全的动态 SQL 拼接、缺失的输入验证。
- 访问控制审查:检查权限使用是否合理(如 GRANT/REVOKE 语句)、角色管理、行级安全策略。
- 代码质量:识别反模式,例如未使用索引的列、过度使用的子查询、错误的连接类型、未处理的 NULL 值。
- 规范性检查:验证命名约定(表名、列名、别名)、关键词大小写、缩进和注释规范(匹配常见 Style Guide,如 SQL Style Guide)。
- 兼容性警告:如果代码混合了数据库特定语法(如 MySQL 的
LIMIT在 SQL Server 中不兼容),会发出警告。
使用场景
- 开发者在 VS Code 或 JetBrains IDE 中编写 SQL 时,通过 AI 助手自动触发审查。
- CI/CD 管道中审查每个 SQL 提交的 PR。
- 学习 SQL 最佳实践的新手作为教育工具。
用法
-- 示例:带 SQL 注入风险的查询
SELECT * FROM users WHERE username = 'admin' OR '1'='1';
审查输出将指出:不安全字符串拼接、建议参数化查询。
局限性
- 不执行查询性能优化(使用 SQL 优化提示来填充)。
- 不连接实际数据库——仅静态分析。
- 可能误判上下文特定模式(如 ORM 生成的代码)。
技术
- 语言:Markdown 格式输出,兼容所有 AI 代理。
- 数据库:MySQL、PostgreSQL、SQL Server、Oracle(通用语法)。
- 依赖:无外部依赖——本地正则和 AST 基础分析。
许可证
MIT