Skip to content

Commit be0c26f

Browse files
authored
Merge pull request #7617 from github/henrymercer/js-atm-update-alert-messages
JS: Update alert messages for ML-powered queries
2 parents cb0cc8d + ffa4135 commit be0c26f

File tree

4 files changed

+16
-32
lines changed

4 files changed

+16
-32
lines changed

javascript/ql/experimental/adaptivethreatmodeling/src/NosqlInjectionATM.ql

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,11 @@ import ATM::ResultsInfo
1616
import DataFlow::PathGraph
1717
import experimental.adaptivethreatmodeling.NosqlInjectionATM
1818

19-
from
20-
DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score,
21-
string scoreString
19+
from DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score
2220
where
2321
cfg.hasFlowPath(source, sink) and
2422
not isFlowLikelyInBaseQuery(source.getNode(), sink.getNode()) and
25-
score = getScoreForFlow(source.getNode(), sink.getNode()) and
26-
scoreString = getScoreStringForFlow(source.getNode(), sink.getNode())
23+
score = getScoreForFlow(source.getNode(), sink.getNode())
2724
select sink.getNode(), source, sink,
28-
"[Score = " + scoreString + "] This may be a NoSQL query depending on $@ " +
29-
getAdditionalAlertInfo(source.getNode(), sink.getNode()), source.getNode(),
30-
"a user-provided value", score
25+
"(Experimental) This may be a database query that depends on $@. Identified using machine learning.",
26+
source.getNode(), "a user-provided value", score

javascript/ql/experimental/adaptivethreatmodeling/src/SqlInjectionATM.ql

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,11 @@ import experimental.adaptivethreatmodeling.SqlInjectionATM
1616
import ATM::ResultsInfo
1717
import DataFlow::PathGraph
1818

19-
from
20-
DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score,
21-
string scoreString
19+
from DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score
2220
where
2321
cfg.hasFlowPath(source, sink) and
2422
not isFlowLikelyInBaseQuery(source.getNode(), sink.getNode()) and
25-
score = getScoreForFlow(source.getNode(), sink.getNode()) and
26-
scoreString = getScoreStringForFlow(source.getNode(), sink.getNode())
23+
score = getScoreForFlow(source.getNode(), sink.getNode())
2724
select sink.getNode(), source, sink,
28-
"[Score = " + scoreString + "] This may be a js/sql result depending on $@ " +
29-
getAdditionalAlertInfo(source.getNode(), sink.getNode()), source.getNode(),
30-
"a user-provided value", score
25+
"(Experimental) This may be a database query that depends on $@. Identified using machine learning.",
26+
source.getNode(), "a user-provided value", score

javascript/ql/experimental/adaptivethreatmodeling/src/TaintedPathATM.ql

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,11 @@ import ATM::ResultsInfo
1616
import DataFlow::PathGraph
1717
import experimental.adaptivethreatmodeling.TaintedPathATM
1818

19-
from
20-
DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score,
21-
string scoreString
19+
from DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score
2220
where
2321
cfg.hasFlowPath(source, sink) and
2422
not isFlowLikelyInBaseQuery(source.getNode(), sink.getNode()) and
25-
score = getScoreForFlow(source.getNode(), sink.getNode()) and
26-
scoreString = getScoreStringForFlow(source.getNode(), sink.getNode())
23+
score = getScoreForFlow(source.getNode(), sink.getNode())
2724
select sink.getNode(), source, sink,
28-
"[Score = " + scoreString + "] This may be a js/path-injection result depending on $@ " +
29-
getAdditionalAlertInfo(source.getNode(), sink.getNode()), source.getNode(),
30-
"a user-provided value", score
25+
"(Experimental) This may be a path that depends on $@. Identified using machine learning.",
26+
source.getNode(), "a user-provided value", score

javascript/ql/experimental/adaptivethreatmodeling/src/XssATM.ql

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,11 @@ import ATM::ResultsInfo
1717
import DataFlow::PathGraph
1818
import experimental.adaptivethreatmodeling.XssATM
1919

20-
from
21-
DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score,
22-
string scoreString
20+
from DataFlow::Configuration cfg, DataFlow::PathNode source, DataFlow::PathNode sink, float score
2321
where
2422
cfg.hasFlowPath(source, sink) and
2523
not isFlowLikelyInBaseQuery(source.getNode(), sink.getNode()) and
26-
score = getScoreForFlow(source.getNode(), sink.getNode()) and
27-
scoreString = getScoreStringForFlow(source.getNode(), sink.getNode())
24+
score = getScoreForFlow(source.getNode(), sink.getNode())
2825
select sink.getNode(), source, sink,
29-
"[Score = " + scoreString + "] This may be a js/xss result depending on $@ " +
30-
getAdditionalAlertInfo(source.getNode(), sink.getNode()), source.getNode(),
31-
"a user-provided value", score
26+
"(Experimental) This may be a cross-site scripting vulnerability due to $@. Identified using machine learning."
27+
+ "a user-provided value", score

0 commit comments

Comments
 (0)