Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

review-sql审查 SQL

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

1,469

周安装

60

GitHub Stars

7

下载量

470
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:review-sql(审查 SQL)
来源仓库:https://github.com/nesnilnehc/ai-cortex
仓库路径:skills/review-sql
安装命令:
npx skills add https://github.com/nesnilnehc/ai-cortex --skill review-sql
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nesnilnehc/ai-cortex --skill review-sql

简介

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。

  • 适合分析 schema、编写 SQL、排查查询问题或生成迁移建议。
  • 使用时需明确数据库类型、连接环境和目标表,区分只读与写入变更。
  • 涉及删除、更新或批量导入时,应优先 dry-run、备份或事务保护。
  • review-sql 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

技能(Skill):审查 SQL

目的 (Purpose)

仅查看 SQL 和查询相关代码的 语言和查询约定。涵盖注入和参数化、索引和执行计划问题、事务和隔离、NULL 和唯一约束、方言可移植性、大表和分页模式以及敏感列和权限。以标准格式发出结果列表以进行聚合。不定义范围或执行全面的安全/架构审查;注入在这里是一个特定于 SQL 的问题,但更广泛的安全性是针对 review-security


核心目标(Core Objective)

首要目标:生成以 SQL 为中心的 findings 列表,涵盖注入/参数化、索引、事务、NULL/约束、方言可移植性、分页模式及敏感列访问,针对给定代码范围。

成功标准(必须满足所有要求):

  1. 仅限 SQL 范围:仅审查 SQL 和查询约定;未执行范围选择、完全安全性或架构分析
  2. 涵盖所有七个 SQL 维度:注入/参数化、索引/执行计划、事务/隔离、NULL/唯一约束、方言/可移植性、大表/分页模式以及相关的敏感列/权限
  3. 结果格式兼容:每个结果包括位置、类别(language-sql)、严重性、标题、描述和可选建议
  4. 已标记关键注入问题:SQL 注入模式(字符串连接、用户输入插值)被标记为“严重”严重性
  5. 位置精确引用:所有结果都引用特定文件:行或查询标识符位置

验收测试:输出是否包含涵盖所有相关查询维度的 SQL 结果列表,其中注入风险标记为“关键”以及每个结果的具体位置引用?


范围边界(范围边界)

本技能负责

  • 通过字符串连接或插值进行 SQL 注入 — 参数化查询和准备好的语句
  • WHERE/JOIN/ORDER BY 列的索引间隙
  • 事务边界、隔离级别、死锁风险、长时间运行的事务
  • 比较/聚合中的 NULL 处理、唯一约束、NOT NULL 正确性
  • 数据库方言可移植性(LIMIT/OFFSET/FETCH、日期函数、供应商特定语法)
  • 大表全扫描、分页策略(keyset vs OFFSET)
  • SELECT 中的敏感列暴露、最低权限角色使用

本技能不负责

  • 范围选择——范围由调用者提供
  • 更广泛的安全分析(超越 SQL 注入)——使用“review-security”
  • 架构分析——使用“review-architecture”
  • 全面精心策划的审核——使用“审核代码”

转交点:当所有 SQL 结果发出后,将其交给 review-code 进行聚合。对于更广泛的安全问题(身份验证、加密、配置),请重定向到“审查安全”。


使用场景(用例)

  • 精心安排的审阅:当 review-code 为包含 SQL(.sql 文件、嵌入式 SQL 或 ORM 生成的 SQL)的项目运行时用作语言步骤。
  • 仅 SQL 审查:当用户只想检查查询的正确性、性能和安全性时。
  • 迁移或可移植性:检查特定方言的构造和跨数据库的可移植性。

何时使用:当正在审查的代码包含 SQL(原始.sql、嵌入代码或 ORM 生成)时。范围(差异与路径)由调用者或用户确定。


行为(行为)

该技能的范围

  • 分析给定范围(文件、片段或差异)中的 SQL 和查询逻辑。接受.sql 文件、应用程序代码中的嵌入式 SQL 或 ORM 生成的 SQL(如果可见)。
  • 不要:决定范围(差异与代码库);不执行完整的应用程序安全或架构审查。关注 SQL/查询维度。

查看清单(仅限 SQL 维度)

  1. 注入和参数化:SQL中用户输入无需字符串串联或插值;使用参数化查询或准备好的语句;避免来自不可信输入的动态 SQL。
  2. 索引和执行计划:对未索引列进行过滤或联接的查询;在大表上选择*;缺少 WHERE/JOIN/ORDER BY 的索引。
  3. 事务和隔离:适当的事务边界;隔离级别和锁定;避免长时间运行的事务;僵局风险。
  4. NULL和唯一约束:比较和聚合中NULL的处理;独特的约束和重复的处理;在适当的情况下 NOT NULL。
  5. 方言和可移植性:特定于数据库的语法(例如 LIMIT 与 OFFSET/FETCH、日期函数)和可移植性(如果需要多数据库支持)。
  6. 大表和分页:对大表进行全量扫描;分页(键集与 OFFSET)和可扩展性。
  7. 敏感列和权限:SELECT中的敏感数据; SQL 中的最低权限和角色使用(如果可见)。

语气和参考

  • 专业和技术:参考特定位置(文件:行或查询标识符)。发出包含位置、类别、严重性、标题、描述、建议的结果。

输入与输出 (Input & Output)

输入(输入)

  • 代码范围:包含 SQL 的文件或片段(例如.sql 文件、带有嵌入式 SQL 的代码或 ORM 生成的 SQL(如果可用))。由用户或范围技能提供。

输出(输出)

  • 附录:输出合同中定义的格式发出零个或多个结果
  • 此技能的类别是语言-sql

限制(限制)

硬边界(Hard Boundaries)

  • 不要执行范围选择或全面的安全/架构审查。遵守 SQL 和查询约定。
  • 不要在没有具体地点或可行建议的情况下给出结论。
  • 不要假设特定的数据库供应商,除非另有说明;相关时请注意方言。

技能边界 (Skill Boundaries)

不要做这些(其他技能可以处理它们):

  • 不要选择或定义代码范围 - 范围由调用者或“审查代码”确定
  • 不要执行 SQL 注入之外的广泛安全分析 - 使用“review-security”
  • 不要执行架构分析——使用“review-architecture”
  • 不要审查非 SQL 代码的 SQL 约定(应用程序代码中的 SQL 注入应由“审查安全”标记)

何时停止并交接

  • 当所有 SQL 结果发出后,将其交给“review-code”进行聚合
  • 当用户需要更广泛的安全分析(身份验证、加密、配置)时,重定向到“审查安全”
  • 当用户需要全面审查(范围+语言+cognitive)时,重定向到“审查代码”

自检(Self-Check)

核心成功标准

  • 仅 SQL 范围:仅审查 SQL 和查询约定;未执行范围选择、完全安全性或架构分析
  • 涵盖所有七个 SQL 维度:注入/参数化、索引/执行计划、事务/隔离、NULL/唯一约束、方言/可移植性、大表/分页模式以及相关的敏感列/权限
  • 结果格式兼容:每个结果包括位置、类别(语言-sql)、严重性、标题、描述和可选建议
  • 已标记关键注入问题:SQL 注入模式(字符串连接、用户输入插值)被标记为“严重”严重性
  • 位置精确引用:所有结果都引用特定文件:行或查询标识符位置

流程质量检查

  • 是否仅审查了 SQL/查询维度(没有超出查询设计的范围/架构)?
  • 是否涵盖相关的参数化、索引、事务、NULL/约束和可移植性?
  • 每个发现是否都包含位置、类别=语言-sql、严重性、标题、描述和可选建议?
  • 问题是否通过 file:line 或查询标识符引用?

验收测试

输出是否包含涵盖所有相关查询维度的 SQL 结果列表,其中注入风险标记为“关键”以及每个结果的具体位置引用?


示例(示例)

示例 1:查询中的字符串连接

  • 输入:使用字符串连接(包括用户输入)构建的查询。
  • 预期:发出 SQL 注入的关键发现;建议参数化查询或准备好的语句。类别=语言-sql。

示例 2:没有分页的大表

  • 输入:SELECT * FROM large_table ORDER BY id,没有 LIMIT 或分页。
  • 预期:发出性能和可扩展性的结果;建议分页(例如键集或 OFFSET/FETCH),并在不需要时避免使用 SELECT *。类别=语言-sql。

边缘情况:ORM 生成的 SQL

  • 输入:仅使用 ORM 的应用程序代码;生成的 SQL 不可见。
  • 预期:检查代码中的任何原始 SQL 或查询构建器;如果没有可见的 SQL,请说明并跳过或报告“范围内没有要审查的 SQL”。不要发明 SQL。

附录:输出合约

每项调查结果必须遵循标准调查结果格式:

元素要求
位置path/to/file.ext(可选行或范围)或查询标识符。
类别语言-sql
严重性关键 \主要 \次要 \建议
标题简短的一行摘要。
描述1-3 句话。
建议具体修复或改进(可选)。

示例:

- **Location**: `scripts/orders.sql:12`
- **Category**: language-sql
- **Severity**: critical
- **Title**: Query built with string concatenation; injection risk
- **Description**: User-controlled input is concatenated into the WHERE clause.
- **Suggestion**: Use parameterized query or prepared statement with placeholders.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.32%
按下载量换算171

Claude

30.82%
按下载量换算145

Cursor

17.12%
按下载量换算80

Gemini CLI

9.98%
按下载量换算47

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills