Similar to how we scan our dependencies using OWASP vulnerability
scans (links below) we are working on a solution to scan our Docker
images as well.

This topic was initially introduced at the Pulsar community meeting on
2023-12-21 and we decided to expand the discussion to a wider audience
before proceeding.

Ultimate Goal: Create CVE-free Pulsar Docker container images

Immediate Goal: Create Pulsar Docker container images w/ no newly
introduced CVEs

We are working on a prototype
(https://github.com/onobc/github-actions-sandbox) that uses Trivy in a
Github action workflow to scan a container(s) in a scheduled manner.

Plan is as follows:

Step 1: Introduce a scheduled Github Action workflow that performs the scan

Step 2: Trigger the scan when the containers are rebuilt to prevent
publishing w/ CVEs

We chose to iteratively introduce the scan first via an offline
schedule as it is a non-intrusive (Step 1), low-risk entry point.
This benefit is also the downside (tradeoff) in that there is nothing
to prevent changes from introducing new CVEs into newly built
container images. Humans are not reliable at polling a resource for an
error before proceeding w/ their work.

As such, the intention is to continue (Step 2) and move the trigger
into the CI pipeline at the proper point so that if new CVEs are
introduced, the pipeline fails (user is blocked and issue is
addressed). Long term, rather than "new CVE introduced" we would like
it to be if "any CVE exists then block".

Does anyone have objections to using Trivy for the scanner tool? If
so, please explain.

Does anyone else have any objections, concerns, or direction before we
proceed w/ the above plan?

Thanks,
Chris

Trivy container scan prototype: https://github.com/onobc/github-actions-sandbox

Current OWASP dependency scanner links:
* https://jeremylong.github.io/DependencyCheck/dependency-check-maven/
* 
https://github.com/apache/pulsar/blob/8beac8b12ef7c0ef54529fbb7e4e76c54dea6283/pom.xml#L2428
* 
https://github.com/apache/pulsar/blob/master/.github/workflows/ci-owasp-dependency-check.yaml#L30

Reply via email to