github / github/codeql

False positive: MongoDB no sql injection

Open
#20,455 2 comments 0 reactions 0 assignees View on GitHub
false-positive
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

CodeQL (go/sql-injection) flags it when user input flows into any MongoDB query methods, which is great. However, there doesn't seem to be a way to fix the alert at all. There's no specific recommendations for MongoDB.

I spent some time digging into how CodeQL does the detections and I tried to figure out if there's any barrier I could use to fix the alert, but no luck.

Encapsulating user input in `bson` and input sanitisation also do not help.

Note that we use GHAS, which uses CodeQL default suites. As far as I understand, there is no easy way to just override the rule and we don't want to manually close them.

Contributor guide

Open the contributing guide

Research direction

Start with the go/sql-injection query and its MongoDB query-method modeling; reproduce the reported flow using user input, bson wrapping, and sanitization. Done means the valid MongoDB case is no longer flagged, or the issue has a documented CodeQL/GHAS remediation path.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, mongodb
Domain
databases, security
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.