Django is a full-featured Python web framework. HttpRequest exposes request data; the ORM Manager.raw() and Cursor.execute() are SQL injection sinks when the SQL is built from user input. Template rendering via mark_safe bypasses auto-escaping (XSS sink).
.HttpRequest.GET().HttpRequest.POST().HttpRequest.COOKIES().HttpRequest.body().Manager.raw().mark_safe().HttpRequest.GET()Sourcerequest.GET: QueryDict
URL query parameters. All values user-controlled.
return.HttpRequest.POST()Sourcerequest.POST: QueryDict
POST form data. User-controlled.
return.HttpRequest.COOKIES()Sourcerequest.COOKIES: dict[str, str]
Request cookies. User-controlled.
return.HttpRequest.body()Sourcerequest.body: bytes
Raw HTTP request body. User-controlled.
return.Manager.raw()SinkManager.raw(raw_query: str, params: Sequence = None, ...) -> RawQuerySet
Executes a raw SQL query against the ORM. SQL injection sink when raw_query is built from user input.
0.mark_safe()Sinkdjango.utils.safestring.mark_safe(s: str) -> SafeString
Declares a string as safe, bypassing template auto-escaping. XSS sink on user input.
0| FQN | Field | |
|---|---|---|
| django | fqns[0] | |
| django.http.HttpRequest | fqns[1] | |
| django.db.models.Manager | fqns[2] |
Wrong FQN → 0 findings. Verify with: change fqns to garbage → must produce 0 results.
from codepathfinder.go_rule import PyDjango