hhyo / Archery

SQL 审核查询平台
https://archerydms.com
Apache License 2.0
6.1k stars 1.69k forks source link

GoInceptionEngine.query_data_masking没有返回正确的错误信息 #2725

Open Orlion opened 4 months ago

Orlion commented 4 months ago

问题描述

当mysql查询sql的表名为关键词时执行sql会返回Err: 数据脱敏异常:Inception Error: print_info.get("errmsg")

复现步骤

  1. 打开https://demo.archerydms.com/sqlquery/ 选择mysql-demo组,archery-test数据库
  2. 执行sql select * from point limit 1
  3. 返回Error: 数据脱敏异常:Inception Error: print_info.get("errmsg")

错误信息中的print_info.get("errmsg")没有得到执行,没有返回原始的错误信息,看了下定位到源码:https://github.com/hhyo/Archery/blob/52ce7595d4b3b6e294b49c4d9a4ce10a0992d60f/sql/engines/goinception.py#L221

这是否是一个BUG?

预期外的结果

数据脱敏异常:Inception Error: 能够返回正确的原始错误信息

日志文本

No response

版本

1.11.2

woshiyanghai commented 4 months ago

数据库point是个保留字,请尝试select * from point limit 1 看看

Orlion commented 4 months ago

数据库point是个保留字,请尝试select * from point limit 1 看看

是的,point是个保留字。但我的问题是返回的错误信息看起来不太对😄

woshiyanghai commented 4 months ago

image 你可以尝试输出一下print_info