feat: add user search helpers#8
Conversation
|
❌ [ERROR] SQL Injection Vulnerability: Direct string concatenation of user input into SQL query. The Fix: Use SQLAlchemy's parameter binding instead: query = text("SELECT id, email, full_name FROM \"user\" WHERE full_name LIKE :name")
return session.exec(query, {"name": f"%{name}%"}).all()Target: backend/app/crud_search.py:12 |
|
❌ [ERROR] SQL Injection Vulnerability: String formatting of user-controlled statuses into SQL IN clause. The Fix: Use parameterized queries with dynamic binding: placeholders = ",".join([f":status_{i}" for i in range(len(statuses))])
params = {f"status_{i}": s for i, s in enumerate(statuses)}
result = session.exec(
text(f"SELECT count(*) FROM \"user\" WHERE status IN ({placeholders})"),
params
)Also: the bare Target: backend/app/crud_search.py:21 |
SummaryThis PR introduces two critical SQL injection vulnerabilities in
The proposed fix plan references unrelated files ( |
Adds search_users_by_name and count_users_by_status for the user-admin search feature.