Hi all,
TL;DR: I ask for permission to start an official pilot project together with LFX Security and Snyk + Call for contributors and maintainers who want to participate in the pilot program.
At the previous Jenkins Contributor Summit we discussed Securing Jenkins Delivery Pipelines and, specifically, developer tools we would like to adopt to discover issues with dependencies, licenses and the codebase (
meeting notes).
LFX Security, a
Snyk-based service provided by the Linux Foundation, is one of the tools we discussed and added to our wishlist. LFX Security is a result of the partnership between the Linux Foundation and Snyk.
Discovery status. After the summit I spent some time getting access to the
Jenkins profile on LFX Security. It was created for us automatically as a CDF member project. As you may see in the screenshots below, the results are quite funny. There is a HUGE number of false positives which IMO is a blocker for further adoption.
Root cause: Unique Jenkins plugin packaging. We use JAR dependencies to declare both library and plugin requirements. Then Maven HPI Plugin (or Gradle JPI Plugin) analyzes the dependency tree, properly packages Jenkins plugin files with libraries, and generates metadata used by Jenkins to resolve plugin dependencies. This engine is unique to Jenkins and not supported by other tools, they consider all dependencies on the Jenkins core and plugins as real dependencies to be bundled. Hence a huge number of false positives due to dependencies on old Jenkins core/plugin versions containing vulnerabilities published by the Jenkins project (we are a CNA, thanks to Daniel Beck and the team).
I have started exploring LFX Security, and apparently we had no way of resolving the issue.due to the lack of the admin interface and APIs. Only the per-prepo configuration as code with CVE ignore lists is available, but it does not look feasible with 2500+ repositories used by Jenkins. Semi-manual management is also a no go as you may guess.
Meeting with Snyk and the LFX Security Team. After discussing with the Linux Foundation Team, we reached out to Snyk and scheduled a call on April 28th. From the Jenkins side we had me and Olivier Verning there, Daniel Beck, Mark Waite and Wadeck Follonier were also invited. You can find the summary and the recording/meeting notes links below.I did not send an invite in public, because of the confidentiality status of the discussion. But now we can share it in public
- Wendy Swank from Snyk presented the LFX Security 2.0 platform - a new generation of LFX Security. It is under internal testing at the moment, and it is expected to address our needs so that LFX Security becomes useful for projects of Jenkins scale.
There was a short demo, see the recording link below.
- The timeline for the pilot is TBD, there is no time commitment for the LFX Security 2.0 release
- The Jenkins project is invited to participate in the LFX Security 2.0 pilot program after they finish internal testing.
- As a part of this offer, we will get direct assistance from the Snyk and LFX teams while setting up our scanning pipelines
- If the project is successful, Jenkins would do a joint announcement with Snyk and LFX Security of LFX Security 2.0. We will be also referenced through the LF and Snyk marketing channels and events.
The proposal is to start the pilot from a small list of the repositories controlled by the pilot project participants: Jenkins core, its libraries, and some plugins from maintainers who are interested to participate in the pilot project.
Call for feedback:
- Would you approve doing an official pilot project together with Snyk and LFX Security?
- Would you like to participate as a contributor?
- Would you like your plugin to participate in the pilot project?
Thanks for any feedback,
Oleg Nenashev
Links. Disclaimer: Many of the topics represent future state or great feature ideas not in product (on both LFX + Snyk side) at this time
Meeting notes from
Slides: “Snyk + LFX Security”by Wendy Swank (current state, LFX Security 2 plans and roadmap)
Recording (passcode: %C7wv4mt)
LFX Security stats for Jenkins:
