Yes, passthrough and endScope would be useful to us. The former because we differentiate between just usage (e.g. variable was assigned null and then used, that is, dereferenced) and propagation of taint.
The latter is useful for explaining why we report memory and resource leaks.
As for lambda , it might be useful to separate it from just a call , but I guess not absolutely necessary.
k
From: Larry Golding (Myriad Consulting Inc) [mailto:
v-lgold@microsoft.com]
Sent: Tuesday, October 02, 2018 12:42 PM
To: 'O'Neil, Yekaterina Tsipenyuk' <
katrina@microfocus.com>; Michael Fanning <
Michael.Fanning@microsoft.com>; 'OASIS SARIF TC Discussion List' <
sarif@lists.oasis-open.org>
Subject: RE: [sarif] More threadFlowLocation.kind values
Also, yes, as you noted, some results are purely informational (result.level == note ) or explicitly denote a success (result.level == pass ), so again sanitizer is useful.
As for passthrough : we do have usage value, meaning at this location, data is used . But we can certainly consider adding taintedDataUsage if you would find it useful.
We can also add endScope if you would find it useful.
From:
sarif@lists.oasis-open.org <
sarif@lists.oasis-open.org >
On Behalf Of Larry Golding (Comcast)
Sent: Tuesday, October 2, 2018 9:04 AM
To: 'O'Neil, Yekaterina Tsipenyuk' <
katrina@microfocus.com >; Michael Fanning <
Michael.Fanning@microsoft.com >; 'OASIS SARIF TC Discussion List' <
sarif@lists.oasis-open.org >
Subject: RE: [sarif] More threadFlowLocation.kind values
We changed our mind because (Paul or Michael, correct me if I am wrong) Grammatech needed a property that could guide their tool s UI to put icons in the margin indicating (for example), that a true branch was taken.
You make an interesting point about sanitizer : presumably, if a datum passes through a sanitizer, it will not trigger a result for use of tainted data . But I can imagine a scenario where two pieces of tainted data enter the system and
only one is sanitized