Skip to content

Commit f0aca9f

Browse files
committed
Add a basic clickhouse_driver sink
1 parent d5987bb commit f0aca9f

2 files changed

Lines changed: 22 additions & 0 deletions

File tree

aikido_zen/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ def protect(mode="daemon"):
5151
import aikido_zen.sinks.psycopg2
5252
import aikido_zen.sinks.psycopg
5353
import aikido_zen.sinks.asyncpg
54+
import aikido_zen.sinks.clickhouse_driver
55+
5456
import aikido_zen.sinks.builtins
5557
import aikido_zen.sinks.os
5658
import aikido_zen.sinks.shutil
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from aikido_zen.helpers.get_argument import get_argument
2+
from aikido_zen.sinks import before, on_import, patch_function
3+
from aikido_zen.vulnerabilities import run_vulnerability_scan
4+
5+
6+
@before
7+
def _execute(func, instance, args, kwargs):
8+
kind = "sql_injection"
9+
op = "clickhouse_driver.Client.execute"
10+
query = get_argument(args, kwargs, 0, "query")
11+
run_vulnerability_scan(kind, op, args=(query, "clickhouse"))
12+
13+
14+
@on_import("clickhouse_driver", package="clickhouse_driver")
15+
def patch(m):
16+
"""
17+
patching module clickhouse_driver
18+
- patches clickhouse_driver.Client.execute
19+
"""
20+
patch_function(m, "Client.execute", _execute)

0 commit comments

Comments
 (0)