Use synthetic fields to improve taint precision

This commit is contained in:
Tony Torralba
2021-10-07 17:00:58 +02:00
parent 0325c07bd9
commit 91efb61e97
3 changed files with 408 additions and 347 deletions

View File

@@ -7,3 +7,12 @@ class SliceValueFlowConf extends DefaultValueFlowConf {
super.isSource(source) or source instanceof RemoteFlowSource
}
}
class SliceTaintFlowConf extends DefaultTaintFlowConf {
override predicate allowImplicitRead(DataFlow::Node node, DataFlow::Content c) {
super.allowImplicitRead(node, c)
or
isSink(node) and
c.(DataFlow::SyntheticFieldContent).getField() = "androidx.slice.Slice.action"
}
}