sdk/python/Databases/PyMysqlDb
Databases

PyMysqlDb

MySQLdb (mysqlclient) is a C-extension MySQL driver. Cursor.execute() is an SQL injection sink when the query is built without %s placeholders.

2 sinks
Taint flow0 sources 2 sinks
Sinks — dangerous call
.execute()
.executemany()

Sinks

.execute()Sink
#
Signature
Cursor.execute(query: str, args=None) -> int

Executes a query. SQL injection sink.

tracks:0
.executemany()Sink
#
Signature
Cursor.executemany(query: str, args: Sequence) -> int

Batched query execution. Same injection risk.

tracks:0

Other Methods

.connect()Neutral
#
Signature
MySQLdb.connect(host='localhost', user=None, passwd='', ...) -> Connection

Opens a MySQL connection.

Fully-Qualified Names

FQNField
MySQLdbfqns[0]
MySQLdb.cursors.Cursorfqns[1]

Wrong FQN → 0 findings. Verify with: change fqns to garbage → must produce 0 results.

Import

rule.py
from codepathfinder.go_rule import PyMysqlDb