trailofbits / vast

VAST is an experimental compiler pipeline designed for program analysis of C and C++. It provides a tower of IRs as MLIR dialects to choose the best fit representations for a program analysis or further program abstraction.
https://trailofbits.github.io/vast/
Apache License 2.0
369 stars 23 forks source link

Configurable taint analysis #193

Open xlauko opened 1 year ago

xlauko commented 1 year ago

Design and create a taint analysis library on top of vast. It should be inter translation unit analysis.

We need to design API to query the user for possible points in other translation units.

pgoodman commented 1 year ago

Desirable features:

I think a data flow analysis may be a nice foundation, then tainting is built upon a data flow analysis. E.g. the tainting would be a layer on top, that could maintain per-path state, decide if a data flow step is accepted/rejected as a tainting step, etc.