mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-04 02:31:27 +00:00
enhance SQL injection keyword category with more patterns and exceptions
This commit is contained in:
parent
8d2e406233
commit
94d75d64d6
1 changed files with 55 additions and 22 deletions
|
|
@ -1,5 +1,7 @@
|
|||
# SQL Injection Detection - Detects SQL injection attempts in prompts
|
||||
# Uses conditional logic: BLOCK if an identifier word + block word appear in same sentence
|
||||
# NOTE: avoid regex-special characters like ( ) [ ] in keywords,
|
||||
# because the content filter matches keywords via regex internally.
|
||||
category_name: "prompt_injection_sql"
|
||||
description: "Detects SQL injection attempts embedded in prompts"
|
||||
default_action: "BLOCK"
|
||||
|
|
@ -19,32 +21,39 @@ identifier_words:
|
|||
- "TRUNCATE"
|
||||
- "GRANT"
|
||||
- "REVOKE"
|
||||
- "UNION"
|
||||
- "SHUTDOWN"
|
||||
|
||||
# ADDITIONAL BLOCK WORDS - Injection-specific patterns
|
||||
additional_block_words:
|
||||
- "UNION"
|
||||
- "1=1"
|
||||
- "OR true"
|
||||
- "OR 1"
|
||||
- "--"
|
||||
- "/*"
|
||||
- "xp_cmdshell"
|
||||
- "information_schema"
|
||||
- "sys.tables"
|
||||
- "sysobjects"
|
||||
- "pg_catalog"
|
||||
- "pg_tables"
|
||||
- "INTO OUTFILE"
|
||||
- "INTO DUMPFILE"
|
||||
- "LOAD_FILE"
|
||||
- "BENCHMARK"
|
||||
- "SLEEP("
|
||||
- "WAITFOR"
|
||||
- "HAVING 1=1"
|
||||
- "GROUP BY"
|
||||
- "ORDER BY 1"
|
||||
- "INTO DUMPFILE"
|
||||
- "hex("
|
||||
- "char("
|
||||
- "concat("
|
||||
- "@@version"
|
||||
- "schema_name"
|
||||
- "@@version"
|
||||
- "drop table"
|
||||
- "drop database"
|
||||
- "drop schema"
|
||||
- "truncate table"
|
||||
- "delete from"
|
||||
- "alter table"
|
||||
- "union select"
|
||||
- "union all select"
|
||||
- "grant all"
|
||||
|
||||
# ALWAYS BLOCK - Explicit SQL injection patterns (blocked regardless of context)
|
||||
always_block_keywords:
|
||||
|
|
@ -56,6 +65,8 @@ always_block_keywords:
|
|||
severity: "high"
|
||||
- keyword: "' OR 1=1--"
|
||||
severity: "high"
|
||||
- keyword: "' OR 1=1 --"
|
||||
severity: "high"
|
||||
- keyword: "UNION SELECT * FROM"
|
||||
severity: "high"
|
||||
- keyword: "UNION ALL SELECT"
|
||||
|
|
@ -66,22 +77,18 @@ always_block_keywords:
|
|||
severity: "high"
|
||||
- keyword: "' UNION SELECT NULL"
|
||||
severity: "high"
|
||||
- keyword: "SELECT * FROM users"
|
||||
severity: "medium"
|
||||
- keyword: "' UNION SELECT"
|
||||
severity: "high"
|
||||
- keyword: "UNION SELECT NULL"
|
||||
severity: "high"
|
||||
- keyword: "SELECT password FROM"
|
||||
severity: "high"
|
||||
- keyword: "INSERT INTO users"
|
||||
severity: "medium"
|
||||
- keyword: "UPDATE users SET"
|
||||
severity: "medium"
|
||||
- keyword: "DELETE FROM users"
|
||||
severity: "high"
|
||||
- keyword: "DROP DATABASE"
|
||||
severity: "high"
|
||||
- keyword: "DROP TABLE users"
|
||||
severity: "high"
|
||||
- keyword: "ALTER TABLE users"
|
||||
severity: "medium"
|
||||
- keyword: "' OR ''='"
|
||||
severity: "high"
|
||||
- keyword: "admin'--"
|
||||
|
|
@ -92,29 +99,55 @@ always_block_keywords:
|
|||
severity: "high"
|
||||
- keyword: "INFORMATION_SCHEMA.COLUMNS"
|
||||
severity: "high"
|
||||
- keyword: "LOAD DATA INFILE"
|
||||
severity: "high"
|
||||
- keyword: "INTO OUTFILE"
|
||||
severity: "high"
|
||||
- keyword: "BENCHMARK(10000000"
|
||||
- keyword: "INTO DUMPFILE"
|
||||
severity: "high"
|
||||
- keyword: "LOAD_FILE"
|
||||
severity: "high"
|
||||
- keyword: "WAITFOR DELAY"
|
||||
severity: "high"
|
||||
- keyword: "SLEEP(5)"
|
||||
severity: "medium"
|
||||
- keyword: "'; SHUTDOWN --"
|
||||
severity: "high"
|
||||
- keyword: "'; EXEC sp_"
|
||||
severity: "high"
|
||||
- keyword: "xp_cmdshell"
|
||||
severity: "high"
|
||||
- keyword: "sp_addlogin"
|
||||
severity: "high"
|
||||
- keyword: "sp_addsrvrolemember"
|
||||
severity: "high"
|
||||
- keyword: "ORDER BY 1--"
|
||||
severity: "high"
|
||||
- keyword: "GROUP BY 1--"
|
||||
severity: "high"
|
||||
- keyword: "HAVING 1=1"
|
||||
severity: "high"
|
||||
|
||||
# Exception patterns (legitimate uses)
|
||||
exceptions:
|
||||
- "SQL tutorial"
|
||||
- "learn SQL"
|
||||
- "explain SQL"
|
||||
- "what is SQL injection"
|
||||
- "SQL syntax"
|
||||
- "SQL documentation"
|
||||
- "database design"
|
||||
- "SQL best practices"
|
||||
- "SQL injection prevention"
|
||||
- "protect against SQL injection"
|
||||
- "how to prevent"
|
||||
- "how to protect"
|
||||
- "how to defend"
|
||||
- "parameterized query"
|
||||
- "parameterized queries"
|
||||
- "prepared statement"
|
||||
- "prepared statements"
|
||||
- "SQL training"
|
||||
- "database course"
|
||||
- "how to sanitize"
|
||||
- "how to validate"
|
||||
- "research on"
|
||||
- "security research"
|
||||
- "security audit"
|
||||
- "penetration testing"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue