Spaces:
Sleeping
Sleeping
File size: 3,196 Bytes
90fc756 b83c8ad 90fc756 852b5ea 90fc756 852b5ea b83c8ad 852b5ea b83c8ad 90fc756 b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea b83c8ad 852b5ea 90fc756 b83c8ad | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | name: sql-query-reviewer
description: "AI agent reviews SQL queries for correctness, performance, and security."
author: Hellinferno
version: "0.2.0"
tags:
- openenv
- sql
- code-review
- security
tasks:
- id: easy_001
name: Syntax Keyword Typos
difficulty: easy
description: "Detect misspelled SQL keywords (SELCT, FORM, WEHRE) and unnecessary SELECT *."
- id: easy_002
name: Missing FROM Clause
difficulty: easy
description: "Find missing FROM keyword before table name."
- id: easy_003
name: NULL Comparison Logic
difficulty: easy
description: "Detect = NULL instead of IS NULL."
- id: easy_004
name: Unclosed String Literal
difficulty: easy
description: "Find unterminated quote in WHERE clause."
- id: easy_005
name: Unknown Column Name
difficulty: easy
description: "Detect column name typo (statuz vs status)."
- id: easy_006
name: DELETE Without WHERE
difficulty: easy
description: "Detect dangerous unconditional DELETE statement."
- id: easy_007
name: Column Self-Comparison
difficulty: easy
description: "Detect column compared to itself instead of a value."
- id: medium_001
name: Wide Table SELECT Star
difficulty: medium
description: "Identify schema-aware performance problems like SELECT * on wide JSON tables."
- id: medium_002
name: Correlated Subquery
difficulty: medium
description: "Find correlated subqueries that could be rewritten as JOINs."
- id: medium_003
name: Redundant DISTINCT
difficulty: medium
description: "Detect unnecessary DISTINCT on unique columns."
- id: medium_004
name: Function on Indexed Column
difficulty: medium
description: "Detect DATE() function preventing index usage."
- id: medium_005
name: Leading Wildcard Search
difficulty: medium
description: "Identify LOWER() and leading wildcard preventing index usage."
- id: medium_006
name: DATE Function Index Bypass
difficulty: medium
description: "Detect DATE() function on indexed column preventing efficient lookups."
- id: medium_007
name: ORDER BY RAND Performance
difficulty: medium
description: "Detect expensive random ordering on large tables."
- id: hard_001
name: SQL Injection Detection
difficulty: hard
description: "Find string interpolation enabling SQL injection vectors."
- id: hard_002
name: Privilege Escalation via UNION
difficulty: hard
description: "Detect UNION with system tables exposing sensitive data."
- id: hard_003
name: PII Data Leakage
difficulty: hard
description: "Find unfiltered JOINs exposing personally identifiable information."
- id: hard_004
name: Self-Join Optimization
difficulty: hard
description: "Detect self-joins replaceable with window functions for 10x improvement."
- id: hard_005
name: Transaction Isolation Issues
difficulty: hard
description: "Find missing transaction isolation causing partial failure corruption."
- id: hard_006
name: Race Condition in Balance Update
difficulty: hard
description: "Detect TOCTOU race condition allowing double-spending."
|