[Question] how to define propagations of Java lambda functions?
Open
question
- Dominant language
- OCaml
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 19h 36m
- Merged PRs (30d)
- 13
Description
This question is about how to define propagations of Java lambda functions.
Consider a Java map example:
```
HashMap m = ...; // create a map
m.put("k1", taint_source); // add a taint source into the map
m.forEach((k, v) -> sink_f(v)); // enumerate the map items, and pass the values to a sink function
```
Currently, the pulse analysis won't propagate taint_source to v in the lambda function. How can we introduce such a propagation?
Something like the following doesn't work:
```
{ "procedure_regex": "java\\.util\\.\\(Map\\|HashMap\\).*\\.forEach",
"taint_target": ["ArgumentPositions", [0]]
}
```
Is there a work-around?
Thanks!
Contributor guide
Assessment
This issue has not been assessed yet.