Fluently specifying taint-flow queries with fluentTQL
Goran Piskachev, Johannes Sp\"ath, Ingo Budde, Eric Bodden

TL;DR
This paper introduces fluentTQL, a Java-based fluent DSL for specifying taint-flow queries that is more user-friendly for developers and adaptable across different taint analysis tools, improving vulnerability detection accuracy.
Contribution
The paper presents fluentTQL, a new internal Java DSL for taint-flow queries, with formal semantics and validation across multiple analysis tools, enhancing usability and expressiveness.
Findings
Successfully expressed 11 security vulnerability types in Java.
Detected all known taint-flows in OWASP WebGoat with Boomerang.
High usability scores in developer user study.
Abstract
Previous work has shown that taint analyses are only useful if correctly customized to the context in which they are used. Existing domain-specific languages (DSLs) allow such customization through the definition of deny-listing data-flow rules that describe potentially vulnerable taint-flows. These languages, however, are designed primarily for security experts who are knowledgeable in taint analysis. Software developers consider these languages to be complex. This paper presents fluentTQL, a query language particularly for taint-flow. fluentTQL is internal Java DSL and uses a fluent-interface design. fluentTQL queries can express various taint-style vulnerability types, e.g. injections, cross-site scripting or path traversal. This paper describes fluentTQL's abstract and concrete syntax and defines its runtime semantics. The semantics are independent of any underlying analysis and…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsWeb Application Security Vulnerabilities · Security and Verification in Computing · Software Engineering Research
