INTER-PROCEDURAL TAINT GRAPH

Inter-Procedural Data Flow DAG

Track untrusted input propagation across controllers, services, and queries to identify the exact sanitizer bypass.

TAINT SOURCE
req.body.searchQuery
routes/api.ts:L14
→
CONTROLLER
searchController.handle()
controllers/search.ts:L28
→
SANITIZER GAP
No Escaping Applied
Bypassed Validation
→
DANGEROUS SINK
db.queryRaw(sql)
db/postgres.ts:L92

Taint Flow Analysis: SINK

The user parameter is passed across 3 stack frames without input sanitization or parameterized bindings, resulting in direct execution at PostgreSQL sink.