Thank you for taking interest in contributing to Trivy!
Every Pull Request should have an associated GitHub issue link in the PR description. Note that issues are created by Trivy maintainers based on feedback provided in a GitHub discussion. Please refer to the issue and discussion pages for explanation about this process. If you think your change is trivial enough, you can skip the issue and instead add justification and explanation in the PR description.
Your PR is more likely to be accepted if it focuses on just one change.
There's no need to add or tag reviewers.
If a reviewer commented on your code or asked for changes, please remember to respond with comment. Do not mark discussion as resolved. It's up to reviewer to mark it resolved (in case if suggested fix addresses problem properly). PRs with unresolved issues should not be merged (even if the comment is unclear or requires no action from your side).
Please include a comment with the results before and after your change.
Your PR is more likely to be accepted if it includes tests (We have not historically been very strict about tests, but we would like to improve this!).
If your PR affects the user experience in some way, please update the README.md and the CLI help accordingly.
It is not that strict, but we use the title conventions in this repository.
Each commit message doesn't have to follow the conventions as long as it is clear and descriptive since it will be squashed and merged.
fix(oracle): handle advisories with ksplice versions
docs(misconf): add comparison with Conftest and TFsec
chore(deps): bump go.uber.org/zap from 1.19.1 to 1.20.0
NOTE: please do not use chore(deps): update fanal and something like that if you add new features or fix bugs in Trivy-related projects.
The PR title should describe what the PR adds or fixes even though it just updates the dependency in Trivy.
Trivy is composed of several repositories that work together:
Trivy is the client-side, user-facing, command line tool.
vuln-list is a vulnerability database, aggregated from different sources, and normalized for easy consumption. Think of this as the "server" side of the trivy command line tool. There should be no pull requests to this repo
vuln-list-update is the code that maintains the vuln-list database.
trivy-db maintains the vulnerability database pulled by Trivy CLI.
go-dep-parser is a library for parsing lock files such as package-lock.json and Gemfile.lock.