Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interprocedural Taint Analysis #254

Open
jubnzv opened this issue Jan 24, 2025 · 0 comments
Open

Interprocedural Taint Analysis #254

jubnzv opened this issue Jan 24, 2025 · 0 comments
Assignees
Labels
area:ir Everything related to the IR and corresponding internals enhancement New feature or request
Milestone

Comments

@jubnzv
Copy link
Member

jubnzv commented Jan 24, 2025

We should define a path-sensitive interprocedural analysis suitable to be used in all the detectors and store it to the IR:

  • path-sensitivity is required since detectors like UnprotectedCall (New detector: UnprotectedCall #235) need access to paths in order to check if taints are guarded in conditions
  • consider receivers and their arguments as entry points and taints
  • track contract fields as a source of taint (without path sensitivity)
  • to handle loops I would use limited unrolling and approximate results (accepting partial loss of path information)

The suitable approach seems to be using IFDS as described in the original paper which should be extended with path-sensitive tracking where required.

@jubnzv jubnzv added area:ir Everything related to the IR and corresponding internals enhancement New feature or request labels Jan 24, 2025
@jubnzv jubnzv added this to the v0.8 milestone Jan 24, 2025
@jubnzv jubnzv self-assigned this Jan 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:ir Everything related to the IR and corresponding internals enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant