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

Refactor fuzzing implementations to support go native feature #2417

Closed
10 tasks done
Tracked by #3040
pjbgf opened this issue Feb 10, 2022 · 4 comments · Fixed by fluxcd/source-controller#965
Closed
10 tasks done
Tracked by #3040

Refactor fuzzing implementations to support go native feature #2417

pjbgf opened this issue Feb 10, 2022 · 4 comments · Fixed by fluxcd/source-controller#965
Assignees
Labels
area/security Security related issues and pull requests
Milestone

Comments

@pjbgf
Copy link
Member

pjbgf commented Feb 10, 2022

Flux has recently implemented an initial coverage of fuzzing across its repositories (xref #2002).
At the time of implementation golang did not offer native fuzz testing support, which is yet to be released in golang 1.18.

The proposed refactoring would:

  • Build fuzzers using compile_native_go_fuzzer instead of compile_go_fuzzer.
  • Review need to depend on github.com/AdaLogics/go-fuzz-headers.
  • Better integrate with existing tests and reuse private funcs used within controller testing.
  • Reuse testenv instances across multiple executions to decrease test setup time.

Repositories to be refactored:

  • source-controller
  • kustomize-controller
  • helm-controller
  • notification-controller
  • pkg
  • image-reflector-controller
  • image-automation-controller

Dependencies for this work:

  • oss-fuzz to support golang native fuzzing
  • golang 1.18 to be officially released
  • Target repository to be upgraded to golang 1.18
@ilanpillemer
Copy link

@pjbgf Go 1.18 has officially landed.

@pjbgf
Copy link
Member Author

pjbgf commented Mar 28, 2022

@ilanpillemer thanks for the nudge, issue updated accordingly.

We probably will need some upstream dependencies to move on to Go 1.18 before we can do the same - last time around the key dependency was Kubernetes-related if my memory serves me well.

@pjbgf
Copy link
Member Author

pjbgf commented Sep 28, 2022

Source controller is the only outstanding controller, which will be dealt with after fluxcd/source-controller#879 is merged.

@pjbgf pjbgf modified the milestones: GA, Bootstrap GA Nov 2, 2022
@pjbgf
Copy link
Member Author

pjbgf commented Nov 2, 2022

Now that fluxcd/source-controller#944 has been merged, this is no longer blocked and the SC work is now set to "up-next".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/security Security related issues and pull requests
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants