Skip to content

Dataflow: Extend taint tracking interface with flow states#8401

Merged
jketema merged 4 commits intogithub:mainfrom
jketema:taint-flow
Mar 14, 2022
Merged

Dataflow: Extend taint tracking interface with flow states#8401
jketema merged 4 commits intogithub:mainfrom
jketema:taint-flow

Conversation

@jketema
Copy link
Copy Markdown
Contributor

@jketema jketema commented Mar 11, 2022

The flow state extension had to not been propagated to taint analysis, which lead to (a) a weird documentation mix and (b) having to use isBarrier and isAdditionalFlowStep in places where the user would expect isSanitizer and isAdditionalTaintStep. This PR fixes this.

I had to fix two Python libraries, a Java library and a Java query, which makes me somewhat worried this change comes a bit too late. Some advice on that would be useful. One solution would be to not mark isBarrier and isAdditionalFlowStep as final.

@jketema jketema marked this pull request as ready for review March 11, 2022 12:45
@jketema jketema requested review from a team as code owners March 11, 2022 12:45
Copy link
Copy Markdown
Contributor

@MathiasVP MathiasVP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The interface changes LGTM! I'll let @github/codeql-python and @github/codeql-java weigh in on the changes to the configurations used in the queries. I hope we can incorporate these changes even though they're potentially breaking changes. I doubt a lot of people outside the CodeQL team has started to use flow state the feature.

@atorralba
Copy link
Copy Markdown
Contributor

The Java changes LGTM 👍

As the author of the Java query using flow states, this is what I would've liked to find in the taint tracking library when I used it 😄

yoff
yoff previously approved these changes Mar 13, 2022
Copy link
Copy Markdown
Contributor

@yoff yoff left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm

hvitved
hvitved previously approved these changes Mar 14, 2022
Copy link
Copy Markdown
Contributor

@hvitved hvitved left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jketema jketema dismissed stale reviews from hvitved and yoff via a0953ae March 14, 2022 09:10
Comment thread cpp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md Outdated
Comment thread python/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md Outdated
@jketema jketema merged commit 4c2081b into github:main Mar 14, 2022
@jketema jketema deleted the taint-flow branch March 14, 2022 11:06
@owen-mc owen-mc changed the title Extend taint tracking interface with flow states Dataflow: Extend taint tracking interface with flow states Nov 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants