We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent beb6243 commit 9d1e2b9Copy full SHA for 9d1e2b9
src/agents/common/toolkits/mysql/security.py
@@ -41,10 +41,14 @@ def validate_sql(cls, sql: str) -> bool:
41
if not any(sql_upper.startswith(op) for op in cls.ALLOWED_OPERATIONS):
42
return False
43
44
- # 检查危险关键词
45
- for keyword in cls.DANGEROUS_KEYWORDS:
46
- if keyword in sql_upper:
47
- return False
+ # 检查危险关键词 - 只检查语句开头的关键字,避免列名/表名误报
+ # 提取语句开头的第一个词
+ first_word_match = re.match(r"^\s*(\w+)", sql_upper)
+ first_word = first_word_match.group(1) if first_word_match else ""
48
+
49
+ # 只在开头检查危险关键词
50
+ if first_word in cls.DANGEROUS_KEYWORDS:
51
+ return False
52
53
# 检查SQL注入模式
54
sql_injection_patterns = [
0 commit comments