Skip to content

Commit 44456c8

Browse files
committed
refactor: expand map_dialect_to_rust_int fn
to its natural habitat
1 parent b54e29a commit 44456c8

File tree

2 files changed

+10
-21
lines changed

2 files changed

+10
-21
lines changed

aikido_zen/vulnerabilities/sql_injection/map_dialect_to_rust_int.py

Lines changed: 0 additions & 19 deletions
This file was deleted.

aikido_zen/vulnerabilities/sql_injection/zen_internal_ffi.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import ctypes
66
import threading
77
from .get_lib_path import get_binary_path
8-
from .map_dialect_to_rust_int import map_dialect_to_rust_int
98
from ...helpers.encode_safely import encode_safely
109

1110
class __Singleton(type):
@@ -19,6 +18,15 @@ def __call__(cls, *args, **kwargs):
1918
return cls._instances[cls]
2019

2120
class ZenInternal(metaclass=__Singleton):
21+
# Reference : [rust lib]/src/sql_injection/helpers/select_dialect_based_on_enum.rs
22+
SQL_DIALECTS = {
23+
"generic": 0,
24+
"clickhouse": 3,
25+
"mysql": 8,
26+
"postgres": 9,
27+
"sqlite": 12,
28+
}
29+
2230
def __init__(self):
2331
self._lib = ctypes.CDLL(get_binary_path())
2432
self._lib.detect_sql_injection.argtypes = [
@@ -37,7 +45,7 @@ def detect_sql_injection(self, query, user_input, dialect):
3745
userinput_buffer = (ctypes.c_uint8 * len(userinput_bytes)).from_buffer_copy(
3846
userinput_bytes
3947
)
40-
dialect_int = map_dialect_to_rust_int(dialect)
48+
dialect_int = self.SQL_DIALECTS[dialect]
4149
return self._lib.detect_sql_injection(
4250
query_buffer,
4351
len(query_bytes),

0 commit comments

Comments
 (0)