Add support for multi file taint tracking#1
Merged
Conversation
4023ed8 to
020e361
Compare
tim-thacker-nullify
approved these changes
Apr 10, 2026
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Previously, taint propagation stopped at file boundaries, so flows that passed through imported helpers or module-level bindings were missed. This PR adds project-scoped taint tracking for rules that opt into
interfile: true, with the strongest new coverage around Python import/package flows and supporting callback/HOF stabilization elsewhere.Rather than introducing a separate analysis pipeline, this reuses the existing taint summary machinery and extends it with a shared per-rule interfile context.
What changed
interfile: trueas an extension of the existingtaint_intrafilesummary flow, so the same signature and call-graph machinery can work across files.Stability and propagation fixes included here
on,addEventListener), and carrying Arg-shaped parameter assumptions into function and lambda summaries.Test coverage
Current limits and assumptions